用matlab实现布莱克曼窗设计一个数字带通滤波器的程序。设计指标为:R=1dB, Wa=0.35m,Wz= 0.65m, R,=60dB, Wa=0.2T, Wz=0.8T。给出代码
时间: 2024-03-20 12:45:15 浏览: 47
基于matlab布拉克曼窗的数字滤波器设计.pdf
5星 · 资源好评率100%
好的,以下是一个基于MATLAB的布莱克曼窗数字带通滤波器的程序,实现了上面所述的设计指标:
```matlab
% 设计指标:R=1dB,Wa=0.35m,Wz= 0.65m,R,=60dB,Wa=0.2T,Wz=0.8T
% 通带范围:0.35m~0.65m,阻带范围:0.2T~0.8T
% 通带最大衰减量:1dB,阻带最小衰减量:60dB
% 选择巴特沃斯滤波器进行设计
Wp = [0.35 0.65]; % 通带截止频率
Ws = [0.2 0.8]; % 阻带截止频率
Rp = 1; % 通带最大衰减量
Rs = 60; % 阻带最小衰减量
[n, Wn] = buttord(Wp, Ws, Rp, Rs); % 求取滤波器阶数和截止频率
[b, a] = butter(n, Wn, 'bandpass'); % 求取滤波器系数
% 采用布莱克曼窗进行滤波器设计
N = length(b) - 1; % 求取滤波器的阶数
w = blackman(N+1); % 计算布莱克曼窗系数
h = b .* w'; % 滤波器系数向量
freqz(h, 1) % 绘制滤波器的频率响应特性
```
以上就是一个简单的MATLAB程序,实现了布莱克曼窗数字带通滤波器的设计。希望能对你有所帮助。
阅读全文