日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

语音降噪-维纳滤波

發布時間:2023/12/14 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 语音降噪-维纳滤波 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

語音降噪-維納濾波

  • 維納濾波原理
    • 時頻域維納濾波器
    • 頻域維納濾波器
    • 語音降噪

維納濾波原理

輸入信號通過一個線性時不變系統之后產生一個輸出信號,使得輸出信號盡量逼近期望信號,使其估計誤差最小化,能夠最小化這個估計誤差的最優濾波器稱為維納濾波器。

時頻域維納濾波器

假定輸入信號y(n)y(n)y(n)和期望信號d(n)d(n)d(n),定義估計的誤差信號為e(n)e(n)e(n)
e(n)=d(n)?d^(n)=d(n)?hTye(n) = d(n) - \widehatozvdkddzhkzd(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?] 是濾波器系數向量,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?是輸入和期望信號的互協方差矩陣,RyyR_{yy}Ryy? 是輸入信號的自協方差矩陣。
利用矩陣求導原理,求JJJ對向量hhh的導數,得:
?J?h=?2ryd+2hTR\frac{\partial J}{\partial \mathbf{h}} = -2 r_{\mathbf{y}d} + 2\mathbf{h}^TR?h?J?=?2ryd?+2hTR
另導數為0,求得h?=R?1rydh^{*} = R^{-1}r_{\mathbf{y}d}h?=R?1ryd?

頻域維納濾波器

利用時域卷積等價于頻域相乘的性質,可以得到誤差的頻域表達式為
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?)
按照時域維納濾波器一樣的推導方式,可以得到最優維納濾波器的頻域表達式為
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(n)y(n)y(n)由干凈語音x(n)x(n)x(n)和噪聲信號n(n)n(n)n(n)組成,
y(n)=x(n)+n(n)y(n) = x(n) + n(n)y(n)=x(n)+n(n)
且假設噪聲和語音不相關。
利用維納濾波方法降噪時需要計算RyyR_{yy}Ryy?或者PyyP_{yy}Pyy?,由于假設噪聲和語音不相關,則
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?
最優的時頻域濾波器估計可以分別表示為:
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??

總結

以上是生活随笔為你收集整理的语音降噪-维纳滤波的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。