1
我有一个频率为10Hz的时域输入正弦波。我正在尝试在MATLAB中编写代码来为2dof模态分析问题开发频率响应函数。从频率响应函数中删除已知谐波
在输出中,有在10Hz的一个主导的峰值,这显然是由于输入谐波
问:
这是最好的方法,以消除此称为谐波matlab中响应(输出)的干扰?
另外,当干扰谐波未知时,我该怎么办?
Fs=1/dt;
NFFT = 2^nextpow2 (L); %L is the length of signal
Y = fft (Output_time(1,:), NFFT)/L; %Response in time domain to frequency domain
X=fft(Input_time,NFFT)/L; %Input in time to frequency domain
f = Fs/2 * linspace (0,1, NFFT/2 + 1); %Frequencies
Output_frequency=2 * abs (Y (1: NFFT/2 + 1));
Input_frequency=2 * abs (X (1: NFFT/2 + 1));
FRF=(Y(1: NFFT/2 + 1)./X(1: NFFT/2 + 1)); %Frequency Response Functions
如果你知道它可以过滤它!学习一些关于过滤器的知识,也许只是一个带通滤波器可以完成这项工作 –
该网站[dsp.se]可能对这些问题有帮助 – 2015-07-11 02:29:32