分层-工程-演示一体化数字信号处理综合实验系统设计

2018-01-29 07:46王雅静窦震海陈文钢宋美春
实验室研究与探索 2017年12期
关键词:信号处理频谱滤波器

王雅静, 窦震海, 刘 伟, 陈文钢, 宋美春

(山东理工大学 电气与电子工程学院, 山东 淄博 255091)

0 引 言

数字信号处理技术是随着信息及计算机科学迅速发展起来的一门科学[1]。由于该技术具有精度高、灵活性好、可靠性强等优点,已被广泛应用于通信、语音、图像处理、雷达、流体等领域[2-7]。与此同时,在工科高校中都开设了该课程。目前,该课程不仅是电子信息、通信专业的重要专业基础课,而且也是自动化、检测、机械等其他专业的重要必修课或选修课[8]。该课程的理论性及实践性都很强,其中含有大量的公式和推导,学生普遍感到比较抽象难懂,学习起来比较困难[9-10]。为了使学生更好地理解本课程,需要设置一些实验教学环节[11-12]。然而,由于目前各高校都在压缩课程总学时数,相应的实验学时也比较少。本课程一般只设几个基础实验。仅有的实验难以满足理想的教学效果,也不能适应各种层次的学生需求,并且实验内容缺乏工程背景,学生难以理解数字信号处理的理论如何用于工程实际。因此,基于作者多年的教学经验,对传统教学方式进行了改进,本文提出了一种分层-工程-演示一体化的教学模式,并基于此教学模式,研究开发了一个综合实验系统。该系统大大地改善了教学质量、激发了学生的学习兴趣、提高了学生的工程实践能力。

1 系统设计

1.1 设计原则

根据多年的教学经验,实验系统考虑3个设计原则:

(1) 目前的高校都是大班授课,学生水平参差不齐,差别较大,传统“一刀切”的实验教学模式不能满足不同层次的学生需求。该系统应该考虑层次性,让学生除了传统的必做实验以外,还可以根据自己水平、兴趣进行选作,满足不同学生层次的实验需求。

(2) 数字信号处理课程的内容来源于工程实践,而学生难以把课程的理论与实际问题相联系。传统的实验内容缺乏工程应用背景,学生不了解这些方法在工程上如何应用,因此,难以激发学生的兴趣。为了改变这种现状,系统应包含多种数字信号处理方法在工程应用方面的实例。这样,不仅有助于学生对教学内容的掌握,而且可以培养学生的工程意识。

(3) 为了使学生加深对课堂抽象理论的理解,需要在课堂教学中增加大量的演示实验。因此,该系统应能够用于课堂演示,要考虑系统的可视性、操作灵活性、方便性等特点。这样,一些实验内容将以课堂演示的形式植入于理论教学。该教学方式不仅能使抽象的理论更加形象直观,而且拓展了实验内容,弥补了实验学时的不足。

1.2 实验设计

基于以上3个原则,根据“数字信号处理”课程的教学大纲要求,设计了分层-工程-演示一体化的综合实验系统。该系统设计了4个层次的实验:基础性(11个)、拓展性(5个)、综合性(3个)、工程性(6个),具体项目如表1所示。基础性实验主要用于课程基本概念与原理的验证与分析,实验内容比较基础,多偏重于验证性实验。拓展性实验侧重于某个重要知识点的进一步加深,侧重于设计性实验。综合性实验设计的目的是提高学生知识的综合利用能力,涉及到的理论方法多,偏重综合设计。工程性实验面向工程应用领域,该类实验设计目的是考察学生综合知识的工程应用,主要针对面对实践能力强、对科技创新有一定兴趣的同学。所有的实验都可以根据课堂内容用于演示,不同的学生也可以根据自己的水平,选择感兴趣的实验编程完成。

2 系统实现

2.1 编程环境选择

Matlab是美国Mathworks公司推出的一款功能强大的科技应用软件。它包含了专门的数字信号处理工具箱[13-14]。其中的一条语句就可以实现较为复杂的算法,如FFT算法、滤波器设计算法等,从而有助于学生将主要精力用于基本原理、基本方法的掌握和实际能力的培养上。另外,Matlab中的GUI可为用户提供一种高效的可视化开发环境[6,15]。通过它,用户可方便地设计各种可视化软件。通过其中的菜单menu、PushButton、Axes、Edit text、Static Text等控件能够方便地设计各种形式的软件布局,并设置其属性、美化软件。为每一个控件和菜单编写相应的回调程序(callback),即可以完成相应的实验功能。对实验中涉及到的参数,也可以通过对话框、下拉菜单、文本框等进行设置,操作简单易行、交互方便。因此,本文采用GUI设计软件界面,并对其进行编程,实现具体实验功能。

