[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