基于MATLAB+GUI的滤波器设计软件设计 联系客服

发布时间 : 星期一 文章基于MATLAB+GUI的滤波器设计软件设计更新完毕开始阅读4ba4211df705cc1754270952

数字滤波器的设计与仿真

成3dB截止频率为wc的高通模拟滤波器,返回高通模拟滤波器系数向量Bt和At。[Bt,At]=lp2bp(B,A,wo,Bw)将系数向量为 B 和 A 的模拟滤波器归一化低通原型变换成中心频率为 wo,带宽为 Bw 的带通模拟滤波器,返回带通模拟滤波器的系数向量 Bt 和At。其中,wo= uc lc? ? , lc uc w B ? ? ? = ,由以上原理我们来编写如下程

%用双线性变换法设计数字高通和带通滤波器 clear; close all

T=1;wch=pi/2; %T:采样间隔,wch:数字高通3dB 截止 Wlc =0.35*pi; wuc=0.65*pi; %wlc,wuc;数字高通 3dB 截止频率

B=1;A=[1,2.6131,3.4142,2.6131,1];

[h,w]=freqs(B,A,512); %求原归一化模拟滤波器的频率响应 subplot(3,2,1);plot(w,20*log10(abs(h))); %画模拟滤波器幅频特性 grid;axis([0,10,-90,0])

xlabel('w/ '); title('模拟低通幅度(dB)') %(1)设计高通

omegach=2*tan(wch/2)/T; %预畸变求模拟高通 3dB 截止频率 [Bhs,Ahs]=lp2hp(B,A,omegach); %模拟域低通转换为高通系数 [Bhz,Ahz]=bilinear(Bhs,Ahs,1/T); %模拟转换位数字高通系数变量 [h,w]=freqz(Bhz,Ahs,512); %求画出数字滤波器幅频特性 Subplot(3,2,3);plot(w/pi,20*log10(abs(h))); grid;axis([0,1,-150,0])

xlabel('w/ ');title ('数字滤波器幅度(dB)')%(2)设计带通

omegalc=2*tan(wlc/2)/T; %预畸变求滤波器通带低端截止频率 omegauc=2*tan(wuc/2)/T; %预畸变求滤波器通带高端截止频率 wo=sqrt(omegalc*omegauc);Bw=omegauc-omegalc;

[Bbs,Abs]=lp2bp(B,A,wo,Bw); %模拟域低通转换为带通系数

[Bbz,Abz]=bilinear(Bbs,Abs,1/T); %模拟转换为数字带通系数变量 [h,w]=freqz(Bbz,Abz,512); %求并画出数字滤波器幅频特性 subplot(3,2,4);plot(w/pi,20*log10(abs(h))); grid;axis([0,1,-150,0])

xlabel('w/pi ');title ('数字滤波器幅度(dB)')

4

数字滤波器的设计与仿真

程序运行结果如图3.1.2, 3.1.3 ,3.1.4所示分别表示模拟低通幅度,数字高通幅度和数字带通幅度特性。

、 图 3.1.2 模拟低通幅度

Figure 3.1.2 analog lowpass filter’s range

图 3.1.3 数字高通幅度

Figure3.1.3 digital high pass filter’s range

4

数字滤波器的设计与仿真

图 3.1.4 数字带通幅度

Figure3.1.4 digital band pass filter’s range 3.1.3 结论

从以上一系列函数设计中,我们由MATLAB 函数来设计滤波器是次优化的,它的设计步骤为:1 先选择设计方法;2 猜测滤波器参数,后进行设计;3 观察滤波器的响应,判断其是否符合要求;4反复这一尝试与失败过程直到符合要求。这种设计方法,很显然在设计要求上进行权衡分析是不是很有效,它更多时候是凭借设计者的经验来设计的,需要反复的检验, 并且编程的过程很繁琐, 工作量是比较大的, 因此我们下面将探讨更优化的设计方法。 3.2 基于信号处理用户界面设计 IIR数字滤波器

基于 MATLAB函数的滤波器设计完成后,需要对已设计的滤波器的频率响应要进行校核。要得到幅频、相频响应特性,运算量也是很大的。而利用 MATLAB 强大的信号处理界面工具进行计算机辅助设计,可以快速有效地设计数字滤波器,大大地简化了计算量。

3.2.1 FDATOOL设计 IIR数字滤波器

我们将以一个 IIR 滤波器的设计实例来具体说明使用 MATLAB 工具箱的方便。要求设计 Chebyshev1 型低通滤波器满足指标,首先在 Response Type 中选择 Bandpass 高通滤波器, 然后在下面的Desigh Method中选择IIR类型, 并且指定Filter Order项中的阶数SpecifyOrder=10,由于是设计 chebyshev 滤波器,其下面 Option 就不必选择。 然后在 FrequencySpecifications中选择Unit为Hz,给出采样频率 Fs=1000, ;最后在 Magnitude Specification中选择Unit为 dB,Apass=1。 设置完成后点击 Design Filter即可得到所设计的IIR 滤波器。通过菜单选项Analysis可以在特性区看到所设计的幅频响应、相频响应、冲击响应和零极点配置等特性。设计完成后将结果保存,封装为 filterl.fda 文件,下面是运用 FDATool 设计滤波器:其中幅频特性如图3.2.1所示

4

数字滤波器的设计与仿真

图 3.2.1 FDA设计主界面

Figure3.2.1 main contact surface of FDA design

4