基于MATLABGUI信号与系统虚拟实验平台使用(5)

2019-04-02 14:18

该界面的主要控制程序为:

function pushbutton1_Callback(hObject, eventdata, handles) Rs = str2double(get(handles.edit1,'String')); Rp = str2double(get(handles.edit2,'String')); w1 = str2double(get(handles.edit3,'String')); w2 = str2double(get(handles.edit4,'String')); wp = w1*pi; ws = w2*pi;

axes(handles.axes1)% Select the proper axes val = get(handles.popupmenu1,'Value'); switch val

case 1

%Compute Oder and Cutoff frequency [N,Wn] = buttord(wp,ws,Rp,Rs,'s'); N

Fc = Wn/(2*pi)

[b,a] = butter(N,Wn,'s');

w = linspace(1,3000,1000)*2*pi; H = freqs(b,a,w); magH = abs(H);

phaH = unwrap(angle(H));

plot(w/(2*pi),20*log10(magH)); xlabel('Frequency(Hz)'); ylabel('Magnidute(dB)'); title('巴特沃斯低通滤波器') grid on case 2

%Chebyshev analog lowpass filter prototype [N,Wn] = cheb1ord(wp,ws,Rp,Rs,'s'); N

[b,a] = cheby1(N,Rp,Wn,'s'); w = linspace(1,3000,1000)*2*pi; H = freqs(b,a,w); magH = abs(H);

phaH = unwrap(angle(H));

plot(w/(2*pi),20*log10(magH)); xlabel('Frequency(Hz)'); ylabel('Magnidute(dB)');

20

title('切比雪夫I型低通滤波器')

grid on case 3

%Chebyshev analog lowpass filter prototype [N,Wn] = cheb2ord(wp,ws,Rp,Rs,'s'); N

[b,a] = cheby2(N,Rp,Wn,'s'); w = linspace(1,3000,1000)*2*pi; H = freqs(b,a,w); magH = abs(H);

phaH = unwrap(angle(H));

plot(w/(2*pi),20*log10(magH)); xlabel('Frequency(Hz)'); ylabel('Magnidute(dB)');

title('切比雪夫II型低通滤波器') grid on case 4

%Compute Oder and Cutoff frequency [N,Wn] = ellipord(wp,ws,Rp,Rs,'s'); N

[b,a] = ellip(N,Rp,Rs,Wn,'high','s'); w = linspace(1,3000,1000)*2*pi; H = freqs(b,a,w); magH = abs(H);

phaH = unwrap(angle(H));

plot(w/(2*pi),20*log10(magH)); xlabel('Frequency(Hz)'); ylabel('Magnidute(dB)'); title('椭圆高通滤波器') grid on end

程序中调用了MATLAB系统控制工具箱中的buttord函数、cheb1ord函数、cheb2ord函数和ellipord函数,分别对应巴特沃斯滤波器、切比雪夫I型、切比雪夫II型和椭圆滤波器的窗函数。

同理,数字滤波器的设计内容与模拟滤波器类似,它是利用双线性法、频率不变法等方法将模拟滤波器转换成相应的数字滤波器。其仿真界面如图3.16所示。

21

图3.16 数字滤波器界面

3.8 生成可执行文件

本系统要求最终结果要脱离开发工具(MATLAB)软件独立运行,我在做GUI的时候主要参考了别人生成可执行文件的方法。

首先在MATLAB命令行窗口中输入guide,打开GUI设计的图形界面。然后拖入所要的图形控件,按需要修改外观直至满足要求。点击guide界面上方的Run按钮,会生成一个fig文件,一个m文件,其中fig文件是你界面的图形,m文件是你界面的回调函数,在m文件里每个控件的回调函数都已经自动生成,把我们自己的m代码填在相应的回调函数里即可。

3.9 小结

本章讨论了软件平台的整体设计,给出了系统整体框图和各模块的界面和设计方法,详细介绍了各个模块产生波形的原理,并分析了最后生成可执行文件的方法。

22

第四章 虚拟实验平台的使用

4.1 简述

通过几周的努力和王老师的指导,我终于完成了信号与系统虚拟实验平台的设计。本系统主要是使用MATLAB 软件的GUI界面将《信号与系统》课程中所涉及到的实验设计成可视化的人机界面,让学生在做实验时解决了实验设备欠缺、实验系统难以实现和实验原理难懂等问题,提高了学生的积极性,且将学生从晦涩难懂的理论知识中解放出来,更好的掌握《信号与系统》这门课程。下面简单介绍一下它的使用。

4.2 主界面

启动MATLAB R2010b,将其路径改为该实验平台程序所放置的文件夹,然后打开main.m文件,点击运行即可进入实验平台,如图4.1所示。

图 4.1 系统主界面

点击“退出”按钮即可退出虚拟实验界面,点击“进入实验”可进入到系统的引导界面,如图4.2所示。

23

图4.2 系统引导界面

在这里点击“帮助”可以读到有关该实验平台的简要介绍,“返回”按钮让我们回到主界面。选择自己想要仿真的实验,点击“进入实验”即可进入到对应的实验系统。

4.3 简单函数性质

在引导界面选择实验1并点击“进入实验”按钮即可进入实验1简单函数性质主界面,主界面有关于简单函数性质的简介;点击“帮助”按钮可以可以进入到实验1的说明模块,如图4.3所示,该界面仅由两个文本框和一个按钮组成,点击“返回”可以回到实验1的主界面;点击”进入仿真“按钮可以进入到仿真界面,如图4.4所示。

24


基于MATLABGUI信号与系统虚拟实验平台使用(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:课程设计简易波形发生器

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

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