文档详情

谱相减MATLAB代码以及信噪比计算.doc

发布:2017-06-06约5.09千字共7页下载文档
文本预览下载声明
实验二 语音信号的频域处理 一、 实验目的、要求 (1)掌握语音信号频域分析方法 (2)了解语音信号频域的特点 (3)了解谱减法作为频域语音增强的原理与编程实现 (3)了解谱减法的缺点,并分析产生该缺点的原因 二、实验原理 语音虽然是一个时变、非平稳的随机过程。但在短时间内可近似看作是平稳的。因此如果能从带噪语音的短时谱中估计出“纯净”语音的短时谱,即可达到语音增强的目的。由于噪声也是随机过程,因此这种估计只能建立在统计模型基础上。利用人耳感知对语音频谱分量的相位不敏感的特性,这类语音增强算法主要针对短时谱的幅度估计。 短时话幅度估计概述 设一帧加窗后的带噪语音为 (2.1) 其中为纯净语音,假设为平稳加性高斯噪声。 将在一组基上展开,使展对系数为各不相关的随机变量。设的相关函数为,由K-L展开得知满足 (2.2) 则的展开式为 (2.3) 如果的相关长度小于帧长N,则的近似函数为 (2.4) 可见的展开过程实际上相当于离散博里叶交换,其展开系数(为傅里叶变换系数。由,则有:。 其中、、分别为、及的傅里叶交换系数。由于假设噪声是高斯分布的,其傅里叶系数相当于多个高斯样本的加权和,故可认为仍然为高斯分布。其均值为0,方差可通过无语音时对噪声的分析而获得。 语音增强的任务就是利用已知的噪声功率谱信息,从中估计出。由于人耳对相位不敏感,故只需估计出,然后借用带噪语音的相位,进行傅里叶逆变换就可得到增强的语音。基于短时谱幅度估计的方法的原理图如图2.1所示。 图2.1 短时谱估计原理图 在短时谱幅(STSA)估计基础上,人们提出了许多语音增强算法。基本思想是利用输入带噪语音短时谱幅来估计清洁语音短时谱幅,结合带噪语音相位信息,得到增强信号。 运用短时傅里叶变换(STFT)和重叠相加是短时谱估计技术中最常用的方法。输入信号的短时谱幅与一个修正因子相乘,得到增强信号谱幅度(通常修正因子与噪声信号谱幅估计密切相关);或将含噪语音谱幅减去噪声谱幅估计,得到增强信号谱幅,这些方法统称为相减类型算法(subtractive-type algorithms)。噪声谱幅估计可以通过有声、无声检测获取。一般认为噪声与信号不相关,增强信号谱幅是清洁语音信号的谱幅估计。通常假设人耳对含噪语音相位产生的畸变不敏感,所以进行IDFT恢复成时域信号时,含噪语音的相位一般不作处理。 三、使用仪器、材料 微机(带声卡)、耳机,话筒。 四、 实验步骤 分析含噪语音信号的频谱(幅度谱和相位谱) 获取噪声信号频谱(幅度谱) 对含噪语音信号进行分帧并进行加窗处理 将含噪语音信号谱和噪声谱作为输入,进行谱减法 回复增强语音信号帧. 对比输入信号与增强信号波形,分析算法对其产生的影响. 五、实验过程原始记录(数据,图表,计算) 假设为含噪语音离散时间序列,由清洁语音信号和非相关加性噪声信号组成。可表示为 =+ (2.5) 将输入信号按帧处理,前后帧之间重叠(一般为50%),对每帧含噪语音进行加窗处理,然后进行FFT变换,变换到频率域。含噪语音的能量谱可以表示为 + (2.6) 其中为 == (2.7) 其中为含噪语音的相位。 由于没法直接得到含噪语音中噪声能量谱,一般将无声阶段的数帧噪声信号进行能量谱加权平均得到噪声能量谱估计。假设噪声与语音信号不相关,语音能量谱估计为 =- (2.8) 其中清洁语音能量谱估计由含噪语音能量谱减去噪声能量谱估计得到。由于噪声能量谱估计与含噪语音中噪声能量谱之间存在差异,式(3.4)可能出现负值,为了避免能量谱出现负值,将这些负值设为零,这一处理称为半波整流(half-wave rectification)。通过半波整流,清洁语音能量谱估计可表示为 (2.9) 结合含噪语音相位信息,通过逆离散傅里叶变换(IDFT)得到时域清洁语音信号的估计信号。 =IDFT()
显示全部
相似文档