matlab的数字低通滤波器
时间: 2023-11-03 21:09:47 浏览: 32
在MATLAB中,可以使用函数“designfilt”创建数字低通滤波器。以下是一个示例代码:
```matlab
% 创建一个数字低通滤波器
Fs = 1000; % 采样率为1000Hz
Fpass = 100; % 通带截止频率为100Hz
Fstop = 150; % 阻带截止频率为150Hz
Ap = 1; % 通带最大衰减为1dB
Ast = 60; % 阻带最小衰减为60dB
lpf = designfilt('lowpassfir', 'PassbandFrequency', Fpass, 'StopbandFrequency', Fstop, 'PassbandRipple', Ap, 'StopbandAttenuation', Ast, 'SampleRate', Fs);
% 应用滤波器到信号上
t = 0:1/Fs:1; % 生成1秒钟的时间序列
x = sin(2*pi*50*t) + sin(2*pi*200*t); % 生成一个包含50Hz和200Hz的信号
y = filter(lpf, x); % 滤波器应用到信号上
% 绘制原始信号和滤波后的信号
figure;
subplot(211);
plot(t, x);
title('原始信号');
xlabel('时间(秒)');
ylabel('幅值');
subplot(212);
plot(t, y);
title('滤波后的信号');
xlabel('时间(秒)');
ylabel('幅值');
```
在上面的示例中,我们创建了一个通带截止频率为100Hz,阻带截止频率为150Hz,通带最大衰减为1dB,阻带最小衰减为60dB的数字低通滤波器,然后将其应用到一个包含50Hz和200Hz的信号上。最后,我们绘制了原始信号和滤波后的信号,以便比较它们的差异。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![m](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)