DTMF
Transmitter DSP C Code
Description:
generates digit signals to standard Dual Tone Multi-Frequency (DTMF) telephone
format. With DTMF, the 16 possible digits are each signified by pairs
of tones, one from a "low" group - 697Hz, 770Hz, 852Hz, 941Hz
- and the other from a "high" group - 1209Hz, 1336Hz, 1477Hz,
1633Hz.
The C code is suitable for any
processor with an ANSI-compliant C compiler. It is designed especially
for efficient operation on low-cost fixed-point DSP- and general-purpose
micro-processors. All data memory is specified as 16-bit integer words.
Multiplies are integer 16x16-bit with 32-bit products.
The software is in the form of
four callable subroutines: one sets common-channel default parameters,
one initialises per-channel memory, one is for loading each new digit
into each digit queue, and one is for per-sample generation. The user
is responsible for supplying the codes of digits to be dialled and for
accepting each transmit sample. Digits to be dialled can be placed in
a queue whose maximum length is programmable.
To suit applications, the following
parameters are made user-programmable: low- and high-tone transmit powers,
digit-on timing, digit-off timing. For test purposes, continuous transmission
can be set. Sample rates of 8.0kHz or 9.6kHz can be operated. A user's
guide is supplied.
Specification:
The values PL, PH and Ton, Toff are user-programmable.
| Per-tone
power: |
PL
& PH where PL,PH -3dBm (+6dBm is total peak power) |
| Tone
accuracy: |
0.06Hz
error |
| Digit
on-timing: |
Ton
\ with granularity in sample-rate periods - max. is 3.5secs. |
| Digit
off-timing: |
Toff
/ |
Processor
Load:
| MIPS# |
Data
memory (words) |
Prog
memory (words)# |
| 0.6 |
4(common)
+ 12*(per channel) |
0.5k |
-
- #example figures from compiling for the TI TMS320C5000(C55x) DSP processor
at 8.0kHz sampling
- *for 16-digit queue
Availability:
NOW, sale is under licence - integration support offered
|
|