Just a thought - The fact that the original software worked poorly where there was an amplitude difference in the two tones suggests that the higher amplitude tone predominated in its control of the zero crossing points (makes sense). Just maybe you could improve results with two zero crossing inputs with a high pass and low pass filter feeding each. As the tone pairs are in two frequency groups one input would be biased towards detecting zero crossings in each group. The filters' cross-over point would be intermediate between the two tone groups. The hardware for this would be very simple - possibly as simple as two RC networks and at worst a one transistor low pass and high pass 2 pole filter. Also a second zero crossing detector. Still a fairly minimal hardware solution. Russell McMahon -----Original Message----- From: Josh Koffman To: PICLIST@MITVMA.MIT.EDU Date: Saturday, 20 May 2000 04:43 Subject: Re: DTMF Decoding with a PIC >Jim Hartmann wrote: >> >> I once wrote an autocorrelating DTMF decoder that worked pretty well. It >> worked very well in the presence of noise but it worked poorly when there >> was significant twist in the signal (one of the tones higher amplitude than >> the other). I correlated a zero crossing input against two tone references >> in real time, 8khz sample rate, taking one row and one column of the DTMF >> tones at a time, and 0 and 90 degree phase shifts of each tone. If >> interested I can send more details. >> >> :-Jim > >Jim, >I'd be interested in some more details of this. >TIA >Josh Koffman >joshy@mb.sympatico.ca >