语音信号处理
介绍语音信号处理中各种常用方法
1.短时能量
\[ E(i)=\sum_{n=0}^{L-1}y_i^2(n) \]
2.短时平均过零率
\[ Z(i)=\frac{1}{2}\sum_{n=0}^{L-1}|sgn[y_i(n)]-sgn[y_i(n-1)]| \]
浊音有相对较低的过零率,清音则有相对较高的过零率
在背景噪声较小时可以用平均能量判断语音信号的起点和终点,在噪声较大时则需要用短时平均过零率
3.短时自相关函数
\[ R_i(k)=\sum_{n=0}^{L-k-1}y_i(n)y_i(n+k) \]
可以用于端点检测和基音的提取,在韵母基音频率整数倍处将出现峰值特性,在声母中则看不到明显的峰值
4.短时平均幅度差函数
\[ D_i(k)=\sum_{n=0}^{L-k-1}|y_i(n+k)-y_i(n)| \]
可以用于提取基音频率
5.短时傅里叶变换(STFT)
\[ X_n(e^{j\omega})=\sum_{m=-\infty}^{\infty}x(m)\omega(n-m)e^{-j\omega n} \]
矩形窗,海宁窗,汉明窗的主瓣宽度与窗长度成反比,窗越长越能更好逼近短时语音的频谱
但窗长太长时已经不满足短时平稳特性,同时会导致时间分辨率相应下降
6.语谱图
7.同态处理
卷积同态处理是将输入卷积信号经过系统变换后输出一个处理过的卷积信号
由两个特征子系统\(D_*[\ \ ]\),\(D_*^{-1}[\ \ ]\)和一个线性子系统\(L[\ \ ]\)组成
\(D_*[\ \ ]\) : 将卷积性信号转为加性信号的运算,对\(x(n)=x_1(n)*x_2(n)\)进行如下运算: \[ Z[x(n)]=Z[x_1(n)*x_2(n)]=X_1(z)\cdot X_2(z)=X(z)\\ lnX(z)=lnX_1(z)+lnX_2(z)=\widehat{X}_1(z)+\widehat{X}_2(z)=\widehat{X}(z)\\ Z^{-1}[\widehat{X}(z)]=Z^{-1}[\widehat{X}_1(z)+\widehat{X}_2(z)]=\widehat{x}_1(n)+\widehat{x}_2(n)=\widehat{x}(n) \] 第二个子系统\(L[\ \ ]\)是普通线性系统,满足线性叠加定理,用于对加性信号进行线性变幻和处理
第三个子系统\(D_*^{-1}[\ \ ]\)是第一个子系统的逆变换,将加性信号反变换为卷积性信号,其对\(\widehat{y}_1(n)+\widehat{y}_2(n)\)进行逆变换 \[ Z[\widehat{y}(n)]=\widehat{Y}_1(z)+\widehat{Y}_2(z)=\widehat{Y}(z)\\ exp(\widehat{Y}(z))=Y(z)=Y_{1}(z)\cdot Y_{2}(z)\\ y(n)=Z^{-1}[Y_{1}(z)\cdot Y_{2}(z)]=y_1(n)*y_2(n) \]
8.复倒谱和倒谱
在同态处理中,\(\widehat{x}(n)\)和\(\widehat{y}(n)\)信号也是时域序列,但其所处的离散时间域成为复倒频谱域,\(\widehat{x}(n)\)为\(x(n)\)的复倒谱 \[ FT[x(n)]=X(\omega)\\ \widehat{X}(\omega)=ln[X(\omega)]\\ \widehat{x}(n)=FT^{-1}[\widehat{X}(\omega)] \] 进一步: \[ \widehat{X}(\omega)=ln|X(\omega)|+jarg(X(\omega))\\ \] 若只取实数部分: \[ c(n)=FT^{-1}[ln|X(\omega)|] \] 称\(c(n)\)为倒频谱,简称倒谱,其在运算时丢失了相位信息
9.离散余弦变换(DCT)
\[ X(k)=\alpha(k)\sum_{n=0}^{N-1}x(n)cos[\frac{\pi(2n+1)k}{2N}]\\ x(n)=\sum_{k=0}^{N-1}\alpha(k)X(k)cos[\frac{\pi(2n+1)k}{2N}] \]
其中 \[ \alpha(k)= \begin{cases} \sqrt{1/N}\ \ \ k=0\\ \sqrt{2/N}\ \ \ 1\le{k}\le{N-1} \end{cases} \] 同时可以用矩阵进行表示 \[ \begin{bmatrix} X(0)\\ X(1)\\ \vdots\\ X(N-1) \end{bmatrix} =\sqrt{2/N} \begin{bmatrix} \frac{1}{\sqrt{2}}&\frac{1}{\sqrt{2}}&\cdots&\frac{1}{\sqrt{2}}\\ cos\frac{\pi}{2N}&cos\frac{3\pi}{2N}&\cdots&cos\frac{(2N-1)\pi}{2N}\\ \vdots&\vdots&\cdots&\vdots\\ cos\frac{(N-1)\pi}{2N}&cos\frac{3(N-1)\pi}{2N}&\cdots&cos\frac{(2N-1)(N-1)\pi}{2N} \end{bmatrix} \begin{bmatrix} x(0)\\ x(1)\\ \vdots\\ x(N-1) \end{bmatrix} \]
10.Mel频率倒谱系数(MFCC)分析
MFCC的分析是基于人的听觉机理 \[ F_{mel}=1125log(1+f/700) \] \(F_{mel}\)是以Mel为单位的感知频率,将语音信号频谱变换到感知频域中可以更好的模拟听觉处理的过程
Mel滤波器组:将语音在频域上划分成一系列的频率群组成的滤波器组
每个滤波器具有三角滤波特性,中心频率为\(f(m)\),在Mel频率范围内,这些滤波器是等宽的 \[ H_m(k)=\begin{cases} 0\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ k<f(m-1)\\ \frac{k-f(m-1)}{f(m)-f(m-1)}\ \ \ f(m-1)\le k \le f(m)\\ \frac{f(m+1)-k}{f(m+1)-f(m)}\ \ \ f(m)<k\le f(m+1) \end{cases} \] 其中 \[ f(m)=(\frac{N}{f_s})F_{mel}^{-1}(F_{mel}(f_l)+m\frac{F_{mel}(f_h)-F_{mel}(f_l)}{M+1}) \] \(f_l\)为滤波器频率范围内的最低频率,\(f_h\)为滤波器频率范围内的最高频率,N为DFT长度,\(f_s\)为采样函数 \[ F_{mel}^{-1}(b)=700(e^{b/1125}-1) \]
MFCC特征参数提取:

