基于MATLAB的语音噪声处理及实现
2016-12-31孙铖成都理工大学信息科学与技术学院
孙铖成都理工大学信息科学与技术学院
基于MATLAB的语音噪声处理及实现
孙铖
成都理工大学信息科学与技术学院
摘要:语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科,是目前发展最为迅速的信息科学研究领域的核心技术之一。通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。本文首先介绍了语音信号的特性,进而阐述了滤波器设计方法以及去噪后语音信号的增强。
关键字:信号处理 滤波器 语音增强
1 语音信号特性
语音信号是一种非平稳的时变信号,它携带着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。语音信号分析可以分为时域和变换域等处理方法,其中时域分析是最简单的方法,直接对语音信号的时域波形进行分析,提取的特征参数主要有语音的短时能量,短时平均过零率,短时自相关函数等。由于语音信号是随着时间变化的,通常认为,语音是一个受准周期脉冲或随机噪声源激励的线性系统的输出。输出频谱是声道系统频率响应与激励源频谱的乘积。声道系统的频率响应及激励源都是随时间变化的,因此一般标准的傅立叶表示虽然适用于周期及平稳随机信号的表示,但不能直接用于语音信号。由于语音信号可以认为在短时间内,近似不变,因而可以采用短时分析法。对采集的语音信号进行Fourier等变换,并画出变换前后的频谱图。进而滤除语音信号中的噪音部分,可采用低通滤波、高通滤波、带通滤波和帯阻滤波,并比较各种滤波后的效果。常用的语音信号增强算法一般可分为基于语音生成模型参数和非基于语音生成模型参数两大类。基于语音生成模型参数方法的特点是对语音生成模型的参数进行估计和恢复。非基于语音生成模型参数的语音增强方法主要有自适应噪声滤波法和基于语音短时谱估计的增强方法等。语音信号增强的典型方法有:谱减法、自适应噪声对消法以及基于语音信号模型的语音增强法。
2 设计思路
为了进行数字音频分析就需要对信号进行FFT变换,FFT即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。
滤波器的设计可以通过双线性变换法以及窗函数进行实现,双线性变换法主要是采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到-π/T~π/T之间,再用z=esT转换到Z平面上。也就是说,先将整个S平面压缩映射到S1平面的-π/ T~π/T一条横带里;再通过标准变换关系z=es1T将此横带变换到整个Z平面上去。这样就使S平面与Z平面建立了一一对应的单值关系,消除了多值变换性,也就消除了频谱混叠现象;窗函数设计法是一种通过截短和计权的方法使无限长非因果序列成为有限长脉冲应响应序列的设计方法,通常在设计滤波器之前,应该先根据具体的工程应用确定滤波器的技术指标,在大多数实际应用中,数字滤波器常常被用来实现选频操作。
最后将得到的滤波后音频利用谱减法进行语音增强,这种方法没有使用参考噪声源,但它假设噪声是统计平稳的,即有语音期间噪声幅度谱的期望值与无语音间隙噪声的幅度谱的期望值相等。用无语音的间隙测量计算得到的噪声频谱的估计值取代有语音的期间噪声的频谱,与含噪声语音频谱相减的估计值,当上述差值得到负的幅度值时将其置零。由于人耳对语音的感知主要是通过语音信号中各频谱分量幅度获得的,对各分量的相位不敏感。因此,此类语音增强方法将估计的对象放在短时谱幅度上。谱减法的设计步骤主要为:①语音信号为准稳态信号,未将其看作稳态信号首先对语音信号进行分帧;②为了减少帧信号起始和结束地方的不连续性,进而对信号帧加哈明窗;③对加窗后的信号帧进行FFT变换;④对各帧语音信号求功率谱;⑤求信号开始阶段的能量平均值;⑥进行谱减运算,得到估计出的语音信号功率谱;⑦插入相位谱,计算出语音谱; ⑧进行IFFT变换,得到还原的语音帧,根据各个语音帧组合为语音信号。
3 实现方法
通过MATLAB对采集的录音进行波形分析及加噪后的信号波形分析,然后通过双线性变换法设计和用窗函数法设计低通滤波器对加噪的语音信号进行滤波处理。对比滤波前后的语音信号的时域和频域特性,回放加噪语音信号和去噪语音信号,对比两种设计方式在信号处理尤其是信号滤波去噪方面的特性及效果,进而通过谱减法实现语音增强。
参考文献
[1]维纳·K·英格尔,约翰·G·普罗克斯.数字信号处理(MATLAB版).西安:西安交通大学出版社,2013.7
[2]任碧蓉,聂小燕,杨红.信号与系统分析.北京:人民邮电出版社,2011.8
[3]胡广书.数字信号处理理论算法与实现.北京:清华大学出版社,1997
[4]廖宇,郭黎等.基于MATLAB的数字滤波器的设计[J].高科技与产业化,2008,09
[5]胡光锐,语音处理与识别[M].上海科学技术文献出版社,1994年1月