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

2015-10-14 06:39:38李建成赵有石
电子科技 2015年4期
关键词:图形用户界面信号处理控件

李建成,邴 锐,赵有石

(1.兰州交通大学 光电技术与智能控制教育部重点实验室,甘肃 兰州 730070;2.中铁21局集团有限公司 电务电化工程公司,甘肃 兰州 730070)

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

李建成1,邴 锐1,赵有石2

(1.兰州交通大学 光电技术与智能控制教育部重点实验室,甘肃 兰州 730070;2.中铁21局集团有限公司 电务电化工程公司,甘肃 兰州 730070)

Matlab中的Guide是专用于图形用户界面的快速开发环境,利用该工具编程开发的数字信号处理课程演示系统,完成了用户登录界面、系统选择主界面和两个内容子模块界面的设计和编程。其中,在两个内容子模块中开发了常用典型序列的产生、基本运算、离散线性时不变系统、时域离散傅里叶变换、离散傅里叶级数、离散傅里叶变换、DFT和FFT的应用、滤波器的设计和语音信号处理等Matlab辅助分析与设计实验,该系统直观且形象,界面美观大方。

Matlab;图形用户界面;数字信号处理;课程演示系统

1 图形用户界面(GUI)

图形用户界面开发环境(Graphical User Interface Development Environment,GUIDE)是Matlab软件中的一个向导设计器,这一向导设计器是为GUI而专门设计的。通过图形用户界面开发环境可以方便地按照用户要求进行设计,且设计出的图形用户界面容易操作[3-4]。应用Matlab GUI的交互式教学平台,学生便可将精力放在计算结果的分析和理解上,而不是放在编写Matlab程序上。

2 系统方案设计

利用Matlab R2011b(7.13.0.564)的Guide工具箱设计和实现了《数字信号处理》课程实验系统平台的图形用户界面,系统由4个GUI界面构成:用户登录界面、系统主界面及两个子模块界面。整个系统结构示意图如图1所示。

图1 系统总体结构示意图

界面布局采取自顶向下模式设计方法,即界面布局设计的顺序是先设计主界面和引导界面,然后再设计子界面。编写回调函数采取自底向上的顺序进行,即先编写所有的子界面的回调函数,然后再编制引导界面和主界面的回调函数[5]。

交互式教学系统设计的思路和流程如下:(1)设计交互式教学系统的主界面、引导界面和两个子界面。这些界面的设计可以使用Matlab中的Guide所提供的用于建构用户图形界面的一系列工具。(2)用回调函数编制两个实验子界面中的所有控件对象所需的一系列程序,以达到实现控件所对应的控制功能,实现可通过界面上的控件直接控制数据的输入,并直接、方便地实现对实验内容和结果进行对照分析。(3)用回调函数编写系统引导界面和主界面的程序,通过这些程序实现将两个子界面整合起来。

该GUI界面左侧以静态文本(static text)给出实验者姓名和学号及指导老师姓名等信息。右边是两个pushbutton按钮,通过回调函数callback点击后分别进入下一级系统子界面,并关闭当前GUI界面。

图2 用户登录界面和系统主界面

3 课程内容设计

系统子界面有两大子模块:模块一为离散信号和系统及DFT和FFT;模块二为滤波器设计及语音信号处理。两个子界面如图3所示。

图3 子模块一界面和子模块二界面

离散信号和系统及DFT和FFT子模块包含内容繁多,界面设计主要使用Guide中的菜单编辑器(Menu Editor)创建自定义用户界面菜单对象uimenu的方式来实现课程体系内容的仿真。点击界面中的close控件后,会关闭当前界面同时再返回主界面。点击clear控件后,会在任何情况下清除坐标轴中的图形。该控件对象的回调函数程序段:

function clear_Callback(hObject,eventdata,handles)

try

delete(allchild(handles.plotarea));

end

滤波器设计及语音信号处理子模块采用控件对象uicontrol的方式来实现滤波器设计中要求的参数可变功能。Matlab 的GUI的基本图形对象分为控件对象uicontrol和用户界面菜单对象uimenu,简称控件和菜单。

3.1 离散信号和系统及DFT和FFT模块

