滤波器设计与制作

2026/4/29 11:15:27

桂林电子科技大学实训(论文)说明书用纸

左边提供了多种如命令按钮、单选按钮、可编辑文本框、静态文本框、弹出式菜单等。GUI设计面板是GUI设计工具应用的平面,面板上部提供了菜单和常用工具按钮,左边提供了多种如命令按钮、单选按钮、可编辑文本框、静态文本框、弹出式菜单等。

5.1“滤波器设计软件”设计的GUI界面设计

图5.1.1 MATLAB GUI设计界面

图5.1.2滤波器GUI界面设计

9

桂林电子科技大学实训(论文)说明书用纸

5.2控件实现编程

(1)Digital Filter下拉菜单

function DigitalFilter_Callback(hObject,eventdata, handles) %读取此时选择的滤波器选择,“IIR、FIR”

DigitalFilter_value=get(handles.DigitalFilter,'Value'); %当选择了IIR时,使窗口选项屏蔽

if(DigitalFilter_value==1)

set(handles.FilterDesign,'enable','on'); set(handles.Windows,'enable','off')

%当选择了FIR时,使IIR的滤波器(Butterworth、ChebyshevⅠ等)选项屏蔽 else

set(handles.FilterDesign,'enable','off'); set(handles.Windows,'enable','on') end

(2)Filter Type下拉菜单

function FilterType_Callback(hObject, eventdata,handles)

%读取此时设计的滤波器的类型,“Lowpass、Highpass、Bandpass、Bandstop” FilterType_value=get(handles.FilterType,'Value'); %当选择Lowpass或者Highpass,屏蔽相应的临界频率的显示 if((FilterType_value==1)||(FilterType_value==2))

set(handles.Fp2,'visible','off');set(handles.Fs2,'visible','off') set(handles.text17,'visible','off');set(handles.text19,'visible','off');

set(handles.text6,'visible','off');set(handles.text10,'visible','off'); else

%当选择Bandpass或者Bandstop,使相应的临界频率的显示,使参数能够输入 if((FilterType_value==3)||(FilterType_value==4))

set(handles.Fp2,'visible','on');set(handles.Fs2,'visible','on'); set(handles.text17,'visible','on');set(handles.text19,'visible','on'; set(handles.text6,'visible','on');set(handles.text10,'visible','on'); end end

(3)Min Order和Custom Orde按钮

10

桂林电子科技大学实训(论文)说明书用纸

%选择使用最小阶数设置时,屏蔽自定义阶数的输

function MinOrder_Callback(hObject,eventdata,handles) MinOrder_value=get(handles.MinOrder,'Value'); if(MinOrder_value==1)

set(handles.Order,'visible','off'); else

set(handles.Order,'visible','on'); end

%选择自定义阶数时,显示阶数输入框

function CustomOrderButton_Callback(hObject,eventdata,handles) CustomOrderButton_value=get(handles.CustomOrderButton,'Value'); if(CustomOrderButton_value==0)

set(handles.Order,'visible','off'); else

set(handles.Order,'visible','on'); end

(4)Fp1、Fp2、Fst1、Fst2文本编辑框

参数输入时,在输入抽样频率Fs的前提下,判断滤波器通带临界频率(Fp1、Fp2)、滤波器阻带临界频率(Fst1、Fst2)的归一化频率wp1、wp2、ws1、ws1是否在[0,1]之间,如不正确显示错误对话框

function Fp1_Callback(hObject,eventdata,handles) %检查输入的通带临界频率Fp1的归一化频率是否在[0,1]之间 Fs_value=str2double(get(handles.Fs,'String')); Fp1_value=str2double(get(handles.Fp1,'String')); wp1=2*Fp1_value/Fs_value;

%如果不在[0,1]之间,显示输入错误对话框 if(wp1>=1)

errordlg(‘wp1=2*Fp1/Fs,归一化频率不在[0,1]之间,请输入正确的参数’,‘错误信息’) end

(Fp2、Fst1、Fst2同理编程) (5)Run按钮

根据输入的参数显示设计的滤波器的幅频特性和相频特性图,其程序如下: function Run_Callback(hObject,eventdata,handles)

11

桂林电子科技大学实训(论文)说明书用纸

%点击Run立即运行AutoChoose,m文件,实现滤波器设计程序 AutoChoose(handles) (6)Quit按钮

退出滤波器设计窗口,其程序如下:

function Quit_Callback(hObject,eventdata,handles) %点击Quti按钮退出 Close

5.3运行和结果显示

在图形界面下,按“运行”,在Fiter Design界面,选择要设计的滤波器选项,编辑框中输人要求设计的数字滤波器的性能指标,选择“Run”命令按钮,出现如图5.3.1所示的模拟低通原型滤波器幅频响应和相频响应曲线,最小阶数。 例如选择设计IIR的Butterworth低通滤波器,其Fs=1000Hz,Fp1=100Hz,Fs1=300Hz,Rp=3dB,Rs=20dB,n=4。

图5.3.1滤波器运行结果显示

6 总结

12


滤波器设计与制作.doc 将本文的Word文档下载到电脑
搜索更多关于: 滤波器设计与制作 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219