> -----Original Message----- > From: Bob Ammerman [SMTP:RAMMERMAN@PRODIGY.NET] > Sent: Wednesday, 24 May 2000 11:32 > To: PICLIST@MITVMA.MIT.EDU > Subject: Re: DTMF Decoding with a PIC (sigma-delta) > > Just a quick note: > > Somewhere I recently found a reference to a paper (PHd thesis?) on the web > that describes decoding DTMF using a relatively low power microcontroller. > I > think, in fact, that the reference might be buried on our very own PICLIST > archive. I seen to remember that they used some pretty sophisticated > adaptive signal processing algorithms, but that their raw CPU requirements > were very modest. > > Good luck, > > Bob Ammerman > RAm Systems > > Yes the amount of processing power to decide the DTMF tone is "smallish", however, the external ADC is excessive, and on top of that we have only a 20mS period in which to decide what DTMF tone it is! (Worst case), with levels down to -26dBmO An FFT may seem to be the solution, but IIR filters are even faster, the problem here is the quantisation noise. To remove the noise at the input and improve the detection quality (50/60Hz is a big problem) we can inject a random noise into the summing junction of a 2nd order adaptive filter to control the coefficent adjustment (The same can be done with the 50Hz), this will also let us provide a step function for the received data (Gain / AGC). But unless that the PIC is free for other tasks, it is often better to use a DTMF chip. TI have an app note on implementing a 30 channel DTMF detector on a 320, take a look at it, you will see that the filtering side is not excessive. Dennis