Forum Discussion
Altera_Forum
Honored Contributor
14 years ago --- Quote Start --- Could you please suggest how to estimate the energy of a sinusoid? I need an algorithm to differentiate between the sinusoids from different channels. I am thinking of using fft megacore , do you Gurus think thats a good idea? :) --- Quote End --- Do you know the frequency of the sinusoids, or do you have to determine that too? If so, how closely spaced will the sinusoids be? This is required to determine the number of points needed in your transform. How accurate do you need to estimate the power and frequency of the sinusoid? If you do not have a window function prior to the FFT, then you will experience 'scalloping loss', i.e., if the sinusoid frequency is such that it lies between spectral channels (FFT output channels), its amplitude will be down by -3.92dB, relative to what would be detected if it was on a spectral channel. What dynamic range do you need, i.e., what is the largest and smallest sinusoid you need to measure? What is the noise level expected in the signal? Before thinking about the hardware design, you should first model the signals. Go and download the sine_plus_noise.m MATLAB script I posted here and start changing parameters in the file http://www.alteraforum.com/forum/showthread.php?t=30284&page=3 Cheers, Dave