离散信号和系统及DFT和FFT子模块包括:常用典型序列的产生、基本运算、离散线性时不变系统(离散LSI)、时域离散傅里叶变换(DTFT)、离散傅里叶级数(DFS)、离散傅里叶变换(DFT)及DFT和FFT的应用等。

信号一般分为时域连续信号和时域离散信号,其中时域离散信号也称为时间离散信号或序列。在数字信号处理中,序列是其处理核心,同时,序列也是离散系统的载体,所以本实验系统平台的设计首先要对基本典型有一定的认识和了解,掌握其产生方法。系统选取9种典型序列进行学习,即单位采样序列、单位阶跃序列,矩形序列、斜坡序列、正弦序列、实指数序列、复指数序列、随机序列、周期序列。针对序列的基本运算有相加、相乘、移位、翻转、尺度变换、奇偶合成、及线性卷积等[6]。

课程系统在演示对DFT物理意义的理解时,设一个长度为M的有限长序列x(n),其相应的Z变换和N(N≥M)点DFT分别为

(1)

(2)

通过比较上式可得如下关系

(3)

(4)

式(3)说明序列x(n)的N点DFT是x(n)的Z变换在单位圆上的N点等间隔采样。式(4)表明X(k)为x(n)傅里叶变换X(ejw)在区间[0,2π]上的N点等间隔采样。这就是DFT的物理意义[7]。

点击“DFT物理意义”菜单选项后,得出矩形序列x(n)=R4(n)的16点和32点DFT,结果如图4所示。可知,X(ejw)在频率[0,2π]上的16点和32点等间隔采样,分别为16点和32点DFT。即验证了DFT的物理意义。

图4 矩形序列的x(n)的16点和32点的DFT 和DTFT的比较

频域采样定理规定:对于有限长序列x(n),其长度为M,只有当频域采样点数N≥M时,才有

(5)

即可由频域采样X(k)恢复出原序列x(n),否则将产生时域混叠现象。点击“频域采样定理验证”菜单选项后,通过长度为M=26的三角形序列x(n)来验证其理论。运行结果如图5所示。

图5 频域采样定理的验证

如图5所示,当采样点数N=16M=26时,不再有时域混叠失真,x32(n)=IDFT[X32(k)]=x(n)。

点击“不同采样点数N的FFT幅频图”菜单选项后,画出了一个由15 Hz、幅值为0.5的正弦信号和40 Hz、幅值为2的正弦信号组成的信号的N=128点和N=1 024点的幅频图,数据采样频率Fs=100 Hz。运行结果如图6所示。

图6 不同采样点N的FFT幅频图

从图6分析,由于采样频率Fs=100 Hz,Nyquist频率为Fs/2=50 Hz。整个频谱图以Nyquist频率为对称轴。并可明显识别出信号中含有15 Hz和40 Hz两种频率成分。由此可知傅里叶变换的数据对称性。因此,利用FFT对信号作谱分析时,只需分析0~Nyquist频率方位的频谱特性即可。

3.2 滤波器设计及语音信号处理模块

滤波器设计及语音信号处理子模块包括:IIR滤波器和FIR滤波器的低通、高通、带通的设计、原始语音信号和加噪后信号的时域和频域分析、加噪信号通过设计的各种滤波器后的时域和频域分析以及语音处理前后的回放等功能。

本课程演示系统关于滤波器设计所能实现的功能任务有:(1)能够实现人机交互。(2)滤波器的幅频响应显示在主界面中,同时以figure形式弹出其幅频和相频特性,以便截图。(3)采样频率Fs、通带截止频率Fpass、阻带截止频率Fstop、通带最大衰减Apass和阻带最小衰减Astop都能通过动态文本编辑框控件来实现参数的实时改变。Apass和Astop参数的可变性对IIR和FIR的低通、高通滤波器均有效。带通滤波器的参数设置已固定,通带上、下边界频率分别固定为1 200 Hz和3 000 Hz,阻带上、下边界频率分别为1 000 Hz和3 200 Hz。

根据后边语音信号的特点,指定具体参数指标的滤波器设计如图7所示。

图7 不同类型滤波器的设计

