Actually, I thought the frequencies were chosen so no two DTMF frequencies are harmonically related. Are you sure the beat frequencies are always different? If so, it should be relatively easy to LPF your input (not BPF around the DTMF frequencies) so you get ONLY the beat, and check the frequency of that instead, as you suggest. Of course, by using only one frequency, you run the risk of noise artificially triggering your decoder. CIAO - Martin R. green elimar@bigfoot.com ---------- From: Pierce Nichols[SMTP:pn30@COLUMBIA.EDU] Sent: Wednesday, September 10, 1997 2:04 PM To: PICLIST@mitvma.mit.edu Subject: Re: DTMF decoding On Thu, 11 Sep 1997, Mike Smith wrote: > > Somewhat difficult on the average PIC, these FFT's! Well, there's always the ever-popular look-up table. I also thought of another one that is a little less processor intensive. It is still a raw idea, but bear with me: The DTMF tones are on the scale of one kHz -- no problem for the average PIC to sample accurately. You put a filter with its passband straddling the DTMF range right in front of the ADC input. You then count the period between maximum peaks (i.e., when the two tones are in phase) to bring out the beat frequency, which should tell you which tone-pair is on the line, because the tones were selected by bell labs so that their beat frequencies are all different. You stick that into a lookup table and read off the hex digit. As I said, it's off the cuff, but it ought to work. OTH, a DTMF decoder chip is very cheap, and they generally have a 4-bit parallel interface. Pierce