项目驱动教学法在《数字信号处理技术》课程中的应用
2017-06-09丁文飞孙会楠赵建新
丁文飞 孙会楠 赵建新
摘 要:针对《数字信号处理技术》课程内容复杂,公式和性质较多,与数学联系紧密等原因导致传统教学模式教学效果较差的问题,提出将项目驱动式教学法应用于课程教学。通过对语音信号进行数字化、时域频域分析、加噪及除噪作为项目任务,完成离散序列时域频域分析、序列运算及滤波器设计等相关章节授课。语音信号取自个人的录音,形象、生动,激发了学生学习兴趣,进行实施过程中发现缺课率明显下降,教学效果明显提高,有待进一步推广应用价值。
关键词:数字信号处理;语音信号;项目驱动教学
中图分类号:G642 文献标志码:A 文章编号:2096-000X(2017)17-0095-03
Abstract: Because the course content of digital signal processing technology is complex, the formula and character are considerable, and this course is closely related to mathematics, the teaching effect of traditional teaching mode is poor. Then this paper puts forward that the project-driven teaching method be applied to the course teaching. The teaching of discrete sequence time domain frequency, sequence operation and filter design and other related sections are completed through the digitization of voice signals, analysis of time domain frequency, taking noise and noise reduction as a project task. Speech signal taken from the individual recording is vivid and simulate students' learning interest. In the implementation process, the absenteeism rate is found to decline markedly, teaching result is improved, and it is worthwhile applying and spreading.
Keywords: digital Signal Processing(DSP); voice signal; project driven teaching
一、概述
數字信號处理技术从60年代后期诞生到现在,从最初应用于语音信号处理到应用于现代的军用及民用技术工程领域,例如航空航天工程、生物医学工程、地球物理工程、通信工程、雷达工程、图形图象识别工程等[1]。教师在《数字信号处理技术》的讲授过程中,通过MATLAB软件进行辅助教学,但仍有70%的学生认为该门课程概念抽象太多、难度偏大、内容较为繁杂,尤其是涉及到大量的数学公式推导,感觉很枯燥,即使配套做一些仿真实验,也由于与实际生产应用相距甚远,看不到该课程的应用前景而产生厌学情绪,教学效果一般。
结合实际教学经验,借助已有MATLAB软件的一些研究背景,本文探讨采用项目驱动式教学法,设计与教学内容相关、与实际生活贴切的实际项目,学生在项目所涉及到基础理论学习基础上,通过自主完成项目实现由被动学习到主动学习的转变,改善课堂教学枯燥,激发学生学习兴趣与求知欲,实践证明教学效果大幅度提高。
二、教学实施过程——以语音信号为例
项目驱动式教学将教学任务分为制定计划、实施计划及教学效果评价三部分组成,其教学实施过程思路如图1所示[2,3]。制定计划主要由教师确定与该课程相关的工程应用实例,将课程知识点细化成任务,并将任务与学生进行多次沟通,下达项目任务。实施计划主要是学生收到任务后,带着任务跟着教师学习相关理论内容,同时查阅资料分析任务,最终在教师的指导下,提出任务的解决方案。最后根据任务的完成情况评价总结教学效果,反馈不足以进一步提出整改措施。
(一)制定计划
首先确定项目选题,所选课题以结合教学大纲要求,学生所熟悉的应用作为背景,满足化虚为实、贴近生活、生产实践、难度适中及覆盖面广为依据,选取作为数字信号处理技术应用中的一个重要分支的语音信号定为该课程项目驱动教学应用实例,既具有明确的时域频域物理意义,又易于获取,且应用也较为广泛,例如模式识别、智能手表、智能银行等。
(二)实施计划
采用的声音文件为Windows操作系统自带的录音机软件录入的wav格式,男声文件或女声文件不限,进行数字信号处理技术课程中的模拟信号数字化及序列运算、离散信号傅里叶变换、数字滤波器的设计等三章内容的学习[3]。
1. 语音信号时域及频域分析
通过声卡进行语音录音,利用MATLAB软件读取语音文件,利用函数[y,fs,nbits]=wavread('C:\yuyin.wav')对语音信号进行采样,并返回采样频率及采样点数。接着以采样频率和采样点数的概念作为引导,通过《连续时间信号的抽样》的内容理论讲解及MATLAB仿真验证,得到采样定理(即奈奎斯特定理),一般实际应用中采样频率是最高频率的5-10倍[4]。
图2是一段语音信号在采样频率为44.1kHz的时域波形图,从图中可以看出,语音信号具有“短时性”的特点,且在一段较短的时间间隔内,语音信号保持平稳。接着对语音信号进行频谱分析,在MATLAB中可以利用fy=fft(y,N+1)函数对语音信号进行快速傅里叶变换,得到离散语音信号的频域图如图3所示。从频谱图中可以看出,这段语音信号的频率主要集中在2.5kHz左右,当采样频率为44.1kHz 时,由于采样频率比较大,采样点数越密,故所得离散信号就越逼近于原信号频谱,也没有发生混叠。
通过语音信号频谱分析,引导学生思考为什么进行频谱分析,以及FFT变换的基本原理是什么?即引出DFT及FFT等章节内容,可以完成以下知识点的教学:
(1)DFT变换的基本原理及性质。
(2)FFT是DFT变换的快速算法。
(3)FFT变换的基本原理及算法蝶形图。
2. 带有噪声的语音信号分析
在原始语音信号的基础上人为混入随机噪声,可引导学生思考如何完成语音信号添加噪声过程,即引入离散序列运算的教学内容。即教学任务为:在MATLAB中人为设计一固定频率2kHz的噪声干扰信号,该干扰信号用余弦序列代替,加入到离散语音信号中去,观察时域及频域变化情况。
噪聲信号函数为d(n)=[10*cos(2*pi*2000*n)],语音信号函数为y(n),则语音信号与噪声信号的算术运算主要有加、减、乘等,其运算法则相同,即同序号的序列值逐项对应相加、减、乘而构成一个新序列。这里主要讨论加法运算,即y1(n)=y(n)+d(n)。图4为噪声信号频域波形图,图5为加噪声前后语音信号的频谱图。
由图3可以看出引入噪声的最高幅值较小,故图5中加噪声前后频谱图的对比变化不大,但通过音频回放,可以明显听出有尖锐的单频啸叫声混杂在语音信号中。通过上述教学任务,使学生比较直观理解序列的加法运算,并还可以进一步完成以下知识点的教学:
(1)序列的乘法运算。
(2)序列的移位、反折、尺度变换等自变量运算。
(3)强化FFT的应用。
3. 数字滤波器的设计
上述在原始语音信号的基础上混入随机噪声,接着引入下一个教学任务,即设计合适的数字滤波器,滤除随机噪声,从而引出“数字滤波器设计”章节内容。即本次设计任务:通过双线性变换法设计合适的巴特沃斯低通滤波器,将语音信号中的噪声滤除,要求学生带着问题学习教材第6章、第7章的教学内容,具体完成以下知识点的教学:
(1)滤波器的概念、种类、步骤。
(2)模拟巴特沃斯、切贝雪夫、椭圆型IIR滤波器设计方法。
(3)通过冲激响应不变法及双线性变换法如何实现模拟滤波器向数字滤波器转换。
(4)窗函数法FIR滤波器的设计方法。
(5)数字低通滤波器在语音信号处理中的应用。
依托理论学习,学生分组独立完成设计任务,为将2kHz高频噪声信号滤除,设计滤波器的参数如下:通带截止频率wp=0.25*pi,通带最大衰减Rp=1,阻带截止频率ws=0.3*pi,阻带最小衰减Rs=15。具体设计过程由MATLAB实现[5]。
该滤波器的频率响应图如图6所示,从图中可以看出,该滤波器将大于等于2kHz的高频信号将滤除,通过低通滤波器(图6)后,再通过MATLAB中语音回放函数将滤波前后的信号进行播放,明显发现滤波器滤波后语音信号质量提升很多,但仍存在杂声。
4. 扩展任务
由图6及语音回放可得,通过低通滤波器滤除2kHz高频干扰,并不是理想的解决方案,原因在于在滤除噪声的同时,也滤除了语音信号2kHz以上的高频分量,造成信号畸变。针对该问题,可引导学生提出以下三种解决方案:
(1)设计仅滤除2kHz附近频率分量的带通滤波器,以避免丢失语音信号高频分量。
(2)从图4可以看出除了在2kHz以外,在2kHz成倍数关系的频率处,也有可能出现谐波干扰,因此需考虑设计同时滤除单频干扰的基波分量与各谐波分量的数字陷波器。
(3)关于系统不稳定导致频率出现波动(±3%),此时考虑设计自适应滤波来解决。
对于以上三点解决方案,可以作为学生扩展任务,留给学生讨论,以提高学生分析问题、解决问题的能力。
(三)教学成果评价
对于项目驱动式教学,考查注重的是过程而不是结果,将总成绩分为试卷考试成绩、项目教学部分和平时成绩三部分。试卷成绩主要体现学生对基础知识的掌握情况,占总成绩的30%,项目教学部分主要考查学生对基础知识灵活运用情况及自身实践动手能力,占总成绩的50%,平时成绩主要考查平时出勤、课堂表现和作业等,占总成绩的20%。
在三部分考查内容中,其中项目教学部分占比例比较大,引起学生的足够重视。为了做到公平,这部分评价采取教师评价、组内评价和自我评价相结合的方式,按照其在项目完成过程中的贡献并在小組整体评价的基础上酌情增减。另外,评价结果也为下一次的项目教学整改提供依据,形成一个闭环教学体系。
三、实施效果
在通过一轮语音信号处理为实例进行驱动式教学过程中,取得了很好的教学效果,现总结如下:
1. 实现了学生学习观念的转变。由“要我学”转变到“我要学”,激起学生求知欲望,不断地获得成就感,从而提高独立探索和勇于开拓进取的自学能力。
2. 真正体现课堂与实际应用衔接。学生深切体会到了理论的实际应用,及其迫切解决实际应用的需求,促进了学生课堂听讲的积极性,提高学生分析问题和解决问题的能力。
3. 学生最终评价更加合理准确。采用“自评互评师评”方式,既能体现每位同学的贡献,又能突出实际动手能力的重要性,还对交流能力、表达能力、团队协作精神的培养有着良好的促进效果。
4. 教师的教学科研能力得到提升。教师从选题背景、项目设计、知识点的蕴含与组织,到项目指导、学生评价等各方面都需大量的知识准备,另外,在指导学生完成项目任务的同时,教师自身的工程实践能力和科研开发能力也得到锻炼和提高。
四、结束语
本文以语音信号分析为工程应用实例,探讨了项目驱动式教学在数字信号处理技术课程教学过程的应用,使学生在项目任务引导下,由被动变为主动学习所需知识点,按照设计要求不断提出问题、分析问题,确定设想及思路解决问题,为学生提供自由的发挥空间,提高学生综合运用基础知识的能力,最后每位学生通过综合评价体系获得公平、合理的评价结果。此教学方法在我校通信工程专业已开展一轮,教学效果明显提高,在其他理论课程,尤其是实践类课程的教学改革中具有一定的推广借鉴价值。
参考文献:
[1]胡泊.现代数字信号处理的应用和发展前景[J].信息系统工程,2017:112-113.
[2]林英,李彤.创新设计课程项目驱动教学法探索[J].计算机教育,2015(9):72-74.
[3]曹新亮,邵婷婷.转型期地方高校“项目式任务驱动”教学模式的改革与实践——以电子信息工程专业本科生工程素质培养为例[J].教育现代化,2015:6-9.
[4]程佩青.数字信号处理教程[M].北京:清华大学出版社,2013,3.
[5]赵楠,李世豪.Matlab在语音信号处理教学中的应用[J].实验科学与技术,2015,13(6):54-57.
[6]沈希忠.数字信号处理课程的应用型教学模式探索[J].高教学刊,2016(22):98-99.