>On Jan 7, 10:46 am, robert bristow-johnson <r...@audioimagination.com> >wrote: > >> sounds like what you need is what we call in the audio/music DSP >> world, a "pitch detection algorithm". like AMDF or ASDF or >> autocorrelation. > >Siimilarly, in the voice processing world there is, for example: > >RAPT (Robust Algorithm for Pitch Tracking), David Talkin, in "Speech >Coding and Synthesis", edited by Kleijn and Paliwal. You'll find an >implementation in the Matlab VoiceBox Toolkit, available from "http:// >www.ee.ic.ac.uk/hp/staff/dmb/voicebox/voicebox.html". Finding a copy >of the original article is extremely difficult, however. > >HPS (Harmonic Product Spectrum), M. R. Schroeder, "Period Histogram >and Product Spectrum: New Methods for Fundamental-Frequency >Measurement", The Journal of the Acoustical Society of America, Volume >43 Number 4, 1968. > >Greg >Nice article.... This is what I was looking for... many thanks for everybody
Detect fundamental Frequency
Started by ●January 7, 2008
Reply by ●January 7, 20082008-01-07
Reply by ●January 7, 20082008-01-07
fredp wrote:>>fredp wrote: >> >> >>>Hello All, >>> >>>I am trying to detect the fundamental frequency of a non-sinusoidal >>>waveform. I do FFT on the sampled data and I get a bunch of harmonics. > > How > >>>should I go about to detect the fundamental frequency between the > > harmonic > >>>signals? >>> >>>Thank you >>> >>> >> >>Look up definition of "fundamental" and "harmonic". >>IOW you didn't ask the question you meant to ask ;) >> >> > > > Thanks Richard, > Well let me try to clear things up. I have got a square waveform. When I > put it in the frequency domain I get the fundamental frequency and > harmonics ok? Lets say the partial harmonics are greater than the > fundamental component, So the peak fft bin is not related to the > fundamental freq but to the partial one. For example, if a waveform has > three components at 2,4 and 6 Hz and assume that the 4 hz component is > stronger than 2 hz.... > > ThanksI think you are still you are missing something in visualizing your problem. Informative exercises. Calculate Fourier _series_ of a square wave. With whatever fft package you are using, calculate fft of an *INTEGER* number of full cycles of an ideal square wave. Plot it. Repeat for a non-integer number of cycles. Plot it. See also: http://en.wikipedia.org/wiki/Fourier_series (and links)
Reply by ●January 7, 20082008-01-07
>fredp wrote: >>>fredp wrote: >>> >>> >>>>Hello All, >>>> >>>>I am trying to detect the fundamental frequency of a non-sinusoidal >>>>waveform. I do FFT on the sampled data and I get a bunch ofharmonics.>> >> How >> >>>>should I go about to detect the fundamental frequency between the >> >> harmonic >> >>>>signals? >>>> >>>>Thank you >>>> >>>> >>> >>>Look up definition of "fundamental" and "harmonic". >>>IOW you didn't ask the question you meant to ask ;) >>> >>> >> >> >> Thanks Richard, >> Well let me try to clear things up. I have got a square waveform. WhenI>> put it in the frequency domain I get the fundamental frequency and >> harmonics ok? Lets say the partial harmonics are greater than the >> fundamental component, So the peak fft bin is not related to the >> fundamental freq but to the partial one. For example, if a waveformhas>> three components at 2,4 and 6 Hz and assume that the 4 hz component is >> stronger than 2 hz.... >> >> Thanks > >I think you are still you are missing something in visualizing yourproblem.> >Informative exercises. >Calculate Fourier _series_ of a square wave. >With whatever fft package you are using, calculate fft of an *INTEGER* >number of full cycles of an ideal square wave. Plot it. >Repeat for a non-integer number of cycles. Plot it. >See also: >http://en.wikipedia.org/wiki/Fourier_series (and links) >After searching around and reading a few articles here and there, I found about cepstrum analysis to be of great use in finding the fundamental frequency. Is it reliable? How is it implemented?
Reply by ●January 7, 20082008-01-07
On Jan 7, 12:01�pm, "fredp" <fred...@gmail.com> wrote:> After searching around and reading a few articles here and there, I > found about cepstrum analysis to be of great use in finding the > fundamental frequency. Is it reliable? How is it implemented?For my purposes in voice processing, I found it to be useless. YMMV. Alan V. Oppenheim and Ronald W. Shafer, Digital Signal Processing (Englewood Cliffs, New Jersey: PRENTISS-HALL, Inc., 1975), 518-520. Greg
Reply by ●January 7, 20082008-01-07
Hi, First is auto-correlate the signal with itself. This will help in filtering of any noise. now the periodicity can be found by means of zero crossing detectors. Bharat Pathak www.arithos.com>Hello All, > >I am trying to detect the fundamental frequency of a non-sinusoidal >waveform. I do FFT on the sampled data and I get a bunch of harmonics.How>should I go about to detect the fundamental frequency between theharmonic>signals? > >Thank you > > >
Reply by ●January 7, 20082008-01-07
Greg Berchin wrote:> > On Jan 7, 9:53 am, "fredp" <fred...@gmail.com> wrote: > > For example, if a waveform has > > three components at 2,4 and 6 Hz and assume that the 4 hz component > > is stronger than 2 hz.... > > It's not at all uncommon for some harmonics, or even the fundamental, > to be weak or missing entirely. In such cases you can often infer the > fundamental frequency from the differences between the frequencies of > the harmonics that are present.Right. The inference for the frequencies given by the OP (2,4 and 6) is that the fundamental freq. is 2 and therefore not at all missing as the OP seems to claim. That is, he only thinks its missing. If the frequency was 2,4 and 5 the wave pattern would repeat every 1 Hz. -jim> > Greg






