fast fourier transform functions function

1 次查看(过去 30 天)
I have a question about fft function. I have a set of data consisting of two columns; one is time in seconds, and the other is amplitude. now I need to find the seven dominant frequencies buried in the noisy time signal, and also I know that very low frequencies (less than 0.01Hz) can spoof my low-frequency output unless I subtract the mean of the data from the time series before taking the Fourier transform. I need a hint to start writing the code for this, I read the Matlab help page, but it confused me more. any help that can explain this more to me will be appreciated, Thank you

采纳的回答

Image Analyst
Image Analyst 2012-10-7
Can't you just FFT the signal, then call sort() and take the 7 frequencies with the largest signal?
By the way, how did you get your noisy signal? Could a Lock-in Amplifier help improve your signal?
  3 个评论
Salar
Salar 2012-10-7
I get error for this code, and it's not working,
Image Analyst
Image Analyst 2012-10-7
编辑:Image Analyst 2012-10-7
Well, you define f, but then redefine it. Was the output of the sin() function supposed to be "data" instead of f? Secondly, you don't use A and t. Thirdly, your signal is just one frequency, not lots of them plus noise. Fourth, you define freq, which has nothing to do with anything. Basically this program is a mess. Try again. Next time start with data, then fft the data, then take the real part or magnitude and sort it. Then take the 7 highest components.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Fourier Analysis and Filtering 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by