首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从频率响应函数中去除已知谐波

从频率响应函数中去除已知谐波
EN

Stack Overflow用户
提问于 2015-07-10 16:20:34
回答 1查看 973关注 0票数 1

我有一个输入的正弦波,它在时域中,频率为10 of。我正在尝试在MATLAB中编写代码来开发一个二维模态分析问题的频率响应函数。

在输出中,在10 to处有一个占主导地位的峰值,这显然是由于输入谐波所致。

问题:

在matlab中,从响应(输出)中消除这种已知谐波干扰的最佳方法是什么?

另外,当干扰谐波未知时,我该怎么办?

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2015-07-12 15:06:25

谢谢你的建议,我找到了需要的答案。

我使用带阻滤波器来解决这个问题:

代码语言:javascript
复制
order=2;
lowFreq=9.5;
hiFreq=10.5;
[b,a] = butter(order, [lowFreq hiFreq]/(Fs/2), 'stop');
filtered_response = filter(b,a,u(1,:));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31335831

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档