DTMF decoder

Started by ivan September 5, 2006
Hi everyone,

I am designing a dtmf decoder using the Goertzel algoritm, the problem is
that I have +/-5% error on my sampling rate timing. Does anyone know if this
is going to be a problem when calculating the results?

Thanks in advance
ivan



"ivan" <wolfsafety@wolfsafety.it> ha scritto nel messaggio
news:edk1s6$pu6$1@news.flashnet.it...
> Hi everyone, > > I am designing a dtmf decoder using the Goertzel algoritm, the problem is > that I have +/-5% error on my sampling rate timing. Does anyone know if
this
> is going to be a problem when calculating the results? >
sorry error is +/-10% not 5
> Thanks in advance > ivan > > >

ivan wrote:

>> >>I am designing a dtmf decoder using the Goertzel algoritm,
Goertzel algorithm is usually not the best way to do the DTMF decoding. The direct multiplication by sin/cos is simpler and better. the problem is
>>that I have +/-5% error on my sampling rate timing. Does anyone know if > > this > >>is going to be a problem when calculating the results? >> > > > sorry error is +/-10% not 5 >
This is not going to work at all, since the DTMF frequencies are spaced only about 10% from one to another. For the proper operation, you need the accuracy of 1% or better. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
"Vladimir Vassilevsky" <antispam_bogus@hotmail.com> ha scritto nel messaggio
news:kngLg.15510$%j7.4453@newssvr29.news.prodigy.net...
> > > ivan wrote: > > >> > >>I am designing a dtmf decoder using the Goertzel algoritm, > > Goertzel algorithm is usually not the best way to do the DTMF decoding. > The direct multiplication by sin/cos is simpler and better.
Do you know any link or resource I can look about this?
> > the problem is > >>that I have +/-5% error on my sampling rate timing. Does anyone know if > > > > this > > > >>is going to be a problem when calculating the results? > >> > > > > > > sorry error is +/-10% not 5 > > > > This is not going to work at all, since the DTMF frequencies are spaced > only about 10% from one to another. For the proper operation, you need > the accuracy of 1% or better. > > Vladimir Vassilevsky > > DSP and Mixed Signal Design Consultant > > http://www.abvolt.com
Hello Ivan,

> > I am designing a dtmf decoder using the Goertzel algoritm, the problem is > that I have +/-5% error on my sampling rate timing. Does anyone know if this > is going to be a problem when calculating the results? >
The error rate directly affects how far off the detection will be. I do not believe you can tolerate 5% for DTMF. TI app note slaae16.htm talks a bit about DTMF decoding (and encoding). But best would be to obtain a copy of the "official" DTMF specs. -- Regards, Joerg http://www.analogconsultants.com
It would make a difference if it was a known constant error in sample
rate, which could be adjusted for.

Also if the sample rate is essentially constant for a given phone call,
if you can detect (not decode) the presence of DTMF, you may be able to
estimate what the sample rate is from the tones received and then
adjust for it.

What is the cause of the +-10%?

Dirk Bell
DSP Constultant


ivan wrote:
> "ivan" <wolfsafety@wolfsafety.it> ha scritto nel messaggio > news:edk1s6$pu6$1@news.flashnet.it... > > Hi everyone, > > > > I am designing a dtmf decoder using the Goertzel algoritm, the problem is > > that I have +/-5% error on my sampling rate timing. Does anyone know if > this > > is going to be a problem when calculating the results? > > > > sorry error is +/-10% not 5 > > > Thanks in advance > > ivan > > > > > >

dbell wrote:


> Also if the sample rate is essentially constant for a given phone call, > if you can detect (not decode) the presence of DTMF, you may be able to > estimate what the sample rate is from the tones received and then > adjust for it.
No. 1. The 10% is as big as the spacing between the adjacent DTMF tones. 2. According to the standard, the DTMF decoder should ignore any frequencies outside the tolerance of +/- 3%.
> > What is the cause of the +-10%?
The RC oscillator clocked MCU, perhaps. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Vladimir,

We have not established that his tones must adhere to the standard at
this point.

If an algorithm is expecting samples at 8Ksps and I know I have 6Ksps,
there are adjustments I can make if I want the system to work (without
resampling).

Similarly if I tape recorded the tones on a recorder with a 15% speed
error and played them back on a player that had no error, it does not
mean that I cannot recover the tones.

Whether the tones need to adhere to the standard depends on the
application and the processing used to recover them.

Dirk Bell
DSP Consultant

For example, if I tape a sequence of tone
Vladimir Vassilevsky wrote:
> dbell wrote: > > > > Also if the sample rate is essentially constant for a given phone call, > > if you can detect (not decode) the presence of DTMF, you may be able to > > estimate what the sample rate is from the tones received and then > > adjust for it. > > No. > > 1. The 10% is as big as the spacing between the adjacent DTMF tones. > 2. According to the standard, the DTMF decoder should ignore any > frequencies outside the tolerance of +/- 3%. > > > > > What is the cause of the +-10%? > > The RC oscillator clocked MCU, perhaps. > > Vladimir Vassilevsky > > DSP and Mixed Signal Design Consultant > > http://www.abvolt.com
Hello Dirk,

> > Similarly if I tape recorded the tones on a recorder with a 15% speed > error and played them back on a player that had no error, it does not > mean that I cannot recover the tones. >
I often does. Unless you know the error prior to signal processing or can be sure that all or at least most tones will occur and a nifty algorithm can calculate the error from the ratios. -- Regards, Joerg http://www.analogconsultants.com
Vladimir Vassilevsky wrote:
> ivan wrote: > >> >> I am designing a dtmf decoder using the Goertzel algoritm, > > Goertzel algorithm is usually not the best way to do the DTMF > decoding. The direct multiplication by sin/cos is simpler and > better.
What is the Goertzel algorithm? Where is it described? Back about 1970 I designed a decoder that was highly noise immune, and basically measured periods between zero crossings, after a high/low band splitting filter. It also controlled the relative amplitudes of the high/low tones. I described it at an IEEE meeting, and it was never patented [1]. [1] The PPOE involved wanted to patent it several years after we had disagreed on other matters, and a patent application would have been illegal (over 1 year from publication), so I refused to sign the application. If they did it on their own I have the ammunition to destroy it, besides which any patent that old is no longer in force. -- "I'm the commander--see, I don't have to explain -- I don't need to explain why I say things. That's the interesting thing about being the President. Maybe somebody needs to explain to me why they say something, but I don't feel like I owe anybody an explanation." - George W. Bush, 2002-11-19