Matlab:FFT和FRF在不同频率下给出峰值?

时间:2014-03-03 09:26:01

标签: matlab fft

我试图通过瞬态时间测量来制作fft,但似乎峰值位于与测量的FRF不同的位置?我正在使用的程序(PULSE)给了我一个平均FRF,瞬态信号是这个系列的最后一个测量值。

瞬态加速度信号的fft由以下代码构成:

% loading data:
[DataST, InfoST, errmsgST]=readuff('.\steel_tight_bolt_acc_center.uff');

dt=1.52588e-05; % sampling time
Fs=1/dt/2.56; % sampling frequency
NFFT = 2^nextpow2(length(DataST{1,5}.x)); % Next power of 2 from length signal
f = Fs*linspace(0,1,NFFT/2+1); % frequency 
figure 
subplot(2,1,1) 
plot(DataST{1,7}.x,abs(DataST{1,7}.measData)) % FRF data from PULSE
title(DataST{1,7}.d1) 


subplot(2,1,2)
L=length(DataST{1,5}.x);        % length of signal
a=DataST{1,5}.measData;         % Transient data measured [m/s^2]
A=2*abs(fft(a/L));              % calculating the fft
plot(f,A(1:(length(A))/2+1))
ylabel('2*|fft(Y)/N|')
title('FFT')

但是由于结果图似乎峰位于不同的位置? enter image description here

有谁能解释我做错了什么?谢谢!

0 个答案:

没有答案