1、“滤波器设计软件 ”设计 基于 MATLAB GUI设计滤波器软件设计一 MATALB GUI介绍MATALB 可以创建图形用户界面 GUI ( GraphicalUser Interface) ,它是用户和计算机之间交流的工具。 MATLAB 将所有 GUl 支持的用户控件都集成在这个环境中并提供界面外观、属性和行为响应方式的设置方法 ,随着版本的提高 ,这种能力还会不断加强。而且具有强大的绘图功能 ,可以轻松的获得更高质量的曲线图。1、 IIR滤波器设计原理滤波器的设计质上是寻找一个既能物理实现,又能满足给定频率特性指标要求的系统传输函数。IIR滤波器一般采用递归型的结构,系统的输入与输出
2、服从 N阶差分方程:相应的传输函数为 :二、 IIR滤波器设计原理2、 IIR滤波器设计思想 将设计指标归一化处理 根据归一化频率,确定最小阶数 N 和频率参数 Wn。可供选用的阶数选择函数有 :buttord, cheblord, cheb2ord, ellipord 等 运用最小阶数 N 设计模拟低通滤波器原型。根据最小阶数直接设计模拟低通滤波器原型,用到的函数有: butter, chebyl,cheby2, ellip 和 bessel 再用 freqz 函数验证设计结果3、 IIR滤波器设计编程实现 Fs=22050; Fp1=3400; Fs1=5000; Rp=3;Rs=20;
3、%设计指标 wp1=2*Fp1 /Fs; ws1=2*Fs1 /Fs; %求归一化频率 % 确定 butterworth 的最小阶数 N 和频率参数 Wnn,Wn=buttord(wp1,ws1,Rp,Rs); w=blackman(n+1); %确定窗口值 b=fir1(n,wn,w);% 确定传递函数的分母系数 plot(f,20*log(abs(h) %画幅频响应图 plot(f,angle(h); %画相频响应图 h,f=freqz(b,1); %生成频率响应参数软件效果显示三、 FIR滤波器设计原理1、 FIR滤波器设计原理寻找一个 FIR滤波器,使其频率响应 H(ej)逼近理想FI
4、R滤波器的频率响应 Hd(ej).w(n): 窗函数序列 要选择合适的形状和长度2、 FIR滤波器设计思想 将设计指标归一化处理 根据归一化频率,选择函数 buttord确定最小阶数N 和频率参数 Wn 确定窗口值。 Windows指定窗函数类型,默认为Hamming窗;可选 Hanning、 Hamming、Blackman、 triangle、 bartlett等窗 确定传递函数的分母系数。函数 fir1的调用格式为B= fir1(n, Wn, ftype, Windows),同时选择在此函数中选择要设计的滤波器的类型。 再用 freqz 函数验证设计结果3、 FIR滤波器设计编程实现 F
5、s=22050; Fp1=3400; Fs1=5000; Rp=3;Rs=20; N=75%设计指标 wp1=2*Fp1 /Fs; ws1=2*Fs1 /Fs; %求归一化频率 % 确定 butterworth 的最小阶数 N 和频率参数 Wnn,Wn=buttord(wp1,ws1,Rp,Rs); B,A = butter(N,Wn); %确定传递函数的分子、分母系数 h,f=freqz(b,a,Nn,Fs_value);%生成频率响应参数 plot(f,20*log(abs(h) %画幅频响应图 plot(f,angle(h); %画相频响应图软件效果显示四、基于 Matlab GUI的数
6、字滤波器设计思路及实现 MATLAB提供了编写图形用户界面的功能。所谓图形用户界面 , 简称为 GUI GUI设计面板是 GUI设计工具应用的平面,面板上部提供了菜单和常用工具按钮,左边提供了多种如命令按钮、单选按钮、可编辑文本框、静态文本框、弹出式菜单等 GUI设计面板是 GUI设计工具应用的平面,面板上部提供了菜单和常用工具按钮,左边提供了多种如命令按钮、单选按钮、可编辑文本框、静态文本框、弹出式菜单等Filter DisignIIR滤波器 FIR滤波器Boxcar Bartlett Blackman Hanning Hamming Kaiser Butterworth Chebyshev Chebyshev Ellipse 选择 IIR或者 FIR Filter设计Butterworth等 Filter选择 窗口选择1、滤波器设计总框图