分层递进式“数字信号处理”实验系统的开发与实现

2016-09-06 05:14庆贺殷贤华许川佩
实验技术与管理 2016年3期
关键词:数字信号处理信号处理控件

庆贺, 马 峻, 殷贤华, 许川佩

(桂林电子科技大学 电子工程与自动化学院, 广西 桂林 541004)



分层递进式“数字信号处理”实验系统的开发与实现

庆贺, 马峻, 殷贤华, 许川佩

(桂林电子科技大学 电子工程与自动化学院, 广西 桂林541004)

针对普通高校生源、学生基础水平存在较大差异的问题,提出一种层次递进式实验教学方案,即根据学生的能力水平设计不同的教学任务,引导学生由浅入深、由基础到应用逐层递进。遵循此原则设计开发了基于Matlab GUI的“数字信号处理”实验系统,分为“基础篇”、“拓展篇”和“应用篇”,以使不同层次的学生在知识和能力上都能得到提高和发展。实践表明,该教学形式深受学生喜欢,取得了良好的教学效果。

分层递进; 实验系统; GUIDE; 数字信号处理

为适应社会发展的需要,我国自1999年开始了大规模的扩招,更多的学生获得了接受高等教育的机会,原来的精英教育也开始向大众教育转变[1]。但师资和基础设施的相对短缺,致使几乎所有的高校都采取了大班制教学,与此同时普通高校生源素质不断下滑,学生基础水平参差不齐,传统上整齐划一的教学任务和要求使得一部分学生“吃不饱”,一部分学生又“消化不了”[2],不能满足不同层次水平学生的知识需求。“数字信号处理”理论性强、内容抽象,含有大量的公式推导或性质的证明,被公认为大学课程中最难学的课程之一[3]。传统实验采取“一刀切”的方式,即无论实验难易都必须完成,使得部分学生产生畏惧心理[4]。在学生基础知识存在明显差异的情况下,本文依托于Matlab图形化用户界面GUIDE,设计开发了一个实验系统,通过在界面直接输入参数就可观察波形,从而降低了知识的起点,并有区别地设计教学内容,逐级深入,以满足不同层次学生的学习需求,激发其学习的兴趣。

1 系统设计原则

教育的理想是使所有的学生都接受适合于他们的教育。根据差异性原则,实验系统采用分层递进式教学模式,即在学生基础知识存在明显差异的情况下,通过针对不同类型学生的接受能力与特点设计不同层次的教学目标、教学内容和教学方法,以及利用不同的教学手段,分类指导、逐级深入,以充分调动学生学习的积极性,使不同层次的学生都各有所得,全面提高教学质量,达到教育的共同发展[5-6]。

“数字信号处理”课程开设在大学三年级上学期,先修课为“信号系统与分析”、“Matlab及应用”和“线性代数”等,经过两年的学习,学生之间已存在明显的差异。本着“既要让好学生吃好,又让差学生吃饱、消化好,跟上队伍”的目标,遵循低起点、层次递进的设计原则,将实验系统分为基础篇、拓展篇和提高篇,见表1。

表1 实验分层的应用人群和侧重方向

教师通过综合考虑学生的基础知识结构和动手能力而将学生划分为初级、中级和高级,划分的主要依据是学生的课程考试成绩、软件编程能力等。一般来说,初级是指基础课考试成绩较差者或有多次补考、重修记录者,中级指成绩一般者,高级指学习成绩较好、动手能力强的学生。当然对于分级的结果,教师要做到自己心中有数,并不向班级公布,以防伤害学生的自尊心[7]。实验系统针对不同层次的学生设置不同的实验任务和要求,以弥补大班教学无法兼顾学生学习能力差异的不足,提高因材施教的可操作水平。

2 系统实现

实验系统在基于Matlab软件的GUIDE环境下开发完成。

2.1GUIDE简介

