基于GUI的数字信号处理课程演示系统研究

2016-11-23 08:30陶玉恒乔丽红
无线互联科技 2016年20期
关键词:傅里叶信号处理滤波器

陶玉恒,乔丽红

(河南工业大学 信息科学与工程学院,河南 郑州 450001)

基于GUI的数字信号处理课程演示系统研究

陶玉恒,乔丽红

(河南工业大学 信息科学与工程学院,河南 郑州 450001)

MATLAB 中的Guide是专用于图形用户界面的快速开发环境,利用该Guide工具可以辅助数字信号课程教学。文章设计了基于GUI的数字信号处理课程演示系统,该系统可以登录界面,共有7块,分别开发了离散时间信号设计、离散时间系统设计、离散线性卷积设计、离散傅里叶变换设计、离散时间信号的傅里叶变换、系统频率响应设计,FIR数字滤波器的设计和IIR数字滤波器的设计。其中我们重点设计了离散卷积和滤波器设计演示系统。此系统可以辅助课堂教学,即便不懂MATLAB语言编程的人也很容易理解和掌握,享受画面的动态感,提高其对这方面的学习兴趣。

GUI;数字信号处理;滤波器设计;卷积

1 图形用户界面(GUI)

图形用户界面开发环境( Graphical User Interface Development Environment,GUIDE) 是 MATLAB 软件中的 一个向导设计器,这一向导设计器是为 GUI 而专门设计的[1-5]。主界面如图1所示。

图1 用户登陆界面和系统主界面

2 系统方案设计

利用 MATLAB 2007的Guide工具 箱设计和实现了“数字信号处理”课程演示系统平台的图形用户界面,系统由9 个GUI界面构成:用户登录界面、系统主界面及7个子模块界面。整个系统结构示意图如图2 所示。

图2 系统总体结构示意图

如图3所示,该界面是需要输入正确的用户名和密码的登陆界面。在这个模块中,笔者设计了一个主要登陆界面,学习用户可以通过输入自己的用户名和密码进行登陆学习,观察数字信号处理演示过程,已达到观摩学习的效果。在这过程中,用户名可设置为字符串型,密码可设置为数字型进行登陆。当登陆不成功则提示用户名或密码错误,需再次重新输入用户名和密码,登陆成功后点击OK即可进入主界面。在图3中,图(a),(b),(c)分别为登陆初始界面,输入正确用户名与密码后的成功登陆界面和输入错误用户名或密码后提示需再次登陆的失败界面。

图3 需要输入正确的用户名和密码的登陆界面

在这个模块中笔者主要设计了一个总界面,在这个总界面中所演示的七大功能设计展示出来的效果如图4所示,用户可以通过点击相应的功能按钮进入相应的子区域界面。

图4 七大模块集中在一起的主界面

3 系统内容设计

系统子界面有七大模块:离散时间信号设计,离散时间系统设计,离散线性卷积设计,离散傅里叶变换设计,离散时间信号的傅里叶变换和系统频率响应设计,FIR数字滤波器的设计和IIR数字滤波器的设计。

3.1离散时间信号设计

在该模块中,笔者主要设计一些典型序列的产生,包括取样序列、阶跃序列、矩形序列、复指数序列、单边实指数序列和正弦型序列。我们可以在相应的按钮旁边输入相应的参数,对应的序列作相应的改变,然后点击想要产生的序列即可,我们可以通过改变不同的输入参数系数来验证设计的正确性。

3.2离散时间系统设计

在这个模块中,笔者主要针对离散时间系统进行设计,选了几个比较常见的典型序列的产生,然后把他们分别作为输入信号,通过所设计的系统及pushbutton按钮调用callback函数,即可得到相应的响应,设计界面如图5—6所示。可输入相应的参数,根据所产生的序列求出对应的系统响应和冲激响应,我们可以通过改变输入参数系数来验证设计的正确性。

3.3离散线性卷积设计

该模块中我们设计了离散线性序列卷积,在这里我们选取了取样序列、矩型序列、实指数序列和正弦序列进行卷积,设计界面及实例如图7所示。我们可以通过改变输入序列或同一类型序列的不同长度进行卷积计算,并将结果显示出来,帮助学生直观地理解学习和学习卷积。

图5 离散时间信号设计子界面

图6 离散时间系统设计子界面

图7 离散线性卷积设计子界面及实例

3.4离散傅里叶变换

该部分可以实现信号序列的离散傅里叶变换。在这里我们可以计算矩型序列、递增序列、递减序列、三角序列、实指数序列和正弦序列进行DFT变换,同时画出其对应的幅度和相位响应,设计界面及实例如图8所示。我们可以通过改变输入不同的序列或同一序列的不同长度进行卷积计算,将结果显示出来,从而验证离散傅里叶变换设计的准确性。

图8 离散傅里叶变换子界面及实例

3.5离散时间信号傅里叶变换和系统频率响应

在该模块中我们设计了几个典型序列的离散时间傅里叶变换,在这里我们系统可展示矩型序列,实指数序列和正弦序列进行DTFT变换,同时画出其对应的幅度和相位响应曲线,设计界面及实例如图9所示。我们还可以设定一个离散时间系统相应的输入输出系数,并得到了频率响应特性曲线。

