基于MATLAB GUI的数字信号处理仿真平台的设计
扫描二维码
随时随地手机看文章
1.引言
数字信号处理,是现今应用成效最显着、应用领域最广的新科学之一,国内外各高校均开设了数字信号处理课程。这门课程相应的特点是:公式特别多、性质的推导复杂繁琐、概念性的东西比较多,还需要以信号与系统等诸多课程为基础,被很多同学认为大学最难的课程之一,学生因跟不上老师的进度和本身对学习内容的理解不到位而对这门课程失去兴趣。传统的教学模式已经远远满足不了新时代教学的需求,在计算机技术快速发展的今天,计算机辅助教学己经逐步成为教师授课的主要方式。MATLAB为数字信号处理课程的教学提供了很大的实验帮助。很早之前,国外就开始把交互式软件MATLAB用于数字信号处理的教学中,并采用功能强大的系统开发平台。本文利用MATLAB的图形界面设计工具(GUI),以数字信号处理理论知识为基础,设计了与课堂教学、实验内容相配套的辅助工具。该辅助工具可用于《数字信号处理》课程的实验辅助教学、课堂教学演示,也可作为学生课后自学平台,真正的将实验内容融入教学过程中。
2.MATLAB GUI简介
GUI是当今计算机软件的发展趋势。
MATLAB为表现其基本功能而设计的演示程序demo是使用GUI的最好范例。MATLAB全面支持GUI编程,可自行设计窗口、菜单、对话框、滑动条等。在MATLAB的命令窗口中运行guide,即进入交互式编程。
Guide可以根据用户GUI的版面设计过程直接自动生成M文件框架,这样就简化了GUI应用程序的创建工作,用户可以直接使用这个框架来编写自己的函数代码。
GUI设计可以采用两种方法,一种是利用GUIDE工具进行设计。这种方法的优点是上手容易;缺点是对于有些复杂功能的实现比较困难。另一种方法是基本代码法,即在M文件中用MATLAB代码写出所有的图形对象控件所对应的代码,通过各个参数的控制可以灵活地实现所需要的功能。这种方法的缺点是上手困难;优点是功能强大,可以实现许多复杂的功能,而且调试程序也比较容易。
3.基于MATLAB GUI的数字信号处理仿真平台的构建方案
采用MATLAB开发平台,利用图形用户界面GUI,设计出结构图,如图1所示,系统的主界面一共有七个主要子模块,分别代表了七个教学内容。通过单击主界面上子模块相应的按钮即可启动相应的子窗口。
该仿真平台具有如下一些特点:
首先,该平台的结构设计层次分明,用户界面是完全图形化的,只需要点击鼠标,输入数据就能够能完成所有的实验。
其次,在内容的安排上,此平台使学生对本课程的内容有一个整体统一的认识,用户既可以在较短的时间内完成实验内容,又可以做创新性实验、设计性实验,从而达到辅助教学的目的。
另外,传统实验是用示波器来观察相应的图形,与传统实验相比,此平台的实验结果更准确。
最后,只需要一台计算机和MATLAB软件即可,因此突破了传统实验模式中受时间地点限制的缺点。
4.基于MATLAB GUI的数字信号处理仿真平台的实现
(1)软件主界面
各界面的设计主要采用了静态文本框、列表框、可编辑文本、面板和坐标轴等控件来实现一些功能。各个控件的功能通过编写其相应的回调函数来实现。主界面是软件开始运行的主要界面,如图2所示。
(2)软件子界面
数字信号处理在各子模块的内容和分析过程虽有不同,但其设计思想基本类似,下面以快速傅立叶变换和FIR数字滤波器的设计为例。
1)快速傅立叶变换
在主界面中,点击快速傅立叶变换及其应用,进入子模块。只需要在界面输入所需要的序列,点击绘制,便能得到序列的FFT结果。
如图3所示,当输入x(n) = {1;2;3;4;5;6;7;8}时。
2)FIR数字滤波器的设计
对该平台完成控件布局之后,开始编制回调程序。该模块的界面如图4所示。
该模块的主要功能有,可以采用窗函数和频率采样两种方法来设计FIR滤波器,只要输入滤波器的性能指标或是滤波器的传递函数,但可得到相应滤波器的幅频响应和相频响应。
输入通带截止频率:0.2Hz,通带内波动:1dB,阻带截止频率:0.4Hz,阻带波动:30dB,即可得到滤波器的的幅频响应及相频响应图。
在该系统中,每个模拟提供一个相对独立的功能,可在交互界面中选择不同的运行参数。
5.结论
此仿真平台的制作是为了能够更方便地进行数字信号处理的辅助教学,此平台使得教学的内容更加直观,理论知识更容易理解,所以能够有效地提高教师授课的效率。通过此仿真平台,不仅能够激发学生对数字信号处理课程的学习兴趣,还能够加深对理论公式等知识的理解。此外,有了这样一个可以在计算机上操作的仿真平台,不仅使学生容易掌握那些比较抽象的数字信号处理知识的内容抽象,而且使教师的教学内容更形象化、生动化。本系统拥有友好的MATLAB GUI界面设计,用丰富的画面、简洁的文字将数字信号处理中抽象的实验内容展现在学生面前,提高了学生的学习主动性和积极性。