Matlab是由美国Mathworks公司于1982年推出的高性能数值计算和可视化软件,其内含有信号处理工具箱和大量的数学函数,并为用户开发图形界面提供了一个方便高效的集成开发环境GUIDE(graphics user interface, GUIDE)。利用此开发环境,用户不需编写大量的代码,只需采用拖拉的形式将所需控件有序地放置于界面即可,界面设计方便简单,而且图形用户界面是由按键pushbutton、静态文本text、编辑框edit、坐标轴axes等组成[8]。

首先打开GUIDE开发环境,用鼠标将所需的控件移至界面编辑面板,在属性编辑器(property inspector)中修改各控件的属性,如string、tag、fontsize、title、Name等,然后调整控件位置或利用控件对齐工具(align objects)调整控件间的距离,以使界面美观。之后保存运行即可显示图形界面,并产生一个包含GUI初始化和组件界面布局控制代码的M文件。进入对应的M文件编辑器中编写程序,也就是在相应控件的回调函数中添加代码以响应控件的行为。

2.2系统总实现方案

图1为实验系统的总界面,包含了所有实验项目的链接控件和实验系统使用说明。点击控件“实验系统使用说明”,可打开一个PDF文档(设其文件名为readme.pdf),用于介绍所有实验项目的内容和要求。具体实现方法为在该控件所对应的回调函数Callback中添加如下代码:open(‘readme.pdf’);点击控件“退出实验系统”可退出系统,实现方法为在其回调函数中添加代码:close all。

图1 实验系统设计总界面

除此之外的其他控件均链接到各实验项目的图形子界面,子界面也在GUIDE环境下开发完成。若子界面的文件名为analog_spectrum.m和analog_spectrum.fig,则实现链接的方法只需在其回调函数中添加代码analog_spectrum即可。注意该文件必须是在当前目录下,否则代码中应添加文件路径。

function pushbutton2_Callback(hObject, eventdata, handles)

% hObjecthandle to pushbutton2 (see GCBO)

% eventdatareserved - to be defined in a future version of MATLAB

% handlesstructure with handles and user data (see GUIDATA)

analog_spectrum

3 子系统设计与实现

实验系统包括3个部分:基础实验、拓展实验和综合设计实验。

3.1基础实验

基础实验面向所有学生,帮助学生分析和验证信号处理相关理论和算法。为避免学生对编写程序的恐惧心理,实验系统一律采用图形化用户界面,用户只需按要求输入参数就可显现信号波形,从而降低了该课程学习的起点,促使学生将更多的精力放在对基础理论知识的理解和掌握上。对于中高级学生,需在此基础上进行Matlab软件编程能力的训练。

基础实验有4项:离散时间信号的基本运算、模拟信号的频谱分析、滤波器设计与应用、抽取和内插信号的频谱分析。具体的实验要求、参考程序等信息可点击各子界面中的“实验要求”控件进行查阅。

(1) 离散时间信号的基本运算。在文本框中输入具体序列的幅值x和时间n,点击控件即可完成离散时间信号的加法、减法、乘法、反折、移位、采样和内插等基本运算,在图形区观察运算结果的信号波形,加深对离散信号的理解。学习impseq、sigadd、sigfold、sigshift等典型函数文件的调用,对于中高级学生则需利用这些函数编写程序完成指定序列的运算。

(2) 模拟信号的频谱分析。对给定的模拟正弦叠加信号进行频谱分析,通过修改参数(采样频率、时域采样点、频域采样点)观察频谱波形的变化,理解采用DFT对模拟信号进行频谱分析这种近似化处理产生的误差和抽样间隔对信号频谱的影响[9]。

(3) 滤波器设计与应用。学习Matlab自带的滤波器设计及分析工具FDATool进行滤波器设计,并通过对频率为6 500Hz、7 000Hz和9 000Hz的正弦叠加信号滤波,如图2所示。通过观察滤波前后的频域波形,理解和掌握滤波器参数的设置(类型、截止频率、通带纹波、阻带衰减等)对滤波效果的影响。对于初级者只要求学习FDATool、SPtool、WVtool等滤波工具的使用[9],学习滤波参数的选取;对于中高级者要能够用具体的Matlab函数(如firl、hamming、kaiser、butter、filter等)编程设计实现滤波过程。

