基于matlab的fir数字滤波器设计
时间: 2023-09-16 21:07:15 浏览: 45
1. 首先需要明确所需的滤波器类型和参数,如通带边界、阻带边界、通带最大衰减、阻带最小衰减等。
2. 利用fir1函数设计滤波器,该函数可以根据指定的参数生成一组滤波器系数。
3. 利用filter函数将需要滤波的信号输入滤波器,输出滤波后的信号。
下面是一个示例代码:
% 设计一个低通滤波器,通带截止频率为0.2,阻带截止频率为0.3,通带最大衰减为0.1dB,阻带最小衰减为60dB
fs = 1000; % 采样频率
fpass = 0.2*fs/2; % 通带截止频率
fstop = 0.3*fs/2; % 阻带截止频率
apass = 0.1; % 通带最大衰减
astop = 60; % 阻带最小衰减
% 利用fir1函数设计滤波器
N = 100; % 滤波器阶数
b = fir1(N, fpass/fstop, 'low', kaiser(N+1, 2.5));
% 绘制滤波器频率响应曲线
freqz(b,1,1024,fs);
% 生成需要滤波的信号
t = 0:1/fs:1;
x = sin(2*pi*100*t) + sin(2*pi*250*t) + sin(2*pi*500*t);
% 利用filter函数进行滤波
y = filter(b,1,x);
% 绘制原始信号和滤波后的信号的时域波形和频域波形
figure;
subplot(2,2,1);plot(t,x);title('原始信号');
subplot(2,2,2);plot(t,y);title('滤波后的信号');
subplot(2,2,3);pwelch(x,[],[],[],fs);title('原始信号的功率谱密度');
subplot(2,2,4);pwelch(y,[],[],[],fs);title('滤波后的信号的功率谱密度');
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](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)