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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二 语音信号的频域处理

一、 实验目的、要求

(1)掌握语音信号频域分析方法 (2)了解语音信号频域的特点

(3)了解谱减法作为频域语音增强的原理与编程实现 (3)了解谱减法的缺点,并分析产生该缺点的原因 二、实验原理

语音虽然是一个时变、非平稳的随机过程。但在短时间内可近似看作是平稳的。因此如果能从带噪语音的短时谱中估计出“纯净”语音的短时谱,即可达到语音增强的目的。由于噪声也是随机过程,因此这种估计只能建立在统计模型基础上。利用人耳感知对语音频谱分量的相位不敏感的特性,这类语音增强算法主要针对短时谱的幅度估计。

短时话幅度估计概述 设一帧加窗后的带噪语音为

()()()

01y n s n d n n N =+≤≤- (2.1)

其中()s n 为纯净语音,()d n 假设为平稳加性高斯噪声。

将()y n 在一组基{()}k n φ上展开,使展对系数为各不相关的随机变量。设()y n 的相关函数为(,)y R n m ,由K -L 展开得知{()}k n φ满足

1

()()(,)()N k y k m K n R n m m λφφ-==∑ (2.2)

则()y n 的展开式为

1

1

0()()()()N k k K N k k n y n Y n

Y y n n φφ-=-=⎧

=⎪⎪⎨⎪=⎪⎩

∑∑ (2.3) 如果()y n 的相关长度小于帧长N ,则()k n φ的近似函数为

2()k nk n j N πϕ⎛⎫

=

⎪⎝

⎭ (2.4)

可见()y n 的展开过程实际上相当于离散博里叶交换,其展开系数(为傅里叶变换系数。由()()()y n s n d n =+,则有:k k k Y S N =+。

其中[]||exp k k k Y Y j θ=、[]||exp k k k S S j α=、k N 分别为()y n 、()s n 及()d n 的傅里叶交换系数。由于假设噪声是高斯分布的,其傅里叶系数k N 相当于多个高

斯样本的加权和,故可认为仍然为高斯分布。其均值为0,方差可通过无语音时对噪声的分析而获得。

语音增强的任务就是利用已知的噪声功率谱信息,从k Y 中估计出k S 。由于人耳对相位不敏感,故只需估计出||k S ,然后借用带噪语音的相位,进行傅里叶逆变换就可得到增强的语音。基于短时谱幅度估计的方法的原理图如图2.1所示。

图2.1 短时谱估计原理图

在短时谱幅(STSA)估计基础上,人们提出了许多语音增强算法。基本思想是利用输入带噪语音短时谱幅来估计清洁语音短时谱幅,结合带噪语音相位信息,得到增强信号。

运用短时傅里叶变换(STFT)和重叠相加是短时谱估计技术中最常用的方法。输入信号)(n y 的短时谱幅|)(|k Y 与一个修正因子相乘,得到增强信号谱幅度|)(ˆ|k S

(通常修正因子与噪声信号)(n d 谱幅估计密切相关);或将含噪语音谱幅减去噪声谱幅估计,得到增强信号谱幅,这些方法统称为相减类型算法(subtractive -type algorithms)。噪声谱幅估计可以通过有声、无声检测获取。一

般认为噪声与信号不相关,增强信号谱幅|)(ˆ|k S

是清洁语音信号)(n s 的谱幅估计。通常假设人耳对含噪语音相位产生的畸变不敏感,所以进行IDFT 恢复成时域信号时,含噪语音的相位一般不作处理。

三、使用仪器、材料

微机(带声卡)、耳机,话筒。

四、 实验步骤

(1) 分析含噪语音信号的频谱(幅度谱和相位谱) (2) 获取噪声信号频谱(幅度谱) (3) 对含噪语音信号进行分帧并进行加窗处理 (4) 将含噪语音信号谱和噪声谱作为输入,进行谱减法 (5) 回复增强语音信号帧. (6) 对比输入信号与增强信号波形,分析算法对其产生的影响. 五、实验过程原始记录(数据,图表,计算)

假设)(n y 为含噪语音离散时间序列,由清洁语音信号)(n s 和非相关加性噪声信号)(n d 组成。)(n y 可表示为

)(n y =)(n s +)(n d (2.5)

将输入信号按帧处理,前后帧之间重叠(一般为50%),对每帧含噪语音进行加窗处理,然后进行FFT 变换,变换到频率域。含噪语音的能量谱可以表示为

2|)(|k Y ≈2|)(|k S +2|)(|k D (2.6) 其中)(k Y 为

)(k Y =∑-=-1

02)(N n N

kn j e

n y π=|)(|k Y )(k i e ϕ (2.7)

其中)(k ϕ为含噪语音)(k Y 的相位。

由于没法直接得到含噪语音中噪声能量谱2|)(|k D ,一般将无声阶段的数帧噪声信号进行能量谱加权平均得到噪声能量谱估计2|)(|k D 。假设噪声与语音信号不相关,语音能量谱估计为

2|)(ˆ|k S

=2|)(|k Y -2|)(ˆ|k D (2.8) 其中清洁语音能量谱估计2|)(ˆ|k S

由含噪语音能量谱减去噪声能量谱估计得到。由于噪声能量谱估计与含噪语音中噪声能量谱之间存在差异,式(3.4)可能出现负值,为了避免能量谱出现负值,将这些负值设为零,这一处理称为半波整流

(half-wave rectification)。通过半波整流,清洁语音能量谱估计2|)(ˆ|k S

可表示为 0

|)(ˆ|0|)(ˆ|0

|)(ˆ||)(ˆ|2222

<>⎩⎨⎧=k S k S

k S k S

当当 (2.9) 结合含噪语音相位信息,通过逆离散傅里叶变换(IDFT)得到时域清洁语音信

号的估计信号)(ˆn s

。 )(ˆn s

=IDFT()(|)(ˆ|k j e k S ϕ) (2.10) 其中增强语音信号频谱)(ˆk S

也可以通过时变滤波器)(k G 重建 )(ˆk S =)(k G )(k Y (2.11) 式中时变滤波器(或称为增益函数))(k G 可表示为

否则

如果βαβα+<

⎪⎪⎪⎩

⎪⎨

⎧⋅⋅-=1

|)(||)(ˆ|)|)(||)(ˆ|()|)(||)(ˆ|1()(2

25.0225.02

2k Y k D k Y k D k Y k D

k G (2.12)

相关文档
最新文档