图2 模拟信号的滤波实验界面

(4) 抽取与内插信号的频谱分析。如图3所示,首先装载数据画出其对应的频谱,而后分别进行抽取和内插分析,移动滑动条改变抽样(内插)的比率,其频谱也会发生对应的改变。通过观察波形的变化,理解产生的失真类型、原因和消除方法。中高级者要求掌握load、upsampling、resample等函数的使用及编程实现抽取内插。

图3 抽取与内插频谱分析界面

3.2拓展性实验

古人云:“教人未见其趣,必不乐学。”因此调动学生的学习兴趣关系到教学的成败与否。系统引入数字音频信号,借助图形、声音的形式将理论知识与实际应用有机结合,拓展实验的深度和广度,增强工程实践意识,以激发学生的学习兴趣和学习动力。

拓展性实验作为基础实验项目的延伸,适用于所有感兴趣的学生,目的主要是为了拓宽学生视野,让其从枯燥的理论知识的学习中体会到学习的乐趣。项目包括语音信号的频谱分析、加噪语音信号的滤波、语音信号抽取和内插频谱变换、DTMF电话拨号音的合成与识别。对于中高级或感兴趣的学生,给出部分参考程序引导学生编程实现部分功能,以培养学生利用计算机解决实际问题的能力。实验说明如下:

(1) 语音信号的频谱分析。打开音频文件,可显示其时域波形图和信号的采样频率,点击控件可显示信号频谱图。添加噪声信号后可显示加噪后音频信号的时域和频域波形图,其中噪声信号采用下拉列表的形式,分正弦信号、均匀分布噪声信号和高斯正态分布噪声,参见文献[10]。

(2) 语音信号的滤波分析。设计滤波器对加噪后的音频文件进行滤波,并观察滤波前后的时域和频域波形,同时通过聆听前后音频效果来理解和掌握参数设置对滤波效果的影响。

(3) 语音信号抽取和内插分析。改变采样或内插变化倍数,观察其对应的频谱变化,播放音频,感受采样率变化对声音信号的影响。如图4给出了内插前后的频谱图,从中可知信号发生了镜像失真,聆听音频效果时会发现声音中混有尖尖的咝咝声。若点击采用抗混叠滤波后再进行内插,即可消除这种失真,声音恢复原样。

图4 语音信号抽取与内插频谱分析

(4) DTMF电话拨号音的合成。双音多频DTMF(dual tone multi-frequency)信号是由两个特定的高频和低频正弦信号的组合来代表某数字或功能键,如图5所示,可模拟拨电话号码的声音。

图5 DTMF电话拨号音的合成

3.3综合设计性实验

学习的目的是能够“为我所用”和“学以致用”。针对那些学习兴趣浓厚、动手能力强且学有余力的学生,实验系统以工程应用为背景,提供了若干个应用性综合设计性实验项目,如加噪语音信号处理、多抽样率语音信号处理、数字语音变声系统设计、数字均衡器、基于FPGA的FIR/IIR数字滤波器设计等。

为保证实验的顺利进行,在明确实验项目的具体要求后,对于部分能力欠佳但感兴趣的学生,教师可根据学生能力水平的高低混合编组,引导学生有针对性地收集文献资料、提出合理可行的设计方案、指导实现并提交完整的设计说明书[11]。验收时可采取逐个验收或分组答辩的形式。对于成绩评定不能搞“一刀切”,要综合全面地考虑。通过学生参与设计、编程实现和撰写文档,可有效培养学生文献检索能力,加深对理论知识的系统性理解和掌握,锻炼软件编程能力。这样不仅有助于提高学生独立分析和解决问题的能力,也培养了学生的自我学习能力、科研写作能力和相互交流协作的团队精神[12],为其今后的学习和工作奠定坚实的基础。

4 结语

