Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

DTMF questions in FPGA

Status
Not open for further replies.

macakolo

Member level 1
Joined
Nov 27, 2005
Messages
32
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
1,468
Hail,

I have a question that on detect DTMF from a telephone analogue signal.

I have a AD to convert analogue audio from a telephone line into digital 17bit 8Khz into a FPGA, and we would like to analysis the digital signal and for DTMF use.

One thing I am not sure is how we could tell the different frequency from the anaogue world when it has been converted int digital??

Anyone can give me some help please!!
 

I think you must implement a DSP core in your FPGA. Then, you must implement frequency detect algorithms, such as Goertzel algorithm that is best suited for DTMF detection. You could even implement a Goertzel algorithm directly to a FPGA but could be a little bit difficult.
 

Implementing the Goertzel Algorithm even without DSP is not a difficult task, provided you have an FPGA with in built multiplier. e.g. Xilinx Spartan III and up

We have done it for 14 bit input and consumes only 15 % of the resources in Virtex II.

Amit
 

Hail, Thank you so much for your advice, will you happen to give me some examples on your previous work which I can follow on implementing on my Xilinx 3E??

And regarding to the algorithm, do you have a link of the info I can check on!!

Thank you!!
 

also you can try to do FFT, there are app notes on xilinx web site
 

Goertzel algorithm is a special kind of FFT algorithm that use for
DTMF decoding. Here is a quick link about it

https://en.wikipedia.org/wiki/Goertzel_algorithm
https://ptolemy.eecs.berkeley.edu/papers/96/dtmf_ict/www/node3.html

You should also take a look at analog devices
ADSP-21XX Signal processing application handbook

The printed copy has a very detail explaination of this algorithm.
Unfortunately I don't seem to be able to locate it at the website,
maybe you will have better luck than me.

The Goertzel algorithm is pretty much universal frontend of
a DTMF decoder. But you will find variations regarding how
to determine the frequency and also different kinds of windowing
function. I used to use an AT&T DSP16
to do DTMF and their application note has a very simple detection
backend compared to analog device. Unfortunately I no longer
has either app note. (It was almost twenty years ago. I am no
longer in telcom industry.) You may want to also take a look at
other DSP implementation application note (such as Motorola,
analog devices, TI) just to get an idea of various style of
detection.

I don't believe it is difficult to implement this in an FPGA, especially
one with hardware multiplier (Spartan3 etc.).

Gunship
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top