使用PC机上的声卡和WINDOWS操作系统可进行语音信号的采集、加噪、处理及回放等[8-9]。系统选取自身剪切的歌曲作分析,文件后缀都默认为.wav,这是Windows操作系统规定的声音文件存的标准。文件的时间长度为t=6.134 s,采样数据点数为N_data=49 068。首先,调用Matlab中的rand或randn随机函数产生噪声,并将噪声加入到语音信号中,仿真污染了语音信号,在此基础上分析其频谱。通过对上述的加噪声处置后,可调用sound函数进行回放声音,可聆听感受加噪前后声音变化情况;然后,再通过利用前面自行设计的各滤波器分别对加噪的语音信号进行滤波处理,其处理过程如图8所示。

语音信号经相应滤波器的处理后,可通过点击其对应的Playback分别回放FIR和IIR的低通、高通、带通滤波后的声音。

4 结束语

基于Matlab设计了一套适应于《数字信号处理》课程的交互式教学平台,该平台利用Matlab的图形用户界面(GUI)设计工具,保证了一定的开放性。该平台采用图形交互界面,不仅可用于实验教学和辅助理论教学,且操作起来较为方便、直观。实践证明,该教学实验辅助平台具有良好的教学效果,提高了同学对课程理论的理解和内容的掌握。

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

[2] Wang Qiusheng,Yuan Haiwen,Cui Yong.Teaching probe and practice to modern digital signal processing[J].Journal of 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.

[6] 潘子宇.Matlab7.6在数字信号处理课程实践教学环节中的应用[J].中国电力教育,2012(10):97-98.

[7] 丁玉美,高西全.数字信号处理[M].西安:西安电子科技大学出版社,2000.

[8] 黄永平,田秀丽,田晓燕.“数字信号处理”课程教学改革与实践[J].电气电子教学学报,2013(2):39-40.

[9] 惠玲.基于Matlab-Gui用户界面的数学课堂教学探讨[J].数学学习与研究:教研版,2008(3):2-3.

Study of the Demonstration System of the “Digital Signal Processing” Course Based on GUI

LI Jiancheng1,BING Rui1,ZHAO Youshi2

(1.Ministry of Education Key Laboratory of Optoelectronic Technology and Smart Control,Lanzhou Jiaotong University,Lanzhou 730070,China;2.Electricity and Electrochemical Engineering Company,China Railway 21stBureau Group Co.,Ltd.,Lanzhou 730070,China)

The GUIDE of Matlab is a quick development environment specially used in the graphical user interface.In the demonstration system for the course Digital Signal Processing developed by this tool,the user login interface,the main interface selected by the system,and two sub-module interfaces are designed and programmed.For the two content sub-modules some Matlab aided analysis and design of experiments such as typical sequence generation,basic operations,discrete linear time invariant systems,time domain Discrete Fourier Transform(DTFT),Discrete Fourier Series(DFS),DFT,applications of the DFT and FFT,filter design and speech signal processing are developed.The system interface is friendly and open,which is beneficial for students to comprehend the DSP theory and greatly improve the teaching effect and efficiency.

Matlab;graphical user interface;digital signal processing;course demonstration system

2014- 10- 23

甘肃省青年科技基金计划基金资助项目(1308RJY096);甘肃省高校科研项目(2013A-050)

李建成(1988—),男,硕士研究生。研究方向:铁路交通信息工程及控制。E-mail:jianch1106@163.com

10.16180/j.cnki.issn1007-7820.2015.04.021

TN919

A

1007-7820(2015)04-076-04

猜你喜欢
图形用户界面信号处理控件
图形用户界面外观设计专利保护问题探析——以“奇虎诉江民案”为例
《信号处理》征稿简则
信号处理(2018年5期)2018-08-20 06:16:02
《信号处理》第九届编委会
信号处理(2018年5期)2018-08-20 06:16:00
关于.net控件数组的探讨
软件(2018年7期)2018-08-13 09:44:42
《信号处理》征稿简则
信号处理(2018年8期)2018-07-25 12:25:42
《信号处理》第九届编委会
信号处理(2018年8期)2018-07-25 12:24:56
浅谈图形用户界面(GUI)技术专利现状
电子测试(2018年9期)2018-06-26 06:46:34
图形用户界面法律保护问题与对策
就这样玩会VBA中常见的自定义控件
电脑迷(2012年24期)2012-04-29 00:44:03
MiniGUI在基于OMAP5912开发板上的移植