教学应面向全体,力争让所有学生在学习过程中都能有所收获,各得其所。实验系统采用人机交互界面,通过让参数具有可调性使得信号分析过程变得简单直观,降低了入门的起点,并引入了工程实践应用实例,激发了学生学习的兴趣。针对不同层次的学生,实验要求层层递进,并鼓励低层的学生向高层次升迁,使不同层次的学生都能得到提高和发展,体验学习的乐趣,避免了高不成低不就的现象。

References)

[1] 陈艳莲.高校大班教学存在的问题及教学方法的优化[J].教育与职业, 2011 (12):164-165.

[2] 蒋兰玲,张爱国,宋平.大学计算机基础分级教学模式的探讨[J].高等农业教育,2011(9):53-55.

[3] 刘大年,史旺旺,孙贵根,等. “数字信号处理”课程的形象化教学方法探索[J].电气电子教学学报, 2006,8(4):104-107.

[4] 王秋生,袁海文.《数字信号处理》课程的分层实验教学方法[J].北京航空航天大学学报:社会科学版, 2011,24(5):109-112.

[5] 张晓云.基于差异性的分层教学理论与实践[J].重庆科技学院学报:社会科学版,2007 (增刊1): 39-41.

[6] 程艳红,朱汝葵. “分层递进教学”研究综述[J]. 内蒙古师范大学学报:教育科学版,2005,18(6):29-32.

[7] 王先荣.大学英语隐性分层教学实验研究[J].山东外语教学,2005(1): 51-53.

[8] 施晓红,周佳. 精通GUI图形界面编程[M].北京:北京大学出版社,2003.

[9] 董庆贺.数字信号处理的教学改革探索与实践[J].教育教学论坛, 2012(34): 42-44.

[10] 董庆贺, 殷贤华,李伟,等.面向卓越工程师的课程教学研究与探索[J].实验技术与管理, 2014,31(7): 169-171.

[11] 沈媛媛.基于MATLAB的数字信号处理综合性实验设计[J].实验室研究与探索,2009,28(8):60-61.

[12] 张小林,周美华,李茂康.综合性、设计性实验教学改革探索与实践[J].实验技术与管理, 2007,24(7):94-96.

Development and realization of experimental system based on hierarchy ladder model for digital signal processing

Dong Qinghe, Ma Jun, Yin Xianhua, Xu Chuanpei

(School of Electronic Engineering and Automatic Technology, Guilin University of Electronic Technology, Guilin 541004, China)

In view of the students’ differences about source structure and basic level, one hierarchy and ladder mode is proposed. In this mode, teaching objectives are clarified into different layers from the simple to the difficult and from the basic to the applicble according to the difference of the students’ ability. Following this principle, one experimental system based on the digital signal processing is realized using Matlab GUI, which is divided into the following three sections: foundation, development and application, in order that different students can improve their knowledge and abilities. Practice shows that this system is favorable to the students and has obtained the good teaching effect.

hierarchy ladder; experimental system; GUIDE; digital signal processing

10.16791/j.cnki.sjg.2016.03.051

2015- 01- 06修改日期:2015- 03- 16

广西教育科学“十二五”规划课题(2013C023);广西高等教育教学改革工程项目(2013JGB147,2014JGA136);桂林电子科技大学教育教学改革项目(JGA201404)

董庆贺(1978—),女,河南泌阳,硕士,讲师,主要从事信号处理方面的理论教学与实验教学研究.

E-mail:daphny@guet.edu.cn

TP319;G642.0

A

1002-4956(2016)3- 0202- 04

猜你喜欢
数字信号处理信号处理控件
《信号处理》征稿简则
《信号处理》第九届编委会
关于.net控件数组的探讨
《信号处理》征稿简则
《信号处理》第九届编委会
《数字信号处理》中存在的难点问题解析
电子信息工程专业数字信号处理课程改革与研究
SPTool在数字信号处理课程教学中的应用
ASP.NET服务器端验证控件的使用
基于嵌入式MINIGUI控件子类化技术的深入研究与应用