DTMF / Tone Detect and Suppress​

DUAL TONE Multi-Frequency Signaling Tones​

Adaptive Digital’s tone detector has been deployed since 1995.

DTMF tones

Features List

DETECTOR

  • eXpress DSP compliant
  • ITU Q.24 compliant
  • Meets Bellcore GR506, ITU Q455 specifications
  • Robust detection
  • Low per-channel memory requirements
  • Low false alarm rate
  • C-callable
  • Designed for multi-channel operation
  • Programmable Frame Size

SUPPRESSOR

  • Rapid tone suppression
  • Minimal distortion to speech during false early detection
  • C-Callable
  • Designed for multi-channel operation

Availability

Platforms
Arm ® Devices Armv9-A || Armv7-A || Armv7-M / Armv8-M | Legacy Cortex-M3, ARM9E/11
Texas Instruments – TI TMS320C7000 C7x, TI TMS320C6000 C64x/C64x+/C66x, C674x, TMS320C5000 C55x / C54x
Windows DLL x86
Linux x86

ADT DTMF is available on the above Platforms: Other configurations are available upon request.

Specifications

NOTE: We specify MIPS (Millions of Instructions Per Second) as MCPS (Millions of Instruction Cycles Per Second). Unless otherwise specified, peak MIPS are indicated.

↓  Click on links below to view specification tables. 

Note: All CPU usage given in MIPS (also known as MCPS or MHz)

DTMF ARM Cortex-A8 / A9 / A15

CPU UTILIZATION & MEMORY REQUIREMENTS
All Memory usage is given in units of bytes.
FunctionMIPs Per-ChannelProgram MemoryData MemoryPer-Channel Data MemoryScratch Memeory
DTMF Detect331043792152400
CPRG Detect1.611522992152400
Tone Detect Common3376

DTMF ARM Cortex-M4

CPU UTILIZATION & MEMORY REQUIREMENTS
All Memory usage is given in units of bytes.
FunctionMIPs Per-ChannelProgram MemoryData MemoryPer-Channel Data Memory
DTMF Detect419583442148

DTMF ARM Cortex-M33/M35 – estimate

CPU UTILIZATION & MEMORY REQUIREMENTS
All Memory usage is given in units of bytes.
FunctionMIPs Per-ChannelProgram MemoryData MemoryPer-Channel Data Memory
DTMF Detect3.219583442148

Note: All CPU usage given in MIPS (also known as MCPS or MHz)

DTMF C64x+ / C66x / C674x

CPU UTILIZATION & MEMORY REQUIREMENTS
All Memory usage is given in units of bytes.
FunctionMIPs Per-ChannelProgram MemoryData MemoryPer-Channel Data Memory
DTMF Detect0.325923710152
MFR1 Detect0.2215043272152
MFR2 FDetect0.3312481736152
MFR2 RDetect0.3312481736152
CprgDetect0.1813122992152
Common246400
Suppress0.38118400

DTMF C64x

CPU UTILIZATION & MEMORY REQUIREMENTS
All Memory usage is given in units of bytes.
FunctionMIPs Per-ChannelProgram MemoryData MemoryPer-Channel Data Memory
DTMF Detect0.321763710152
MFR1 Detect0.2214403272152
MFR2 FDetect0.3312481736152
MFR2 RDetect0.3312481736152
CprgDetect0.1814082992152
Common259200
Suppress0.38169600

DTMF C54x / C55x

CPU UTILIZATION & MEMORY REQUIREMENTS
All Memory usage is given in units of16 bit-words.
LOW MemoryLow MIPS
FunctionMIPs Per-ChannelProgram MemoryData MemoryPer-Channel Data MemoryMIPs Per-ChannelProgram MemoryData MemoryPer-Channel Data Memory
DTMF Detect0.8360740550.36601170472
MFR1 Detect0.6958766550.31598162672
MFR2 FDetect0.9255160550.5849282872
MFR2 RDetect0.9255160550.5849282872
CprgDetect0.5561032550.25576149672
Common689160597160
Suppress0.22398168000.2236800

Note: All CPU usage given in MIPS (also known as MCPS or MHz)

DTMF C64x+ / C66x / C674x

CPU UTILIZATION & MEMORY REQUIREMENTS
All Memory usage is given in units of bytes.
FunctionMIPs Per-ChannelProgram MemoryData MemoryPer-Channel Data Memory
DTMF Detect0.325923710152
MFR1 Detect0.2215043272152
MFR2 FDetect0.3312481736152
MFR2 RDetect0.3312481736152
CprgDetect0.1813122992152
Common246400
Suppress0.38118400

DTMF C64x

