DSPRelated.com
Forums

how, if at all, do AMDF & ASDF relate to fourier transforms?

Started by ben April 18, 2005
in article 1114003551.544271.15350@l41g2000cwc.googlegroups.com, Peter K. at
p.kootsookos@iolfree.ie wrote on 04/20/2005 09:25:

> Randy Yates wrote: > >> What is ASDF? I think you mean "AMDF" and not "ADMF". I found AMDF >> is "average mean distance function," but also "American Macular >> Degeneration Foundation. > > A,S,D, and F are the first four left-hand letters of the middle row of > the letters on the keyboard. :-)
here's a continuous-time version of it: +inf AMDF(Tau, t0) = integral{ |x(t-Tau) - x(t+Tau)| w(t-t0) dt} -inf +inf ASDF(Tau, t0) = integral{ (x(t-Tau) - x(t+Tau))^2 w(t-t0) dt} -inf where w(t-t0) is a window function centered about t0 (that makes the integral non-infinite). implementing this in discrete-time is another issue. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
ack!  i knew i hit the "Post Now" button prematurely.  correction below.

in article 1114003551.544271.15350@l41g2000cwc.googlegroups.com, Peter K. at
p.kootsookos@iolfree.ie wrote on 04/20/2005 09:25:

> Randy Yates wrote: > >> What is ASDF? I think you mean "AMDF" and not "ADMF". I found AMDF >> is "average mean distance function," but also "American Macular >> Degeneration Foundation. > > A,S,D, and F are the first four left-hand letters of the middle row of > the letters on the keyboard. :-)
here's a continuous-time version of it: +inf AMDF(Tau, t0) = integral{|x(t-Tau/2) - x(t+Tau/2)| w(t-t0) dt} -inf +inf ASDF(Tau, t0) = integral{(x(t-Tau/2) - x(t+Tau/2))^2 w(t-t0) dt} -inf where w(t-t0) is a window function centered about t0 (that makes the integral non-infinite). this is a not precisely as it appears in the literature, but is my refining of the definition. you look for a value of Tau (other than Tau = 0) that minimizes the AMDF or ASDF, that that value of Tau might be equal to your period, T, of x(t) if it is displaying any periodic properties. when you Google AMDF (the more common acronym) all by itself, you have to get to the 2nd Google page to see any real hits. so Google AMDF along with "pitch detection" and then you can see what the acronym is about. Googling ASDF along with "pitch detection" results in far fewer hits, even though i think that squaring is more tractable mathematically than the magnitude function. if the window function is wide enough, you can relate the ASDF to auto-correlation. the autocorrelation will hit a max when the ASDF hits a minimum. there's a paper at http://www.electronics.dit.ie/staff/ aschwarzbacher/research/ICSL2002.pdf that i am looking at. might be good. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
robert bristow-johnson <rbj@audioimagination.com> writes:

> in article 1114003551.544271.15350@l41g2000cwc.googlegroups.com, Peter K. at > p.kootsookos@iolfree.ie wrote on 04/20/2005 09:25: > > > Randy Yates wrote: > > > >> What is ASDF? I think you mean "AMDF" and not "ADMF". I found AMDF > >> is "average mean distance function," but also "American Macular > >> Degeneration Foundation. > > > > A,S,D, and F are the first four left-hand letters of the middle row of > > the letters on the keyboard. :-) > > here's a continuous-time version of it: > > +inf > AMDF(Tau, t0) = integral{ |x(t-Tau) - x(t+Tau)| w(t-t0) dt} > -inf
Hmm. Kinda like a "magnitude correlator" over a window of time.
> > +inf > ASDF(Tau, t0) = integral{ (x(t-Tau) - x(t+Tau))^2 w(t-t0) dt} > -inf > > > > where w(t-t0) is a window function centered about t0 (that makes the > integral non-infinite).
Thanks for the calculus, man. -- Randy Yates Sony Ericsson Mobile Communications Research Triangle Park, NC, USA randy.yates@sonyericsson.com, 919-472-1124
robert bristow-johnson wrote:
> Googling > ASDF along with "pitch detection" results in far fewer hits, even though i > think that squaring is more tractable mathematically than the magnitude > function.
The math is definitely nicer, but I still prefer AMDF. Against my boss's recommendation, I replaced ASDF with AMDF, and it didn't work nearly as well. When I dug into it, I found that if the waveshape repeated, but with growing volume, ASDF matched the louder period, while AMDF matched the period with closer volume. It was a rather crude implementation of a playback speed shifter, and I barely knew what I was doing, so take this with a grain of salt. -- Jim Thomas Principal Applications Engineer Bittware, Inc jthomas@bittware.com http://www.bittware.com (603) 226-0404 x536 Sometimes experience is the only teacher that works - Mike Rosing
Ben,

Right.  That is something I couldn't answer then, the question about
which is more efficient.  I realize where your understanding of the
topic is, because it took me a while to think in terms of frequency
too...jusk like thinking about AC in complex domain.

But, in all honesty, I really think you should at least understand the
power of a fourier transform, and how a FFT works.  The FFT is a
quicker version of a fourier transform, that should be implemented in
computers (because it uses less instructions).

Any comb filter that can be implented is going to probably have to
count peaks (which is something that is a pain in the ass, trust me),
find the duration between adjacent ones, and then provide a filter, or
give you the info you need.

So, what I'm getting at is, I would be surprised that if you want
something more than just a bandpass filter that can be externally
adjusted (like an audio equalizer) were to execute less instructions,
take less time, and be more efficient than using an FFT to get what you
want.

I don't mean to offend or judge what you're doing, but looking back on
some of my previous projects, I wished I would have just known more
about frequency domain characteristics...cause thinking in the time
domain is...time consuming :).

Hope this helps.
Ben

Jim Thomas wrote:
> The math is definitely nicer, but I still prefer AMDF. Against my > boss's recommendation, I replaced ASDF with AMDF, and it didn't work > nearly as well.
Oops. That is, I replaced AMDF with ASDF. AMDF worked better. -- Jim Thomas Principal Applications Engineer Bittware, Inc jthomas@bittware.com http://www.bittware.com (603) 226-0404 x536 Sometimes experience is the only teacher that works - Mike Rosing