预处理包括预加重,分帧,加窗
预加重:补偿高频分量的损失,提升高频分量,\(H(Z)=1-\alpha z^{-1}\)
分帧:将语音信号分成较短的帧,每帧可以看做稳态信号,相邻两帧之间有部分重叠
加窗:减少频域中的泄露
计算通过Mel滤波器的能量 \[ S(i,m)=\sum_{k=0}^{N-1}E(i,k)H_{m}(k) \] 计算DCT倒谱 \[ mfcc(i,n)=\sqrt{\frac{2}{M}}\sum_{m=0}^{M-1}log[S(i,m)]cos(\frac{\pi n(2m-1)}{2M}) \] MFCC参数可以用于语音识别
11.小波变换(WT)
连续小波变换(CWT): \[ W_f(a,b)=<f,\psi_{a,b}>=\frac{1}{\sqrt{a}}\int_{-\infin}^{\infin}f(t)\psi^*(\frac{t-b}{a})dt \] \(a>0\)为尺度因子,\(b\)为位移因子,\(\psi_{a,b}(t)\)为\(\psi_{a,b}(t)=\frac{1}{\sqrt{a}}\psi(\frac{t-b}{a})\),其是母小波\(\psi(t)\)经过移位和伸缩所产生的一族函数,称为小波基函数或者简称小波基。其是为了解决STFT的时间分辨率和频谱分辨率不可兼得的情况,一般信号是低频持续整个过程,中间会出现高频信号。
离散小波变换(DWT):
对尺度因子和位移因子进行离散化处理 \[ a=a_{0}^m,b=nb_0a_0^m \] 则离散小波函数表示为: \[ \psi_{m,n}(t)=\frac{1}{\sqrt{a_0^m}}\psi(\frac{t-nb_0a_0^m}{a_{0}^m})=\frac{1}{\sqrt{a_0^m}}\psi(a_{0}^mt-nb_0) \] 相应的离散小波变换表示为: \[ W_{f}(m,n)=\int_{-\infin}^{\infin}f(t)\psi_{m,n}^*(t)dt \]
当取\(a_0=2\),\(b_0=1\)时可以得到二进小波,在实际应用中为了使小波变换的计算更有效,通常构造的小波函数具有正交性 \[ <\psi_{m,n},\psi_{j,k}> = \int_{-\infin}^{\infin}\psi_{m,n}(t)\psi_{j,k}^*(t)dt=\delta_{m,j}\delta_{n,k} \]
12.Haar小波分析
Haar尺度函数定义为: \[ \phi(x)= \begin{cases} 1 \ \ \ \ 0\le x<1\\ 0 \ \ \ \ 其他 \end{cases} \] 令\(V_{0}\)是所有形如\(\sum_{k\in Z}a_K\phi(x-k), \ \ a_k\in R\)的函数组成的空间,\(k\)在任一有限整数范围内取值,更一般的\(j\)级阶梯函数空间表示为\(V_j\) \[ \{\cdots,\phi(2^jx+1),\phi(2^jx),\phi(2^jx-1)\cdots\} \] 且\(V_0\subset V_1\subset \cdots V_{j-1}\subset V_j\cdots\),则随着分辨率的提高,不会损失任何信息
函数集{\(2^{j/2}\phi(2^jx-k);k\in Z\)}是\(V_j\)的一个标准正交基,系数的存在是因为\(\int_{-\infin}^{\infin}\phi(2^jx)^2dx=1/2^j\)
Haar小波: \[ \psi(x)=\phi(2x)-\phi(2x-1) \] 其满足
1.\(\psi\)是\(V_1\)的成员
2.\(\psi\)与\(V_0\)正交,即\(\int \psi(x)\phi(x-k)dx=0\)
令\(W_j\)是形如\(\sum_{k\in Z}a_k\psi(2^jx-k);a_k\in R\)的函数构成的空间,仅有有限个\(a_k\)非0,则\(W_j\)是\(V_j\)的正交补,即\(V_{j+1}=V_j\oplus W_j\)
则不断分解得到:\(V_j=W_{j-1}\oplus W_{j-2}\oplus\cdots\oplus W_0\oplus V_0\)
则\(V_j\)中的中的任一\(f\)可以唯一分解为:\(f=\omega_{j-1}+\omega_{j-2}+\cdots+\omega_0+f_0\)
\(L^2(R)\)(平方可积函数域)可以被分为无限个正交直和:\(L^2(R)=V_0\oplus W_0\oplus W_1\oplus\cdots\)
则对每个\(f\in L^2(R)\)可唯一写成:\(f=f_0+\sum_{j=0}^\infin w_j\)
写成极限\(f=f_0+\lim\limits_{N\to\infin}\sum_{j=0}^N\omega_j\)
13.多分辨率分析
令\(V_j,j=\cdots,-2,-1,0,1,2,\cdots\)为\(L^2(R)\)中的一函数子空间序列,若下列条件成立,则空间集合\({V_j,j\in Z}\)称为依尺度函数\(\phi\)的多分辨率分析
1.嵌套性:\(V_j\subset V_{J+1}\)
2.稠密性:\(\overline{\cup V_j}=L^2(R)\) (是指\(L^2(R)\)中的元素都可以被并集中的元素很好近似)
3.分立性:\(\cap V_j={0}\)
4.尺度性:\(f(x)\in V_j\),当且仅当\(f(2^{-j}x)\in V_0\)
5.标准正交基:函数\(\phi\in V_0\),且\({\phi(x-k),k\in Z}\)是\(V_0\)的标准正交基
紧支撑(有限支撑):函数在一有限区间外恒等于0,则称其为有限支撑的
设\(\{V_j;j\in Z\}\)是一个依尺度函数\(\phi\)的多分辨率分析,则对任一\(j\in Z\)函数集\(\{\phi_{jk}(x)=2^{j/2}\phi(2^{j}x-k);k\in Z\}\)是\(V_j\)的一个标准正交基
证明如下: \[ 若f(x)\in V_j,则由性质4,f(2^{-j}x)为\phi(x-k)的线性组合,以2^jx替代x,则f(x)是\phi(2^jx-k)的线性组合\\ 正交性:<\phi_{jk},\phi_{jl}>=2^j\int_{-\infin}^{\infin}\phi(2^jx-k)\phi^*(2^jx-l)dx=\int_{-\infin}^{\infin}\phi(y-k)\phi^*(y-l)dy=\delta_{kl} \] 尺度关系式: \[ \phi(x)=\sum_{k\in Z}p_k\phi(2x-k)\\ p_k=2\int_{-\infin}^{\infin}\phi(x)\phi^*(2x-k)\\ \] 且\(\sum_{k\in Z}p_k=2\)
将\(V_{j+1}\)分解为\(V_j\)和其正交补空间的\(W_j\)的直和,这里\(W_j\)是由\(\psi(2^jx-k)\)张成的 \[ \psi(x)=\sum_{k\in Z}(-1)^k\overline{p_{1-k}}\phi(2x-k) \]
14.小波包变换
小波包分析能够为信号分析提供一种更精细的分析方法