《巴特沃斯带阻IIR数字滤波器设计.docx》由会员分享,可在线阅读,更多相关《巴特沃斯带阻IIR数字滤波器设计.docx(4页珍藏版)》请在三一办公上搜索。
1、巴特沃斯带阻IIR数字滤波器设计2.巴特沃斯带阻IIR数字滤波器设计 1.设计思路基于冲激响应不变法的IIR数字滤波器设计 冲激响应不变法的设计原理是利用数字滤波器的单位抽样响应序列H(z)来逼近模拟滤波器的冲激响应g(t)。 按照冲激响应不变法的原理,通过模拟滤波器的系统传递函数G(s),可以直接求得数字滤波器的系统函数H(z),其转换步骤如: (1) 利用w=WT (可由关系式Z=esT推导出),将wp,ws转换成Wp, Ws,而ap,as不变; (2) 求解低通模拟滤波器的传递函数G(s); (3) 将模拟滤波器的传递函数G(s)转换为数字滤波器的传递函数H(z)。 尽管通过冲激响应不变
2、法求取数字滤波器的系统传递函数比较方便,并具有良好的时域逼特性,但若G(s)不是带限的,或是抽样频率不高,那么在H(ejw)中将发生混叠失真,数字滤波器的频率响应不能重现模拟滤波器的频率响应。只有当模拟滤波器的频率响应在超过折叠频率后的衰减很大时,混叠失真才很小,此时采样脉冲响应不变法设计的数字滤波器才能满足设计的要求,这是冲激响应不变法的一个严重的缺点。 2.设计要求及方案 设计一带阻巴斯沃特IIR滤波器,要求如下: 带纹波为Rp1dB, 通带上、下限角频率为0.11p、0.81p, 阻带上、下限角频率为0.31p、0.61p, 阻带最小衰减as=40dB,采样频率fs=15000Hz 3用
3、MTALAB算法设计巴特沃斯带阻IIR数字滤波器 fs=15000;T=1/fs; rp=1;rs=40; wp1=0.11*pi;wp2=0.81*pi;ws1=0.31*pi;ws2=0.61*pi; %数字带阻滤波器技术指标 wc1=(2/T)*tan(wp1/2); %频率预畸变 wc2=(2/T)*tan(wp2/2);wr1=(2/T)*tan(ws1/2);wr2=(2/T)*tan(ws2/2); w0=sqrt(wc1*wc2);B=wc2-wc1; wp=1; %归一化通带截止频率 ws=wp*(wr1*B)/(w02-wr12); %归一化阻带截止频率 N,wc=butt
4、ord(wp,ws,rp,rs,s); %求滤波器阶数和3dB截止频率 Z,P,K=buttap(N); Md,Nd=zp2tf(Z,P,K); %将零极点形式转换为传输形式 M,N=lp2bs(Md,Nd,w0,B); %对低通滤波器进行频率变换,转换为带阻滤波器 h,w=freqs(M,N); %模拟带阻滤波器的幅频响应 plot(w/(2*pi,abs(h);grid; xlabel(频率/Hz);ylabel(幅度);title(模拟带阻滤波器); b,a=bilinear(M,N,15000); %对模拟滤波器双线性变换 figure(1); freqz(b,a);H,W=freqz
5、(b,a); %绘出频率响应 axis(0,1,-100,20); figure(2); plot(W*fs/(2*pi),abs(H);grid on; xlabel(频率/Hz);ylabel(幅值); title(数字滤波器幅频响应|H(ejOmega)| ); 仿真出的幅频响应曲线图如下图2.1所示: 图2.1:幅频响应曲线 相频特性及幅度特性曲线如下图2.2所示: 图2.2:相频特性与幅度特性曲线 fs=15000;T= 1/fs; rp=1;rs=40; wp1=0.11*pi;wp2=0.81*pi;ws1=0.31*pi;ws2=0.61*pi;%数字带阻滤波器技术指标 wc1
6、=(2/T)*tan(wp1/2);%频率预畸变 wc2=(2/T)*tan(wp2/2); wr1=(2/T)*tan(ws1/2); wr2=(2/T)*tan(ws2/2); w0=sqrt(wc1*wc2); B=wc2-wc1; wp=1;%归一化通带截止频率 ws=wp*(wr1*B) / (w02-wr12) %归一化阻带截止频率 N,wc=buttord(wp,ws,rp,rs,s)%求滤波器阶数和3dB截止频率 Z,P,K=buttap(N)%设计模拟低通滤波器 Md,Nd=zp2tf(Z,P,K)%将零极点形式转换为传输函数形式 M,N=lp2bs(Md,Nd,w0,B)%
7、对低通滤波器进行频率变换,h,w=freqs(M,N);%模拟带阻滤波器的幅频响应 plot(w/(2*pi),abs(h);grid; xlabel(频率Hz);ylabel(幅度);title(模拟带阻滤波器); b,a=bilinear(M,N,15000)%对模拟滤波器双线性变换 figure(1); reqz(b,a);H,W=freqz(b,a); %绘出频率响应; axis(0,1,-100,20); figure(2); plot(W*fs/(2*pi),abs(H);grid on; xlabel(频率/Hz); ylabel(幅值); n=0:199;t=n/fs; x=s
8、in(2*pi*400*t)+3*sin(2*pi*3000*t)+2*sin(2*pi*5000*t); figure(3); subplot(311);plot(t,x);axis(0,0.01,-5,5); title(输入信号);grid on; y=filter(b,a,x); subplot(312);stem(y,.);title(输出序列);grid on; ya=y*sinc(fs*(ones(length(n),1)*t-(n/fs)*ones(1,length(t); subplot(313);plot(t,ya);axis(0,0.01,-3,3);title(输出波形
9、);grid on; t=(0:100)/fs; figure(4); fs=1.5*10000; n=(0:100)/fs; f=sin(2*pi*400*t)+3*sin(2*pi*3000*t)+2*sin(2*pi*5000*t); y=fftfilt(b,x); H1,f1=freqz(f,1); H2,f2=freqz(y,1); f1=f1/pi*fs/2; f2=f2/pi*fs/2; 转换为带阻滤波器 subplot(2,1,1);plot(f1,abs(H1);title(输入信号的频谱); subplot(2,1,2);plot(f2,abs(H2);title(输出信号的频谱);