2.2 软件结构设计

本系统采用了层次化的设计方法,整个系统包括基础性、拓展性、综合性以及工程性四大基本实验模块。每个基本模块又可分解为若干个子模块,子模块根据功能又可以继续分解。在本系统中,这种层化设计思想可以采用以下两种方式:① 设计不同层次的界面,通过不同层次的界面逐级调用实现。② 采用Windows风格的菜单→子菜单→次级子菜单的方式完成。为了方便用户选择,本系统提供了两种实现方式。整个系统共设计了4个层次的界面,登录界面(1个)→主界面(1个)→基本实验模块界面(4个)→子实验界面(多个)。子实验界面完成具体实验项目。登录界面如图1所示,在登录界面中,点击【登录】按钮,进入下一级主界面。点击【退出】按钮,退出实验系统。点击【软件说明】和【实验指导书】按钮,分别通过编写“open(‘software_manuals. pdf’)” 和“open(‘experimental_instruction. pdf’)”的回调函数,导入两个PDF版的软件说明和实验指导书,供实验者参考使用。主界面如图2所示,其界面提供了4个层次的基本实验模块,点击相应的“基本实验模块”按钮后,进入基本实验模块界面,在每个界面上设置了多个实验项目。同时,在主界面上也设置了【上一页】与【退出】两个按钮。点击【上一页】按钮,返回前一层界面,点击【退出】按钮退出系统。以工程性实验模块为例,在主界面上点击【工程性实验】按钮,其界面如图3所示。其界面上设置了6个工程性实验,点击每个实验项目按钮,可以进入具体实验项目,各个实验项目的界面设计是不同的。同时,为了极大程度地增加系统的方便性,灵活性,在主界面、基本实验模块界面以及实验项目界面上,都提供了菜单式工具栏,点击相应的菜单也可以完成具体的实验项目。这样,不管在任何实验项目下,都可以通过菜单式工具栏方便地进入其他实验。在图3中也包含了菜单式工具栏示例。

表1 实验项目

图1 系统登录界面

图2 系统主界面

图3 工程性实验模块界面及菜单示例

2.3 实验项目设计

在4类基本模块实验中,每个模块都包含多个实验项目,因每个实验项目完成的功能不同,则设计的界面各不相同。每个实验界面的设计方法与主界面的设计类似。在4类实验模块中,各取1个实验项目作为实例进行展示,具体如下。

(1) 基础性实验-FIR数字滤波器设计。窗函数法是FIR数字滤波器设计中一种最常用、最基本的方法[16]。该方法的基本思想是用有限长脉冲响应序列来逼近无限长脉冲响应序列。在有限长的脉冲响应序列获取时,需要采用一定窗函数对无限长脉冲响应序列进行截取。截取的窗函数可以选择矩形窗、三角窗、哈明窗、汉宁窗、布拉克曼窗、凯泽窗等。滤波器设计的类型考虑低通、高通、带通、带阻4种类型。实验界面设计时,分别采用弹出式菜单popupmenu进行滤波器类型、窗函数类型的选择,通过Static Text、Edit text进行滤波器设计参数的输入。设计一个【频谱图】按钮,用于查看所设计的滤波器频谱。设置2个Axes控件分别用于显示滤波器的幅度谱和相位谱。以矩形窗设计低通数字滤波器为例,其实验界面及结果如图4所示。实验首先在图中左侧选择好设计的滤波器类型及窗函数,然后在技术指标部分输入相关参数,最后点击【频谱图】按钮,则在右侧2个Axes控件中显示所设计的滤波器频谱图。另外,在该界面下,也可以通过点击菜单或者右下角的3个按钮进入其他子模块实验,或者退出实验。通过该界面也可以方便地调整实验参数、滤波器类型、窗函数类型,研究其对滤波器频率特性的影响,加深学生对窗函数法设计滤波器的理解。

图4 FIR数字滤波器设计示例