CPU UTILIZATION & MEMORY REQUIREMENTS
All Memory usage is given in units of bytes.
FunctionMIPs Per-ChannelProgram MemoryData MemoryPer-Channel Data Memory
DTMF Detect0.321763710152
MFR1 Detect0.2214403272152
MFR2 FDetect0.3312481736152
MFR2 RDetect0.3312481736152
CprgDetect0.1814082992152
Common259200
Suppress0.38169600

DTMF C54x / C55x

CPU UTILIZATION & MEMORY REQUIREMENTS
All Memory usage is given in units of16 bit-words.
LOW MemoryLow MIPS
FunctionMIPs Per-ChannelProgram MemoryData MemoryPer-Channel Data MemoryMIPs Per-ChannelProgram MemoryData MemoryPer-Channel Data Memory
DTMF Detect0.8360740550.36601170472
MFR1 Detect0.6958766550.31598162672
MFR2 FDetect0.9255160550.5849282872
MFR2 RDetect0.9255160550.5849282872
CprgDetect0.5561032550.25576149672
Common689160597160
Suppress0.22398168000.2236800

Description

Detect and Suppress Tones

The Adaptive Digital Technologies Signaling Tone Detector detects Signaling tones such as DTMF, MF R1, R2 Forward, R2 Reverse, Call Progress signals. Adaptive Digital’s proprietary algorithm is robust enough to meet Bellcore GR-506, and ITU Q455 recommendations while using few CPU cycles.

In addition to carrying speech signals, the telephone network is required to carry various in-band signaling tones. Telephony equipment must pass these tones with little distortion so they can be detected by receiving equipment. While speech compression works well with speech signals, many speech compression techniques are unable to pass signaling tones without excessive distortion. For these type of signals, a tone passer, consisting of a tone detector and tone regenerator, is used to ensure the reliable passage of the signaling tones.

  • Dual Tone Multi-Frequency (DTMF)
  • Multi Frequency R1 (MFR1)
  • Multi Frequency R2 Forward (MFR2F)
  • Multi Frequency R2 Reverse (MFR2R)
  • Call Progress (CPRG)
  • Fast Dual Tone Multi-Frequency (DTMF Fast Detection)

Multi Frequency (MF) signaling is used to transmit address information and other information between interswitching-system transmission facilities. There are three variants of MF signaling – R1, R2 forward, and R2 reverse.

Call Progress signals are used to indicate the state of the call being made.

DTMF

Adaptive Digital’s proprietary DTMF algorithm at less than one half the CPU utilization measured in MIPS (Millions of
Instructions Per Second) offers more than twice the channel density compared with the nearest competitor while
maintaining strict compliance with industry specifications Bellcore/Telcordia GR506 and ITU Q455.

An optional DTMF suppressor is available to suppress DTMF tones in Voice-Over-Packet systems that employ tone
passing via out-of-band signaling. This is useful when a low rate speech compression algorithm is unable to pass the
DTMF tones without significant distortion.

The ADT DTMF Detector is capable of detecting DTMF tones on multiple channels. It is ideal for T1/E1, PBX, voice-mail,

and computer telephony applications. Adaptive Digital’s tone detector has been deployed since 1995, hosted on
numerous platforms.

DTMF refers to the signal generated when you press a digit on a telephone’s touch keypad. 

The term DTMF stems from the fact that whenever a telephone push button is pressed, the phone generates two specific tone frequencies that are the algebraic summation of the amplitude of the two frequencies. 

Four frequencies are used for the rows and four for the columns, for a total of 8 frequencies and 16 possible combinations. 

So that a voice can’t imitate the tones, one tone is generated from a high-frequency group and the other from a low frequency group of tones. The complex DTMF tone detect algorithm determines the single generated digit by extracting the two frequencies from the input signal, allowing for tolerances such as frequency offset and distortion such as additive noise, and then checking them to see if together they qualify as one of the digits. 

DTMF Tones

A DTMF detector rejects any tone frequency that is not the sum of one high and one low tone. This prevents speech and noise signals from being interpreted as DTMF tones.

Function API's

DTMF_ADT_Init(. . .)

MFR1_ADT_Init(. . .) MFR1_ADT_toneDetect(. . .)

MFR2_F _ADT_Init(. . .) MFR2_F_ADT_toneDetect(. . .)

MFR2_R _ADT_Init(. . .) MFR2_R_ADT_toneDetect(. . .)

CPRG _ADT_Init(. . .) CPRG_ADT_toneDetect(. . .)

DTMF_ADT_toneDetect(. . .) DTMF_ADT_toneSuppress(. . .)

Translate »