杜世民, 杨润萍, 钟志光, 孙乐鸣
(宁波大学 科学技术学院, 浙江 宁波 315212)
应用语音信号辅助“数字信号处理”课程教学
杜世民, 杨润萍, 钟志光, 孙乐鸣
(宁波大学 科学技术学院, 浙江 宁波 315212)
本文针对“数字信号处理”课程的特点,提出在该课程教学中引入实际的语音信号分析来辅助教学的思路。以语音信号为例,应用Matlab软件,对序列的运算、频谱分析和滤波器设计等重要知识点进行了仿真实现,并给出了仿真结果。通过运用所学知识对实际语音信号进行处理,可以加深学生对所学知识的理解,激发他们对课程的学习兴趣,从而有效地提高了课堂教学的效率。
数字信号处理; 语音信号; 辅助教学; 频谱分析
“数字信号处理”是我校电子信息工程、通信工程等专业的一门重要的专业基础课程。随着信息和计算机技术的快速发展,数字信号处理的应用领域日益广泛[1],该课程在相关专业课程体系中的地位日益突出,这对该课程的教学提出了更高的要求[2]。
“数字信号处理”课程主要介绍离散时间信号与系统的基本概念与基础理论、z变换及离散时间系统分析、离散傅里叶变换DFT(Discrete Fourier Transform)及其快速算法FFT(Fast Fourier Transform)、数字滤波器的结构及设计方法等内容,其特点是理论性强、概念抽象、数学公式多,学生学习起来难以理解[3-5]。因此,如何改革教学方式来提高教学质量,如何通过理论与实际相结合来提高学生的学习兴趣,已经为任课教师需要思索和研究的焦点。
为降低学生学习的难度,提高他们的学习兴趣,我们针对课程的特点,在教学过程中引入语音信号分析来辅助课程教学。具体做法是:先讲解课程的知识点,然后在Matlab中运用该知识对语音信号进行处理,最后借助Maltab中相关函数播放处理前后的信号。我们通过体会语音信号处理前后不同的声音效果,可以帮助学生理解和掌握相关概念,激发他们对课程的兴趣。下面通过几个辅助课程教学的例子介绍我们在教学中的一些做法。
信号处理是通过信号序列的各种运算来实现的。序列的运算包括序列的移位、翻褶、尺度变换、差分和累加等。我们在讲到这个知识点时,先介绍信号序例运算的过程,然后随机请一位学生录入一段语音信号,在Matlab中编程实现对序列的各种运算,最后绘出信号运算前后的波形,并调用Matlab中的sound函数对原始信号和运算后的信号进行播放。
图1给出了“你好”两个字的语音信号(用序列x(n)表示)及对其进行翻褶、压缩和扩展运算后的波形。通过比较信号运算前后的波形,学生可以很直观的观察到序列的各种运算对波形所带来的变化。其次,我们还调用了Matlab的sound函数来播放原始信号和运算后得到的信号,让学生体会语音信号运算前后的不同的声音效果,并与Windows自带的“录音机”直接对这段语音进行加速、减速及反转播放的效果进行比较。通过比较,学生看到对语音信号进行各种运算后的结果,还可以听到自己的声音经过运算后所产生的各种效果,这使学生对序列的运算过程和实际应用有更直观和深刻的理解,同时有助于提高他们对该课程的学习兴趣。
(a) 原始语音信号x(n) (b) 翻褶后的信号x(-n)
(c)压缩后的信号x(2n) (d)扩展后的信号x(n/2)图1 语音信号及其翻褶、压缩和扩展后的波形
频谱分析是本课程的核心内容之一。利用DFT分析连续时间信号的频谱,需经过时域采样、截断和频域采样3个步骤,可以计算出各个离散频率点上的频谱,如下式所示[6]:
(1)
上式的推导过程较为繁琐,学生很难理解。仍以录入的语音信号为例,借助Matlab提供的FFT函数,对其进行离散傅里叶变换DFT,再按式(1)乘以抽样周期,可以求出语音信号的频谱,如图2所示,图中语音信号的抽样频率fs=44.1 kHz。由图可知,人类语音信号占据的频率范围主要集中4 kHz以内,而在4 kHz之外的频率分量幅度很小。由抽样定理知,对语音信号进行抽样时,最低抽样频率不能低于8 kHz。
(a)语音信号x(n) (b) 语音信号的频谱|x(k)|图2 语音信号的波形及频谱
为验证采用不同抽样频率对语音信号抽样的效果,对录得的语音信号x(n)直接进行抽样率的变换[6],将抽样频率分别减少至原来的1/7和1/9,此时抽样频率分别为fs1=6.3 kHz和fs2=4.9 kHz,得到序列x1(n)=x(7n)和x2(n)=x(9n),计算并绘出这两个序列的频谱X1(k)和X2(k),如图3所示。
(a)|x1(k)|(fs1=6.3 kHz) (b) |x2(k)|(fs2=4.9 kHz)图3抽样率变化后语音信号的频谱
和图2(b)中原始语音信号的频谱X(k)相比较,可知X1(k)和X2(k)都发生了混叠失真,并且X2(k)失真更明显。这是由于抽样频率不满足抽样定理的要求所致。调用Matlab的sound函数对这两个序列进行播放,可以听出这两个序列声音都有失真,特别是序列x2(n)失真更为明显。通过波形和声音效果两个方面的比较,学生可以更深刻地理解和掌握频谱分析的概念及作用,同时加深对抽样定理的理解。
滤波器在信号处理中占有十分重要的地位,它的设计方法是“数字信号处理”课程的一个重要教学内容。滤波器的功能是允许某一部分频率的信号顺利通过,而对另一部分频率的信号受到较大程度的衰减。在讲解完滤波器的设计方法之后,我们会设计一个实际的滤波器对录入的语音信号进行处理,通过观察信号经过滤波之后频谱的变化和听到的声音效果,来加深学生对滤波器功能和设计过程的理解。下面以IIR滤波器的设计为例进行说明。
采用冲激响应不变法设计一个巴特沃斯数字低通滤波器,用它对预先录入的语音信号进行处理。具体要求如下:
(1) 将语音信号中频率低于1 kHz的信号保留下来,最大衰减Rp不超过1 dB;
(2) 滤除掉频率高于1.5 kHz的信号,最小衰减Rs不低于40 dB;比较处理前后信号的频谱和声音效果。
考虑到录入时语音信号的采样频率较高,为减少数据冗余并防止频谱发生混叠,将抽样频率压缩至原来的1/5,即fs=44.1/5=8.82 kHz,于是滤波器通带截止频率ωp和阻带截止频率ωst分别为
(2)
我们在Matlab中完成滤波器设计。首先,根据技术指标调用Buttord 函数计算滤波器的阶次N;然后采用buttap求得模拟低通原型滤波器Hap(s),再利用lp2lp函数将Hap(s)变换为实际的低通滤波器Ha(s),最后采用impinvar函数设计出所需的数字滤波器H(z)。图4给出了所设计IIR数字滤波器的幅度和相位频谱。由图可知,所设计的滤波器满足指定的性能要求。
(a) 幅度频谱 (b) 相位频谱图4 IIR数字滤波器
图5给出了语音信号经过该滤波器处理后的频谱。由图可见,语音信号中频率高于1.5 kHz的信号已被滤除掉,低于1 kHz的信号被保留下来,而位于两者之间的频率信号产生不同程度的衰减。将滤波后的信号通过扬声器播放,可以发现声音比原始声音要低沉,这是因为滤波器只保留了原始语音中的低频部分,而声音的频率越低,声音就越沉闷。通过观察这样的直观结果,学生的感性认识得到增强。加深对滤波器概念的理解。
(a) 语音信号的频谱 (b) 滤波后的频谱图5 语音信号滤波前后的频谱
另外,在讲解滤波器设计时,还可以给录入的语音信号添加随机噪声,然后逐步讲解如何设计滤波器来滤除信号中的噪声。通过比较含有噪声的声音和经过滤波之后的声音的波形,以及让学生听这两种声音的不同效果,学生可以理解滤波器的用途,理解所学知识在实际生活中的应用。
本文针对“数字信号处理”课程理论性强,内容抽象的特点,提出应用实际的语音信号处理来辅助课程教学这一思路,并以实际的语音信号为例,利用Matlab软件,对序列的运算、频谱分析和滤波器设计等重要知识点进行了仿真。由于语音信号易于获取,而且具有较明显的时域频域物理意义,每名学生都可以结合自身的语音进行分析。
(杜世民等文)
因此,借助语音信号来讲解课程的重要知识点,可以让学生直观的了解所学知识在语音信号处理中的作用,帮助他们加深对所学知识的理解,而且可以体会到学以致用的乐趣。我校近几年实际教学实践表明,这一方法对提高该课程的教学效率、激发学生的学习热情起到了良好的促进作用。
[1] 王秋生, 袁海文. 基于知识比较的“数字信号处理”课程教学方法[J]. 南京: 电气电子教学学报, 2010, 32 (1): 98-99.
[2] 韩建峰, 宋丽丽.“数字信号处理”课程建设的探索与实践[J]. 北京: 中国电力教育, 2013 (5): 88-89.
[3] 杨智明, 彭喜元, 俞洋. 数字信号处理课程实践型教学方法研究[J]. 上海: 实验室研究与探索, 2014, 33 (9): 180-183.
[4] 刘文斐. 基于Matlab的“数字信号处理”探究式教学[J]. 南京: 电气电子教学学报, 2014, 36 (5): 108-110.
[5] 罗丽平, 李学易. 基于Matlab的数字信号处理综合课程设计探讨[J]. 南宁: 广西民族大学学报(自然科学版), 2012, 18 (1): 96-98,108.
[6] 程佩青. 数字信号处理教程(第四版)[M]. 北京: 清华大学出版社, 2013.
Appling Speech Signal to Teaching Assist of Digital Signal Processing Course
DU Shi-min, YANG Run-ping, ZHONG Zhi-guang, SUN Le-ming
(CollegeofScicence&Technology,NingboUniversity,Ningbo315212,China)
Based on the characteristics of Digital Signal Processing course, this paper proposes an idea of introducing the speech signal into the teaching practice of this course. Using Matlab software, we achieve the simulation of three important knowledge points including the operations of sequence, spectrum analysis and filter design on the speech signal, and the simulation results are given. Through the processing effects on the actual speech signal by applying what they have learned, students can deepen their understanding of course knowledge, and stimulate their interests in learning this course, and the teaching efficiency of classroom is effectively improved.
digital signal processing; speech signal; auxiliary teaching; spectrum analysis
2016-03-18;
2016-05- 25
宁波大学教学研究项目(JYXMxyb201353)和宁波大学科学技术学院“十三五”课程建设项目
杜世民(1976-),男,硕士,讲师,主要从事信号处理及电子技术方面的教学研究工作, E-mail: dushimin@nbu.edu.cn
G420
A
1008-0686(2017)01-0083-04