(2) 拓展性实验-小钢琴键盘发声频谱。FFT是数字信号处理中非常重要的算法,谱分析是它的一个非常重要的应用。为了加深对FFT的理解,以“小钢琴键盘发声频谱分析”作为拓展实验项目。该实验界面设计比较简洁,整个界面设计采用12个PushButton控件作为不同音符的键盘、1个【键盘显示】按钮控制键盘的显示,1个Axes控件用于显示不同键盘声音信号的频谱。其实验界面如图5所示。实验时,首先点击【键盘显示】按钮,则在界面下侧显示标有不同音符的12按键,然后点击不同的音符按键,发出不同音符的声音,并采用FFT算法对该声音信号进行谱分析,分析结果在Axes控件中显示出来。图中所示是点击键盘“4”的结果。通过点击不同的键盘,学生们可以感受不同的键盘声音及其频谱的变化。以学生熟悉的小钢琴键盘发声谱分析作为实验项目,容易激发学生的兴趣,从而加深学生对FFT应用的理解。

图5 小钢琴键盘发声频谱分析示例

(3) 综合性实验-异频正弦信号叠加与分离。不同频率的正弦信号叠加与分离是工程实际中是经常遇到的问题。解决该问题需要综合利用数字信号处理的多个知识点。为此,本系统设计了一个“异频正弦信号叠加与分离”的综合性实验项目,其实验界面如图6所示。该实验的设计思路为:① 在信号参数部分,输入2个频率高低不同的模拟正弦信号的振幅、频率,以及它们离散化时的采样频率、采样点数;② 输入信号参数后,点击【信号产生】按钮,则对产生的2个正弦信号进行谱分析,并分别在左下角的4个Axes控件中显示信号的波形及幅度谱;③ 点击【信号叠加】按钮,则对上述两信号进行叠加并进行谱分析,并在右侧上部2个Axes控件中显示信号波形及频谱;④ 在信号参数部分,输入一定的噪声的强度后,点击【信号加噪】按钮,则将输入强度的随机噪声加入叠加信号中,对信号进行谱分析,并在右侧中部的2个Axes控件中显示含噪叠加信号的波形及频谱;⑤ 观察④步骤显示的频谱,点击【分离低频信号】按钮或者【分离高频信号】,根据观察的频谱,可设计相应的数字滤波器对信号进行分离,则在右下角2个Axes控件中显示分离后的信号波形及频谱。在⑤步骤中,当点击按钮后,需要采用一定的滤波器设计方法,设计满足一定技术参数的数字滤波器对信号进行滤波。为了简化软件界面,该部分参数设置及方法选择采用对话框完成。滤波器设计算法可以选择FIR、IIR两种。FIR采用窗函数法,IIR提供脉冲响应不变法、双线性变换法2种设计方法。图6~8所示的结果为设置图中参数时,点击【分离低频信号】按钮分离后的信号结果。该实验也可以任意调整信号的参数、滤波器设计方法、滤波器类型等,界面操作灵活、方便。它综合了谱分析、FIR、IIR设计等多方面的知识,对提高学生的综合分析能力是十分有利的。

图6 异频正弦信号叠加与分离示例

图7 数字滤波器设计方法对话框示例 图8 数字滤波器参数设置对话框示例

(4) 工程性实验-语音信号处理。语音信号处理是一个非常重要的工程应用领域。因此,本系统设计了一个语音信号处理的工程性实验项目。实验项目的界面设计如图9所示。整个界面分为:原始语音信号控制及显示、噪声语音信号控制及显示、语音信号滤波及显示3个区域。该实验的设计思路为:① 点击【输入语音信号】按钮,导入任意录制的一段语音信号,点击【语音信号频谱】按钮,对输入语音信号进行谱分析,并在左下角2个Axes控件中显示信号波形及频谱,同时发出输入语音信号的声音;② 在“噪声语音信号控制及显示”区域输入噪声强度的参数,点击【加入噪声】按钮,在输入信号中加入强度为输入参数的随机噪声,点击【噪声信号频谱】按钮,对噪声信号进行谱分析,在中下部2个Axes控件中显示相应的波形,并输出声音;③ 根据观察原始信号及噪声信号的频谱,可以在“语音信号滤波及显示”区域中输入需设计的滤波器参数(也可通过拉进度条输入),选择好参数后,单击点击【滤波处理】按钮完成对噪声信号的滤波处理,在右下角观察滤波后的语音信号波形及频谱,同时能够听到滤波后的声音效果,并且可以与原始语音信号、噪声语音信号作对比。该实验也可以进行各种参数的调整,研究不同参数的语音信号的处理效果。该实验综合利用了多方面的数字信号处理技术知识,可适合实践能力强、对工程实践有一定兴趣的同学。

