当前位置:首页 > 信号处理综合设计性实验
课 程 设 计
yulewalk - Yule-Walker滤波器设计(直接数字滤波器设计法) butter的格式如下:
[b,a] = butter(N,Wc,options) [z,p,k] = butter(N,Wc,options) [A,B,C,D] = butter(N,Wc,options)
N为滤波器的阶数,Wc为频率归一化后的3dB截频:0 < Wc < 1。
Options=’low’, ’high’, ’bandpass’, ’stop’, ’s’, 分别对应低通、高通、带通、带阻、模拟滤波器,默认情况下,为低通或带通。对于带通和带阻滤波器,Wc=[W1,W2],W1和W2分别为通带的上、下截频。
输出变量的三种格式对应着滤波器系统函数H (z)的分子分母多项式形式、零极点-增益形式和状态空间形式。若设计模拟滤波器,令Options= ’s’, 则Wc以rad/ s(归一化或非归一化)给出,因此可大于1。
例1. 设计一个数字低通滤波器,要求在0~0.2π内衰耗不大于3dB,在0.6π~π内衰耗不小于60dB。
解:若模拟低通原型采用巴特沃斯滤波器:
[N,Wc]=buttord(0.2,0.6,3,60); [b,a]=butter(N,Wc); freqz(b,a);axis([0,1,-120,0]);
- 41 -
课 程 设 计
可见,相位为非线性。
例2 使用脉冲响应不变法设计一个数字带通滤器,其指标为: 1) 2) 3)
3dB通带中心频率在 ?0 = 0.5π 上截频?c2 = 0.55π,下截频?c1 = 0.45π 在阻带?r = 0.6π处,最小衰耗A=10dB
-
设取样周期T=5π×106s,要求|?|>?0衰耗曲线单调增加。 解:(1)确定数字频率指标 omega0=0.5*pi; %通带中心频率
omegac1=0.45*pi ; omegac2=0.55*pi; Apmax=3; %通带截频 omegar2=0.6*pi; Armin=10; T=5*pi*10^(-6); %取样间隔
(2)利用脉冲响应不变法设计数字滤波器 1)
按给定数字频率求得相应的模拟角频率
wc1=omegac1/T; wc2=omegac2/T; w0=omega0/T;
omegar1=omega0-(omegar2-omega0); wr1=omegar1/T; wr2=omegar2/T; B=wc2-wc1;
2) 将指标转换为归一化模拟低通频率指标 norm_wr1=(((wr1^2)-(w0^2))/(B*wr1)); norm_wr2=(((wr2^2)-(w0^2))/(B*wr2)); norm_wc1=(((wc1^2)-(w0^2))/(B*wc1));
- 42 -
课 程 设 计
norm_wc2=(((wc2^2)-(w0^2))/(B*wc2)); 3) 设计归一化模拟低通滤波器确定归一化截频 if (abs(norm_wr1)-abs(norm_wr2))>0 norm_wr=abs(norm_wr2); else
norm_wr=abs(norm_wr1); end norm_wc=1;
确定归一化模拟低通滤波器阶数
N=buttord(norm_wc,norm_wr,Apmax ,Armin,'s'); 设计归一化模拟低通滤波器
[b_LP,a_LP]=butter(N,norm_wc,'s');
4) 把归一化模拟低通滤波器转换为模拟带通滤波器 [b_BP,a_BP]=lp2bp(b_LP,a_LP,w0, B);
5) 利用脉冲响应不变法把模拟滤波器转换为数字滤波器 Fs=1/T;
[b,a]=impinvar(b_BP,a_BP,Fs); w=linspace(0,2*pi,500); h=freqz(b,a,w);
plot(w,20*log10(abs(h))); axis([0,2*pi,-50,20]); grid xlabel('frequency (rad)'); ylabel('gain (dB)'); sys=tf(b,a,T)
- 43 -
课 程 设 计
(2) 双线性变换法
双线性变换法克服了脉冲响应不变法存在频谱混叠的缺点, 但在设计过程中一定要注意,由于宽频带压缩到较窄的频率范围,导致了频率畸变。其基本思想是:首先按给定的指标设计一个模拟滤波器,通过适当的数学变换方法将s域映射到z域,把无限宽的频带变换成有限宽频带。由于在实现数字化以前已经对频带进行了压缩,所以在数字化以后的频响可以做到无频谱混叠。该法可以用来设计各种不同频带要求的数字滤波器,所以获得广泛应用。
例3:按[例2]的指标使用双线性变换法设计一个数字带通滤波器。 解: (1)给定数字频率指标 omega0=0.5*pi; %通带中心频率
omegac1=0.45*pi; omegac2=0.55*pi; Apmax=3; %通带截频 omegar2=0.6*pi; Armin=10; T=5*pi*10^(-6); %取样间隔 (2)用双线性变换法设计滤波器
1) 按给定数字频率求得相应的模拟角频率:频率预畸变 omegar1=omega0-(omegar2 - omega0);
wc1=(2/T)*tan(omegac1/2); wc2=(2/T)*tan(omegac2/2); wr1=(2/T)*tan(omegar1/2); wr2=(2/T)*tan(omegar2/2); w0=(2/T)*tan(omega0/2);
- 44 -
共分享92篇相关文档