DTMF decoder

Started by 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?

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

> 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.

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.

>
>   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.
>
>
> 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

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
>
> > 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

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.

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
> 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
>
> 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.
>
>
> 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

```