DSPRelated.com
Forums

FFTs of FFTs

Started by jaso...@gmail.com June 24, 2006
Hi,

A friend of mine was describing a technique for pitch analysis to me
today. If the input consists of mostly harmonic components; then it's
FFT has, of course, some nice evenly spaced spikes. If you take the FFT
of -that-, then you can relate that back to the pitch. My question is:
does that technique have a name?

Thanks!
Jason Cipriani

<jason.cipriani@gmail.com> wrote in message
news:1151129962.640947.214890@c74g2000cwc.googlegroups.com...
> Hi, > > A friend of mine was describing a technique for pitch analysis to me > today. If the input consists of mostly harmonic components; then it's > FFT has, of course, some nice evenly spaced spikes. If you take the FFT > of -that-, then you can relate that back to the pitch. My question is: > does that technique have a name? > > Thanks! > Jason Cipriani >
If you take the log periodogram and then FFT you get Cepstrum. M.P -- Posted via a free Usenet account from http://www.teranews.com
jason.cipriani@gmail.com wrote:
> Hi, > > A friend of mine was describing a technique for pitch analysis to me > today. If the input consists of mostly harmonic components; then it's > FFT has, of course, some nice evenly spaced spikes. If you take the FFT > of -that-, then you can relate that back to the pitch. My question is: > does that technique have a name?
With a small modification, Cx = fft(Log(fft(x))); where Log means the complex logarithm, this is the Cepstrum. It appears to have been a hot topic of research in the early/mid 70s, but seem to have faded in interest since then. You may want to have a look on the paper "A new phase unwrapping algorithm"(?) by Tribolet from around 1975-76 to find out why. Rune
Cool, thanks!

PS @ Al Clark: Thanks, by the way, for your response on the "DSP FAQ
Up-to-dateness" topic. Got a lot of info there I've been sorting
through, I'm pretty pumped. :)

Jason


Rune Allnor wrote:
> jason.cipriani@gmail.com wrote: > > Hi, > > > > A friend of mine was describing a technique for pitch analysis to me > > today. If the input consists of mostly harmonic components; then it's > > FFT has, of course, some nice evenly spaced spikes. If you take the FFT > > of -that-, then you can relate that back to the pitch. My question is: > > does that technique have a name? > > With a small modification, > > Cx = fft(Log(fft(x))); > > where Log means the complex logarithm, this is the Cepstrum. > It appears to have been a hot topic of research in the early/mid > 70s, but seem to have faded in interest since then. > > You may want to have a look on the paper "A new phase unwrapping > algorithm"(?) by Tribolet from around 1975-76 to find out why. > > Rune
"Rune Allnor" <allnor@tele.ntnu.no> wrote in message 
news:1151132073.823652.212150@p79g2000cwp.googlegroups.com...
> > jason.cipriani@gmail.com wrote: >> Hi, >> >> A friend of mine was describing a technique for pitch >> analysis to me >> today. If the input consists of mostly harmonic >> components; then it's >> FFT has, of course, some nice evenly spaced spikes. If >> you take the FFT >> of -that-, then you can relate that back to the pitch. My >> question is: >> does that technique have a name? > > With a small modification, > > Cx = fft(Log(fft(x))); > > where Log means the complex logarithm, this is the > Cepstrum. > It appears to have been a hot topic of research in the > early/mid > 70s, but seem to have faded in interest since then. > > You may want to have a look on the paper "A new phase > unwrapping > algorithm"(?) by Tribolet from around 1975-76 to find out > why. > > Rune >
This "small modification" has major implications. Consider that the difference between FFT and iFFT is primarily one of scaling. If you FFT an iFFT you get...?
"Rune Allnor" <allnor@tele.ntnu.no> wrote in message
news:1151132073.823652.212150@p79g2000cwp.googlegroups.com...
> > jason.cipriani@gmail.com wrote: > > Hi, > > > > A friend of mine was describing a technique for pitch analysis to me > > today. If the input consists of mostly harmonic components; then it's > > FFT has, of course, some nice evenly spaced spikes. If you take the FFT > > of -that-, then you can relate that back to the pitch. My question is: > > does that technique have a name? > > With a small modification, > > Cx = fft(Log(fft(x))); > > where Log means the complex logarithm, this is the Cepstrum. > It appears to have been a hot topic of research in the early/mid > 70s, but seem to have faded in interest since then. >
Still used extensively in vibration analysis and speech processing. M.P -- Posted via a free Usenet account from http://www.teranews.com
Hi jason,

