Algotron: TI DSP Software For Telecoms  
   A TI DSP Third Party Network Member
     

    Home | Modem Data Pumps | Telephony | Audio | Utilities | Consultancy | Contact Us

 

DTMF Receiver Software for Texas TMS320C54x/C55x & C2xx/C5x DSPs

This software detects digits dialled by standard Dual Tone Multi-Frequency (DTMF) telephones. 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.

Rquirements on a DTMF receiver conflict. Detection parameters - tone absolute and relative (twist) levels, tone frequencies, digit-on and -off timings - have specified tolerance ranges, either side of which the DTMF receiver must definitely register or not register the digit conditions. There may be interference from noise and dialtone. False digits must not be simulated by speech. Administrations specifications differ. This DTMF receiver performs extremely well, and its DSP resource use is very efficient.

The software is in the form of four callable subroutines: two are for loading default parameters and initialising per-channel memory, one is for accessing any newly-detected digit, and the main one is for per-sample processing. The code can operate at sample rates of 8.0kHz or 9.6kHz. It can easily be used in a multi-channel mode: a pointer is set to each per-channel block of memory at each sub-routine call. By making multiple sub-routine calls, the code can be operated on blocks of samples. The code is load-balanced so there is no MIPS variation per sample. To suit application variations, certain digit detection parameters are made programmable.


Performance: the conditions under which the DTMF digit states, either a new digit when in the "pause" state or else a pause(non-digit) when in the "digit" state, are definitely detected (PASS) or not-detected (FAIL) are as follows. The symbols Pt(min -45dBm), Rf/r(max 10dB) and * signify that the parameter is programmable - all levels are per DTMF tone where full-scale is assumed +6dBm:

  • Frequency offset: <2% is PASS ; >3% is FAIL

  • Signal thresholds: <-3dBm & >Pt is PASS ; >-3dBm or <Pt is FAIL

  • Twist - forward: >Rf is FAIL

  • Twist - reverse: >Rr is FAIL

  • Signal duration: >40ms is PASS ; <20ms is FAIL

  • Inter-digit pause*: >40[>30]ms is PASS ; <20[<10]ms is FAIL

  • Speech immunity: <0.5 digits (average) triggered by Mitel test tape

  • Noise interference: 1000/1000 digits detected for S-N-R >= +12dB

  • Dialtone interference: 1000/1000 digits detected for S-DT-R >= -12dB

The code meets all known specifications eg ITU Q.24 Table A-1 and the Mitel CM7291 data sheet.

DSP Load:

  • MIPS: 0.64 - 8.0kHz sampling ; 0.77 - 9.6kHz sampling

  • Data memory: 18(general)+28(per-channel) words

  • Program memory: 0.63k words


Availability: NOW, with user's guide containing test results - integration support can be provided.

Summary Caller ID | DTMF Tx | DTMF Rx | R2 Tx | R2 Rx | Exch TD