[Asterisk-Users] Answering Machine Detection

Chris Ziomkowski cziom at jsg.co.th
Wed Oct 29 09:09:27 MST 2003


At 09:17 AM 10/29/2003 -0500, you wrote:
>Might want to write a new
> > "energy detector" algorithm in dsp.c though based on a wideband/low Q
> > resonator approach (move the pole way in towards the origin)
> > as opposed to
> > narrow band goertzels (pole on the unit circle). More robust
> > for this type
> > of work.
>
>Where does one go to learn this terminology and the math to implement it?

Caltech. Take PP's class. Just don't fail.

Seriously, any introductory book on filter design. When you design a 
filter, you write out the transfer function. zeroes in the numerator are 
called "zeroes". Zeroes in the denominator are called "poles". A filter 
will pass frequencies near its poles. It will suppress frequencies near its 
zeroes. As you move poles out towards the unit circle, the filter becomes 
less stable. You can imagine a "hitting" a filter with a burst at a single 
frequency. A filter with poles near the origin will die off very quickly. 
As you move towards the unit circle, the filter will "ring" longer and 
longer. On the unit circle there is no dampening at all. Outside of the 
unit circle, the filter becomes divergent. The order of the filter is 
simply the number of zeroes.

Goertzel (named after the guy who invented them) filters have their poles 
on the unit circle. Asterisk uses these to recognize DTMF and other tones. 
They are easy to calculate mathematically, but they have terrible 
properties if you need a wide frequency response over a sustained period. A 
resonator is essentially the same filter but moved inside the unit circle 
so that it will relax over time. It takes a few more operations to 
calculate, but you have alot more control over the final shape.

If you are interested, I would suggest getting a book on the subject. Just 
go to Amazon and find one you think meets your requirements. There are 
several.  Any book on Digital Signal Processing will have at least a few 
chapters on filter design. Pay specific attention to the chapters on IIR 
filters. They will teach you about poles, zeroes and stability.

I would also recommend this tutorial on the web if you're interested:

http://www.dewtronics.com/tutorial.html

Chris




>--
>Scanned for viruses and dangerous content at
>http://www.oneunified.net and is believed to be clean.
>
>_______________________________________________
>Asterisk-Users mailing list
>Asterisk-Users at lists.digium.com
>http://lists.digium.com/mailman/listinfo/asterisk-users




More information about the asterisk-users mailing list