图9 语音信号处理示例

3 结 语

数字信号处理课程是一门理论性、实践性都很强的课程。但是由于该课程的学时有限,学生层次差别大、实验内容缺乏工程背景,传统的教学模式难以满足目前的要求。为此,提出了一种分层-工程-演示一体化的教学方法。基于此方法,以Matlab中的GUI作为开发工具,设计了一个综合实验系统。该系统功能强大、交互性好、操作简单,能够完成基础性、拓展性、综合性、工程性4个层次的实验,是一个教师辅助教学、学生辅助学习的很好平台。该平台可以适合不同层次的学生需求、将抽象的理论与工程实践相结合,使大量抽象的算法以更加形象直观的形式表现出来,更易于学生理解和接受。该系统改变了传统的教学方式,拓展了实验内容,弥补了传统实验的不足。目前,该系统已用于本校的课堂与实验教学,实践证明,该系统不仅大大地改善了教学效果,而且也激发了学生的学习兴趣,提高了学生的工程实践能力。

[1] 刘庆玲.基于Matlab的数字信号处理课程融合式教学模式探索[J].广西民族大学学报(自然科学版), 2015,21(4):95-98.

[2] Chen Shih-Jui, Peng Chia-Ju, Chen Yi-Chun. Comparison of FFT and marginal spectra of EEG using empirical mode decomposition to monitor anesthesia [J]. Computer Methods and Programs in Biomedicine, 2016,137: 77-85.

[3] 杨智明,彭喜元,俞 洋.数字信号处理课程实践型教学方法研究[J].实验室研究与探索,2014,33(9):180-183.

[4] Ouarda Raaf, Abd EI Hamid Adan. Pattern recognition filtering and bidimensional FFT-based detection of storms in meteorological radar images [J]. Digital Signal Processing, 2012, 22(5):734-743.

[5] Younis Y Th, Musa S K, Abdalah S F. The rule of bias current of semiconductor laser in chaos communications [J].Results in Physics, 2016, 6: 243-251

[6] 沈 捷,王 莉.数字信号处理教学实验软件包的GUI设计与实现[J].实验技术与管理,2008,25(2):88-91.

[7] 高 悦,陈砚圃,闵 刚,等.基于线性预测分析和差分变换的语音信号压缩感知[J].电子与信息学报,2012,34(6):1408-1413.

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

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

[10] 岳洪伟.基于LabVIEW的数字信号处理虚拟实验平台实现[J].实验技术与管理,2011,28(8):70-72.

[11] 朱金秀,张 卓,朱昌平.数字信号处理课程实验教学研究与实践[J].实验室研究与探索,2008,27(5):96-98.

[12] 葛 青,葛良全,吴建平.“数字信号处理”实践教学改革[J].实验科学与技术,2013,11(5):71-73.

[13] 张智高,张红梅.基于Matlab GUI实现数字图像中值滤波[J].内蒙古民族大学学报(自然科学版), 2013,28(2):154-156.

[14] 王 薇,张明敏.基于Matlab的FIR数字滤波器典型设计[J]. 火力与指挥控制,2009,34(8):156-159.

[15] 尚 丽,淮文军.基于Matlab /Simulink 和GUI 的运动控制系统虚拟实验平台设计[J].实验室研究与探索,2010,29(6):66-71.

[16] 陈明军,毛樟梅. 改进窗函数在FIR数字滤波器设计中的应用[J].电力系统保护与控制,2007,35(13):65-67.

猜你喜欢
信号处理频谱滤波器
一种用于深空探测的Chirp变换频谱分析仪设计与实现
从滤波器理解卷积
一种基于稀疏度估计的自适应压缩频谱感知算法
开关电源EMI滤波器的应用方法探讨
《信号处理》征稿简则
《信号处理》第九届编委会
《信号处理》征稿简则
《信号处理》第九届编委会
基于Canny振荡抑制准则的改进匹配滤波器
基于TMS320C6678的SAR方位向预滤波器的并行实现