Is there a formula to calculate the frequency of a phantom fundamental based on the harmonics, and would this formula be applied directly to the energy bins of an FFT?
2 Answers
Methods for estimating a fundamental pitch frequency (missing or not) from an FFT result containing a series of harmonics include finding maxima in a cepstrum, the harmonic product spectrum method, and looking for clusters in histograms of the distances between frequency pairs of higher order frequency peaks that fit within psycho-acoustic filter bandwidths.. These are all more estimation algorithms that post-process an FFT result, rather than a simple formula.
AMDF, ASDF, and autocorrelation (all in the time domain) make no assumption about any energy at the fundamental, even though they make some assumption about periodicity.
-
$\begingroup$ But if the fundamental frequency is not present in the signal (not showing up in a plot of the spectrum) how can autocorrelation detect that frequency? :) This is quite tricky I think. Small experiment. I generated 100 random samples and repeated them 20 times and call the result x. $\endgroup$– niarenCommented Aug 20, 2013 at 8:13
-
$\begingroup$ If I plot the spectrum and assume fs=10kHz the 100Hz fundamental is clearly showing up. Then I apply a HPF (fc=170) to suppress the fundamental by approx. 40dB. If I plot the time signal the HPF filtered signal is clearly still 100 samples periodic even though the spectrum has very little energy at 100Hz. I wonder what would happen if I nulled out the fundamental completely... $\endgroup$– niarenCommented Aug 20, 2013 at 8:14