语音降噪-维纳滤波
語(yǔ)音降噪-維納濾波
- 維納濾波原理
- 時(shí)頻域維納濾波器
- 頻域維納濾波器
- 語(yǔ)音降噪
 
維納濾波原理
輸入信號(hào)通過(guò)一個(gè)線性時(shí)不變系統(tǒng)之后產(chǎn)生一個(gè)輸出信號(hào),使得輸出信號(hào)盡量逼近期望信號(hào),使其估計(jì)誤差最小化,能夠最小化這個(gè)估計(jì)誤差的最優(yōu)濾波器稱為維納濾波器。
時(shí)頻域維納濾波器
假定輸入信號(hào)y(n)y(n)y(n)和期望信號(hào)d(n)d(n)d(n),定義估計(jì)的誤差信號(hào)為e(n)e(n)e(n)
 e(n)=d(n)?d^(n)=d(n)?hTye(n) = d(n) - \widehatze8trgl8bvbq(n) \\=d(n) - \textbf{h}^T\textbf{y} e(n)=d(n)?d(n)=d(n)?hTy
 其中hT=[h0,h1,...,hM?1]\textbf{h}^T=[h_0,h_1,...,h_{M-1}]hT=[h0?,h1?,...,hM?1?] 是濾波器系數(shù)向量,yT=[hn,hn?1,...,hn?M+1]\textbf{y}^T=[h_{n},h_{n-1},...,h_{n-M+1}]yT=[hn?,hn?1?,...,hn?M+1?]是輸入向量。最小化e(n)e(n)e(n)的均方值,
 J=E[e2(n)]=E(d(n)?hTy)2=E[d2(n)]+hTE[yyT]h?2hTE[d(n)y]=E[d2(n)]+hTRyyh?2hTrydJ = E{[e^2(n)]}=E(d(n) - \mathbf{h}^T\mathbf{y})^2 \\=E{[d^2(n)]} + \mathbf{h}^TE[\mathbf{y}\mathbf{y}^T]\mathbf{h} - 2\mathbf{h}^TE{[d(n)\mathbf{y}]} \\=E{[d^2(n)]} + \mathbf{h}^TR_{yy}\mathbf{h} - 2\mathbf{h}^Tr_{\mathbf{y}d}J=E[e2(n)]=E(d(n)?hTy)2=E[d2(n)]+hTE[yyT]h?2hTE[d(n)y]=E[d2(n)]+hTRyy?h?2hTryd?
 其中rydr_{\textbf{y}d}ryd?是輸入和期望信號(hào)的互協(xié)方差矩陣,RyyR_{yy}Ryy? 是輸入信號(hào)的自協(xié)方差矩陣。
 利用矩陣求導(dǎo)原理,求JJJ對(duì)向量hhh的導(dǎo)數(shù),得:
 ?J?h=?2ryd+2hTR\frac{\partial J}{\partial \mathbf{h}} = -2 r_{\mathbf{y}d} + 2\mathbf{h}^TR?h?J?=?2ryd?+2hTR
 另導(dǎo)數(shù)為0,求得h?=R?1rydh^{*} = R^{-1}r_{\mathbf{y}d}h?=R?1ryd?
頻域維納濾波器
利用時(shí)域卷積等價(jià)于頻域相乘的性質(zhì),可以得到誤差的頻域表達(dá)式為
 E(wk)=D(wk)?D^(wk)=D(wk)?H(wk)Y(wk)E(w_k) = D(w_k) - \widehat{D}(w_k) \\= D(w_k) - H(w_k) Y(w_k) E(wk?)=D(wk?)?D(wk?)=D(wk?)?H(wk?)Y(wk?)
 按照時(shí)域維納濾波器一樣的推導(dǎo)方式,可以得到最優(yōu)維納濾波器的頻域表達(dá)式為
 H(wk)=Pdy(wk)Pyy(wk)H(w_k) = \frac{P_{dy}(w_k)}{P_{yy}(w_k)}H(wk?)=Pyy?(wk?)Pdy?(wk?)?
 其中PdyP_{dy}Pdy? 是y(n)y(n)y(n)和d(n)d(n)d(n)的互功率譜,PyyP_{yy}Pyy? 是y(n)y(n)y(n)的功率譜。
語(yǔ)音降噪
在語(yǔ)音降噪中,一般假設(shè)輸入信號(hào)y(n)y(n)y(n)由干凈語(yǔ)音x(n)x(n)x(n)和噪聲信號(hào)n(n)n(n)n(n)組成,
 y(n)=x(n)+n(n)y(n) = x(n) + n(n)y(n)=x(n)+n(n)
 且假設(shè)噪聲和語(yǔ)音不相關(guān)。
 利用維納濾波方法降噪時(shí)需要計(jì)算RyyR_{yy}Ryy?或者PyyP_{yy}Pyy?,由于假設(shè)噪聲和語(yǔ)音不相關(guān),則
 Ryy=Rxx+RnnPyy=Pxx+PnnRyx=RxxPyx=PxxR_{yy} = R_{xx} + R_{nn} \\P_{yy} = P_{xx} + P_{nn}\\R_{yx} = R_{xx} \\ P_{yx} = P_{xx}Ryy?=Rxx?+Rnn?Pyy?=Pxx?+Pnn?Ryx?=Rxx?Pyx?=Pxx?
 最優(yōu)的時(shí)頻域?yàn)V波器估計(jì)可以分別表示為:
 H(wk)=Pxx(wk)Pxx(wk)+Pnn(wk)H(w_{k}) = \frac{P_{xx}(w_k)}{P_{xx}(w_k) + P_{nn}(w_k)}H(wk?)=Pxx?(wk?)+Pnn?(wk?)Pxx?(wk?)?
 h=RxxRxx+Rnn\mathbf{h} = \frac{R_{xx}}{R_{xx} + R_{nn}}h=Rxx?+Rnn?Rxx??
總結(jié)
 
                            
                        - 上一篇: 哈希第三方头文件uthash的使用
- 下一篇: 8000401a错误解决方式(Excel
