基于子空间语音增强方法的研究
【摘要】 目的: 研究基于信号子空间的语音增强方法。方法: 利用Cool Edit Pro2.0软件录制语音,加入各种噪声,利用 Matlab软件进行分析、处理。结果:观察语音信号波形图和语谱图,利用信号子空间的分解方法,可使信噪比大大增加。结论: 基于子空间的语音增强方法在主观听觉与客观指标上均得到了令人满意的效果。
Abstract Objective: To study speech enhancement method based on the signal sub—space.Methods: Speeches to which various noises were added was recorded by Cool Edit Pro2.0,and analyzed and then dealt with by Matlab.Results: The ratio of noise and signal can be improved a lot by reading speech waveform and speech spectrum and using the sub—space decomposition.Conclusion: The method of speech enhancement based on signal sub—space has achieved satisfying effects in both subjective hearing and objective quota.。
Key words sub—space enhancement;speech enhancement;speech spectrum。
语音识别研究已经取得重大发展,但距离机器与人自由交流的目标还相当遥远。目前的识别系统大都是局限在安静环境中使用的,在噪声环境中,尤其是强噪声环境,语音识别系统的识别性能将受到严重影响。如何提高强噪声环境下语音识别的准确率是当前语音识别的难题之一。从带噪语音信号中提取尽可能纯净的原始语音的过程称为语音增强。污染语音的噪声包括窄带噪声和宽带噪声两类。对于低频干扰、串音等窄带噪声,一般用线性滤波器便可有效抑制,而宽带噪声无论从时域还是从频域看均与语音信号重叠在一起,传统的线性滤波无能为力。消除噪声的难点在于宽带噪声的消除。
1 材料和方法。
1.1 材料。
在实验室环境下利用Cool Edit Pro2.0软件录制一段语音,再利用matlab软件生成一段白噪声,合成不同信噪比(—10dB~10dB)的带噪语音。
1.2 方法。
子空间语音增强算法主要是利用数据协方差矩阵的特征值分解,利用特征值的大小,将协方差矩阵的特征子空间分为信号子空间和噪声子空间两部分,并将含噪声语音投影到语音子空间中,以该投影作为语音信号的估计值。
语音增强的问题可以描述为从一被污染信号中,恢复出原始语音信号的过程。设语音帧长为M,则每一帧信号都可看成是一个M维的矢量。M维的矢量信号可张成维数为M的空间CM。
假设语音信号位于K维子空间中,并且K<M。原始纯净语音信号可以用以下的线性模型表示:
s=VX=∑K i=1xivi K≤M(1)。
V =[v1,v2,…,vK]是一个K×M的矩阵,它的秩是K,且各个矢量之间相互正交[1];。
X = [x1,x2,…,xK]T是一个M×1的矢量,是零均值的复随机变量。
y=V·X+n(2)。
Ry=E(yyH)=Rs+Rn=VRxVH+Rn(3)。
其中Rs表示纯净语音信号s的协方差矩阵,Rx表示向量X的协方差矩阵,Rn为噪声的协方差矩阵:。
Rn=σ2nI (4)。
1.2.2 K—L展开。
通过KL展开[2]将含噪语音信号所张成的空间分解成信号子空间和噪声子空间。先不考虑噪声的存在,只考虑纯净语音的情况下,对信号s的协方差矩阵Rs进行特征值分解,可以得到:
Rs=Q∧QH=[Q1Q2]∧s1 0 0 0Q1HQ2H (5)。
式中,∧s1=diag(λs1,…,λsk)是信号子空间的特征值,因为Rs是半正定阵,所以λsk≥0 ,1≤k≤K 。因为语音信号在K维空间内,因此非零特征的个数为K。特征值向量矩阵Q分解为2个子矩阵Q1和Q2。Q1矩阵包含非零特征值所对应的特征向量,定义这些特征向量为构成信号子空间的基本向量;Q2包含的特征向量张成空间定义为噪声子空间。