【发布时间】:2015-07-12 15:06:24
【问题描述】:
我有一个频率为 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
【问题讨论】:
-
知道的可以过滤!了解一些关于滤波器的知识,因为也许只有带通滤波器就可以完成这项工作
-
网站Signal Processing可能对此类问题有所帮助