I think ur friend may be referring to the technique published in 2001
DAFx Conference. Please note this technique is not the same as
cepstrum. Both cepstrum and 'Fourier of Fourier Tx' can however be
related to pitch
You may want to look at this paper if this is what you are actually
referring to
http://www.csis.ul.ie/dafx01/proceedings/papers/marchand.pdf

Regards,
Raghuram




jason.cipriani@gmail.com wrote:
> Hi, > > A friend of mine was describing a technique for pitch analysis to me > today. If the input consists of mostly harmonic components; then it's > FFT has, of course, some nice evenly spaced spikes. If you take the FFT > of -that-, then you can relate that back to the pitch. My question is: > does that technique have a name? > > Thanks! > Jason Cipriani
John E. Hadstate wrote:
> "Rune Allnor" <allnor@tele.ntnu.no> wrote in message > news:1151132073.823652.212150@p79g2000cwp.googlegroups.com... > > > > jason.cipriani@gmail.com wrote: > >> Hi, > >> > >> A friend of mine was describing a technique for pitch > >> analysis to me > >> today. If the input consists of mostly harmonic > >> components; then it's > >> FFT has, of course, some nice evenly spaced spikes. If > >> you take the FFT > >> of -that-, then you can relate that back to the pitch. My > >> question is: > >> does that technique have a name? > > > > With a small modification, > > > > Cx = fft(Log(fft(x))); > > > > where Log means the complex logarithm, this is the > > Cepstrum. > > It appears to have been a hot topic of research in the > > early/mid > > 70s, but seem to have faded in interest since then. > > > > You may want to have a look on the paper "A new phase > > unwrapping > > algorithm"(?) by Tribolet from around 1975-76 to find out > > why. > > > > Rune > > > > This "small modification" has major implications. Consider > that the difference between FFT and iFFT is primarily one of > scaling. If you FFT an iFFT you get...?
I said "small", not "insignificant". The DFT only works for analytic functions, i.e. functions that are continuous around the unit circle. The phase term of the Log function is not continuous. It steps up or down by 2pi each for winding. Big problem. Big, big problem. That's what Tribolet tried to solve back in -76. Rune
jason.cipriani@gmail.com wrote:
> Hi, > > A friend of mine was describing a technique for pitch analysis to me > today. If the input consists of mostly harmonic components; then it's > FFT has, of course, some nice evenly spaced spikes. If you take the FFT > of -that-, then you can relate that back to the pitch. My question is: > does that technique have a name?
It is similar to Autocorrelation, which can be calculated by FFT( |FFT(x)| ). Stefan
in article e7m48b$qq$1@paola.aioe.org, Stefan Stenzel at
stefan@REMOVETHISstenzel.com wrote on 06/25/2006 09:47:

> jason.cipriani@gmail.com wrote: >> Hi, >> >> A friend of mine was describing a technique for pitch analysis to me >> today. If the input consists of mostly harmonic components; then it's >> FFT has, of course, some nice evenly spaced spikes.
not if some of the harmonics are missing. then the spikes that you see will not necessarily be equally spaced.
>> If you take the FFT >> of -that-, then you can relate that back to the pitch. My question is: >> does that technique have a name? > > It is similar to Autocorrelation, which can be calculated by FFT( |FFT(x)| ).
needs a square and there are edge effects. it is true that the autocorrelation is FT{ |FT{x(t)}|^2 } but for a quasi-periodic tone, the FFT length might be much smaller than the tone and then windowing of some sort or another happens when you yank out N contiguous samples out of the tone and pass that to the FFT. i think that FFT{ |FFT{ zeropad( w[n]*x[n] ) }|^2 } will get you the autocorrelation of the windowed data w[n]*x[n] if half of what goes into the inside FFT is the zero pad. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."