图9 离散时间信号傅里叶变换和系统频率响应设计子界面及实例

3.6FIR数字滤波器的设计

在这个模块中,我们设计了FIR数字滤波器,设计界面及实例如图10所示。在这里我们用MATLAB画出了滤波器的幅频特性或相位特性或传输函数的零极点。输入的具体信号的时域图形和频谱图,具体信号经滤波器滤波后输出的时域图形和频谱图。这里我们可以通过在编辑文本控件中设定改变经过该滤波器的输入初始信号x(t )=x1(t)+x2(t)=sin(2πf1t )+sin(2πf2t )false的频率,其中f1和f2可根据通带边界频率和阻带边界频率(通带边界频率,阻带边界频率可在适当范围内随意设定即可)选择,要使滤波效果明显,自己在合理范围内选择f1和f2即可,采样频率一律为2 000 Hz。其中通带最大衰减和阻带最小衰减为为1 db和40 db。

图10 FIR数字滤波器设计子界面及实例

3.7IIR数字滤波器的设计

在这个模块中,我们设计了IIR数字滤波器,设计界面及实例如图11所示。在这里我们用MATLAB画出了其对应滤波器的幅频特性或相位特性或传输函数的零极点,输入的具体信号的时域图形和频谱图,具体信号经滤波器滤波后输出的时域图形和频谱图。这里我们可以通过在编辑文本控件中设定改变经过该滤波器的输入初始信号x(t )=x1(t)+x2(t)=sin(2πf1t )+sin(2πf2t )的频率,其中f1和f2可根据通带边界频率和阻带边界频率(通带边界频率,阻带边界频率可在适当范围内随意设定即可)选择,要使滤波效果明显,自己在合理范围内选择f1和f2即可,采样频率暂设为2 000 Hz。其中通带最大衰减和阻带最小衰减为1 db和40 db。

图11 IIR数字滤波器设计子界面及实例

4 结语

基于MATLAB的GUI的数字信号处理仿真平台的构建方案采用MATLAB开发平台,利用Guide可设计出GUI,可以根据用户GUI的版面设计过程直接自动生成M文件框架,这样就简化了GUI应用程序的创建工作,用户可以直接使用这个框架来编写自己的函数代码。该仿真平台还具有如下一些特点:首先,该平台的结构设计层次分明,用户界面是完全图形化的。其次,在内容的安排上,此平台使学生对本课程的内容有直观的理解,有助于课堂教学。

[1]刘卫东,王艳芬.数字信号处理实验的MATLAB用户界面设计[J].实验科学与技术,2004(3):58-61.

[2]QIU W,HAIWEN Y,YONG C.Teaching probe and practice to modern digital signal processing[J].Beijing University of Aeronautics and Astronautics(Social Sciences Edition),2009(12):77-80.

[3]梁英波,张利红.信号与系统和数字信号处理课程教学改革与实践[J].中国教育技术装备,2013(12):83-84.

[4]陈垚光,毛涛涛,王正林.精通MATLAB GUI设计[M].北京:电子工业出版社,2008.

[5]郭洪源,许维胜,余有灵.基于MATLAB图形用户界面的汽车电子产品线优化设计[J].计算机应用,2011(12):164-168.

Demonstration system of digital signal processing course based on GUI

Tao Yuheng, Qiao Lihong
(Information Science College of Henan University of Technology, Zhengzhou 450001, China)

MATLAB guide is specialized in the graphical user interface environment for rapid development, using optional control of the guide tool to design a friendly interface, then in the corresponding button callback function in programming, designed to generate a typical digital signal. Then we deal with it, and the results show that the "digital signal processing" teaching in a number of important content of the demonstration system design. The designed system can log on and enter the main interface of the system, and then enter the corresponding sub module. The sub module totals seven blocks, were used to develop the design of discrete time signal, the design of discrete time system, the design of discrete linear convolution, the design of discrete Fourier transform, the design of discrete time signal in the Fourier transform, the design of system frequency response, the design of the FIR digital filter and the design of IIR digital filter. Among them, we focus on the design of discrete convolution and filter design and presentation system. This system is helpful to the classroom teaching and can be able to give students intuitive feelings. Even people who not understand the MATLAB language programming can also master and understand it easily, and enjoy the dynamic sense of the picture, which can improve their learning interest in this area.

GUI; digital signal processing; design of filter; convolution

陶玉恒(1990— ),男,湖北鄂州,本科;研究方向:信号处理。

猜你喜欢
傅里叶信号处理滤波器
从滤波器理解卷积
双线性傅里叶乘子算子的量化加权估计
基于小波降噪的稀疏傅里叶变换时延估计
开关电源EMI滤波器的应用方法探讨
《信号处理》征稿简则
《信号处理》第九届编委会
《信号处理》征稿简则
《信号处理》第九届编委会
基于Canny振荡抑制准则的改进匹配滤波器
基于傅里叶变换的快速TAMVDR算法