当前位置:首页>科技>正文

根据已知,利用双线性变换法设计IIR数字低通滤波器 基于双线性变换法的IIR数字巴特沃思带阻滤波器设计

2023-04-26 10:24:23 互联网 未知 科技

 根据已知,利用双线性变换法设计IIR数字低通滤波器 基于双线性变换法的IIR数字巴特沃思带阻滤波器设计

根据已知,利用双线性变换法设计IIR数字低通滤波器

双线性的话:由模拟的形式可以看出已经是低通的形式,所以直接进行代入变换。公式S = (2/T)*(Z-1)/(Z 1)可得S = (Z-1)/(Z 1),代入后即得到了H(Z) = (Z 1)^2/(3*Z^2 1)

希望我的回答对你有帮助,谢谢

那我就补充一下设计的思路吧:
得到数字指标(Wn等)=》用双线性变换为模拟低通指标(Omega = (2/T)tan(w/2))=》归一化模拟指标=》利用通带衰减与阻带衰减的值和Butterworth或chebyshev的表将阶数N及归一化的模拟系统函数=》将这个再经过去归一化得到想要的滤波器类型(比如说高通,带通,这个题是低通,所以将s = s_/OmegaC)=》再用双线性变换法变为数字滤波器,步骤是我上面写的。

谢谢,希望这次可以解释清楚^_^

基于双线性变换法的IIR数字巴特沃思带阻滤波器设计

T=2 %设置采样周期为2
fs=1/T %采样频率为周期倒数
Wp=0.25*pi/T
Ws=0.35*pi/T %设置归一化通带和阻带截止频率
Ap=20*log10(1/0.9)
As=20*log10(1/0.18) %设置通带最大和最小衰减
[N,Wc]=buttord(Wp,Ws,Ap,As,s) %调用butter函数确定巴特沃斯滤波器阶数
[B,A]=butter(N,Wc,s) %调用butter函数设计巴特沃斯滤波器
W=linspace(0,pi,400*pi) %指定一段频率值
hf=freqs(B,A,W) %计算模拟滤波器的幅频响应
subplot(2,1,1)
plot(W/pi,abs(hf)/abs(hf(1))) %绘出巴特沃斯模拟滤波器的幅频特性曲线
grid on
title(巴特沃斯模拟滤波器)
xlabel(Frequency/Hz)
ylabel(Magnitude)
[D,C]= bilinear (B,A,fs) %调用双线性变换法
Hz=freqz(D,C,W) %返回频率响应
subplot(2,1,2)
plot(W/pi,abs(Hz)/abs(Hz(1))) %绘出巴特沃斯数字低通滤波器的幅频特性曲线
grid on
title(巴特沃斯数字滤波器)
xlabel(Frequency/Hz)
ylabel(Magnitude)

求一个matlab程序设计,双线性变换法的低通滤波器的设计

fs=1000    %采样频率 1KHz
fp=100     %通带截止频率 
fst=300    %阻带截止频率 
%归一化频率
wp=2*pi*fp/fs
ws=2*pi*fst/fs

Rp=3       %通带最大衰减系数 
Rs=20      %阻带最大衰减系数 
Ts=1/fs    %采样周期 
m=256      %采样点数 
Wp=2/Ts*tan(wp/2)  %模拟通带截止频率 
Ws=2/Ts*tan(ws/2)  %模拟阻带截止频率 

[N,Wn]=buttord(Wp,Ws,Rp,Rs,s)  %选择模拟巴特沃斯低通滤波器的最小阶数 
[z,p,k]=buttap(N)          %创建巴特沃斯模拟低通滤波器 
[Bp,Ap]=zp2tf(z,p,k)       %由零点、极点、增益确定传输函数的分子与分母的系数 
[b,a]=lp2lp(Bp,Ap,Wn)      %模拟低通滤波器到模拟低通滤波器的转换 

%用双线性变换法得到数字低通滤波器系数
[bz,az]=bilinear(b,a,fs)   
figure(1) 
freqz(bz,az,m)       %数字滤波器复频响应