How i can determine sinusoid frequency ?
8 次查看(过去 30 天)
显示 更早的评论
Hi; Pleas can anyone explain how i can determine sinusoid frequency if I have a step response where the data form is two vectors one for the acceleration and the other is time, when i transfer the plot from time domain to frequency domain i use fft; however i am confused how i can specify f0 when i read
I will appreciated for any explanation. Thanks in advance
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/162474/image.jpeg)
0 个评论
采纳的回答
Star Strider
2017-4-1
编辑:Star Strider
2017-4-2
It could be difficult to get a dominant peak with the signal you posted, since it could be a heterodyne of several frequencies. You will have to take the fft (link) of your signal and use your judgement.
It will be easier if you subtract the mean of the time-domain signal before you take the fft (link). This will eliminate the ‘0 Hz’ peak.
EDIT — 01:48 UCT 2017 04 02
The true resonant frequencies of your system are determined by the eigenvalues of your ‘A’ matrix. For your simulation, they appear to be the eigenvalues of:
Aqcar = [0 1 0 0;-kus/mus -c/mus k/mus c/mus;0 -1 0 1;0 c/ms -k/ms -c/ms];
更多回答(1 个)
Image Analyst
2017-4-1
Subtract the mean and take the fft using fft() or pwelch(). Then scan it and look for the max magnitude. You didn't supply data so I can't do much other than speculate some code:
spectrum = fft(yourSignal - mean(yourSignal));
[maxValue, indexOfMaxValue] = max(abs(spectrum));
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Spectral Measurements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!