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."
how, if at all, do AMDF & ASDF relate to fourier transforms?
Started by ●April 18, 2005
Reply by ●April 20, 20052005-04-20
Reply by ●April 20, 20052005-04-20
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."
Reply by ●April 20, 20052005-04-20
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} > -infHmm. 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
Reply by ●April 20, 20052005-04-20
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
Reply by ●April 20, 20052005-04-20
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
Reply by ●April 20, 20052005-04-20
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