I need to compute Fourier series of an audio stream. But DFT/FFT is slow.
Are there any ways to compute Fourier series of a signal without using the Fourier transform to check if whether a frequency is present or not?
Signal Processing Stack Exchange is a question and answer site for practitioners of the art and science of signal, image and video processing. It only takes a minute to sign up.
Sign up to join this communityI need to compute Fourier series of an audio stream. But DFT/FFT is slow.
Are there any ways to compute Fourier series of a signal without using the Fourier transform to check if whether a frequency is present or not?
Make sure you do not mix up FFT and DFT, they gives identical results, but are different. DFT complexity is about $O(N^2)$ while FFT complexity is $\frac{34}{9}N\log_2(N)$. This makes a huge difference is computation time.
I do not know any faster algorithm for computing a complete spectrum than the FFT. If you need a subset of the spectrum (only few frequency bins), you could look at Goertzel Algorithm.
According to wikipedia, as a rule of thumb, Gortzel algorithm will be faster than FFT if : $$ M < \frac{5N_2}{6N}\log_2(N_2)$$
Where
If you know the exact number of non-zero sinusoids in the audio stream signal, then you can use parametric methods such as MUSIC or ESPIRIT : http://cnx.org/content/m10588/latest/