失配滤波副峰抑制 matlab
时间: 2023-10-11 11:14:41 浏览: 155
Matlab 滤波
3星 · 编辑精心推荐
在 Matlab 中实现失配滤波副峰抑制,可以使用 fdesign.notch 函数设计一个带通滤波器,然后使用 design 函数将其转换为数字滤波器。具体步骤如下:
1. 使用 fdesign.notch 函数设计一个带通滤波器,指定中心频率和带宽。
2. 使用 design 函数将该滤波器转换为数字滤波器。
3. 将原始信号输入到数字滤波器中进行滤波,得到抑制副峰后的信号。
以下是一个示例代码:
```matlab
% 设计带通滤波器
fs = 1000; % 采样率
f0 = 50; % 中心频率
bw = 10; % 带宽
d = fdesign.notch('N,F0,BW', 2, f0/fs, bw/fs);
h = design(d, 'digital');
% 生成测试信号
t = 0:1/fs:1;
x = sin(2*pi*50*t) + sin(2*pi*150*t) + sin(2*pi*250*t);
% 滤波
y = filter(h, x);
% 绘图
subplot(2,1,1);
plot(t, x);
title('原始信号');
subplot(2,1,2);
plot(t, y);
title('滤波后信号');
```
阅读全文