(2) 语音信号的高通滤波
用切比雪夫II型高通滤波器,对添加噪声后的语音信号进行滤波。切比雪夫滤波器的频谱特性具有等波纹特性。切比雪夫II型在通带内是单调下降的,在阻带内是等波纹的。这种特性可以保证滤波的效果比较好,如果通带内有等波纹的效果,会把一部分的有用信号滤除掉。本设计采用的高通滤波器性能指标是wp=0.375pi,ws=0.425pi,Rp=0.25;As=50dB;意思就是频率为375Hz以上的高频分量保留,低于这个频率的都被滤除。衰减为五十分贝,经过MATLAB仿真,可以得到高通滤波后波形和频谱图如图8所示。
图8 高通滤波后波形和频谱图
图8中的波形和频谱图能够很好的说明问题,经过高通滤波后,图8与图4比较可以发现波形图上只剩下幅度很小的噪音。频谱图上只剩下了一些能量很小的高频分量,含有高能量的低频信号都被滤除了。说明滤波器将低频滤除,保留了高频信息。高通滤波器起到了效果。通过sound指令回听,此时只能听见“滋滋”的杂音。人声部分正好是低频部分,如果经过高通滤波器,只会被滤除掉,所以只剩下杂音。这就说明,高通滤波器在含有人声信号的语音信号处理中不能应用,否则效果只能是将人声滤掉。
(3) 语音信号的带通滤波
MATLAB中的butter函数功能是设计巴特沃斯模拟滤波器。它的调用格式[b,a]=butter(n,wn)。Wn是带通滤波器的通带范围。带通就是设定一个范围,保留范围频率内的语音信号,滤除范围以外的语音信号。又因为本次的滤波设计是针对人声信号,所以,本次设定的范围是20Hz~300Hz。技术指标选定如下:阶数选择为5阶,选通频率wc范围是0.02~0.3,经过MATLAB仿真后,得到带通滤波后波形和频谱图如图9所示。
图9 带通滤波后波形和频谱图
上图表明,添加了噪声的语音信号经过带通滤波器后,波形图保留了大部分的人声信号,噪声的部分也变得细了,频谱图中,集中了大部分低频的高能量的语音信号;通过语音回放功能,可以听到背景的噪声小很多,但是相对而言,人声信号就被放大了,可以清楚的听到人声“我爱你”,效果还是比较明显的。主要的能量都集中在20~300Hz,仿真实验表明,这次的带通滤波还是比较成功的。
(4) 语音信号的带阻滤波
系统设计中用到的带阻滤波器是巴特沃斯型带阻滤波器,用函数butter,调用格式为[b,a]=butter(n,Wn,‘ftype’),ftype的类型写为“stop”就可以实现带阻功能。带阻滤波器的功能是将规定范围内的信号阻止,使范围外的通过。实验表明,人声信号大概范围是20Hz~300Hz,所以将阻止的范围设置成为325Hz~990Hz,从而最大限度的对高频的语音信号进行滤波处理。设定好以上的指标后,直接经过MATLAB仿真,得到带阻滤波后的波形和频谱图如图10所示。
图10 帯阻滤波后波形和频谱图
从经过带阻滤波器滤波后的频谱图中可以很明显的发现带阻滤波器滤掉了一部分的噪声,频谱图噪声部分也变的细了些,说明一部分的噪声已经被滤除掉,通过sound指令回放,虽然还是有些噪声,但是听到的声音也比较接近原始采集的语音信号。频谱图中也保留了大部分的人声信号,只是音量较小一些。说明带阻滤波器不仅保留了本次论文想要的人声信息,还保留了一些不想要的高频分量,所以带阻滤波器的效果还是不大好。不过相对高通和带通都好些。
4.3 语音信号的输出
语音信号处理完后,需要对经过处理的信号保存和输出。这样可以方便以后的试听和比较工作。与原始信号比较后就能清楚的知道哪一种滤波器的效果比较好。还可以将处理后的语音信号保存在电脑上。在MATLAB中运用wavwrite指令便可将处理好的语音信号保存下来。 基于MATLAB语音信号处理(语音信号处理的综合仿真)(6):http://www.youerw.com/tongxin/lunwen_331.html