Feedforward ANC 主動降噪原理

2021-08-20 04:22:33 字數 3039 閱讀 9810

圖1

圖2 圖2是anc系統的原理圖,一共三層,用虛線分隔。最上一層primary path是從ref mic到error mic的聲學通道,響應函式用

圖3 先簡要說幾句adaptive filter和lms(least mean square)演算法的原理,再說圖3。如圖4,給定輸入xx和desired output dd,adaptive filter每次迭代會更新係數,使其輸出yy與dd之差越來越小,直到殘差足夠接近0且收斂。lms是adaptive filter的一種更新演算法。lms的目標函式是瞬時誤差的平方e2(n)=(d(n)−y(n))2e2(n)=(d(n)−y(n))2,為了minimize目標函式,對其應用梯度下降就得到演算法的更新公式。(這種利用gradient descent來最小化某個objective,從而得到待求引數的更新公式的演算法思想非常常見,比如linear regression。)採用fir濾波器的lms演算法的更新公式為:w(n+1)=w(n)+μe(n)x(n)w(n+1)=w(n)+μe(n)x(n),其中μμ為step size。如果隨著迭代進行調整μμ的大小,就是變步長的lms演算法。

圖4 再來說圖3。這裡adaptive filter輸出後還要經過s(z)s(z)才去和desire output比較,s(z)s(z)會引起instability,用文獻的話說,「the error signal is not correctly 『aligned』 in time with the reference signal」,破壞了lms的收斂性。(這裡還沒弄懂什麼意思t__t)一種有效的方法是fxlms(filtered-x lms),也就讓x(n)經過sˆ(z)s^(z)再輸入給lms 模組, sˆ(z)s^(z)是s(z)s(z)的估計。fxlms的objective:

e2(n)=(d(n)−s(n)∗[wt(n)x(n)])2,e2(n)=(d(n)−s(n)∗[wt(n)x(n)])2,

所以gradient=

−2e(n)s(n)∗x(n)−2e(n)s(n)∗x(n)

,其中s(n)s(n)

未知,用其estimate近似,所以fxlms的更新公式是

w(n+1)=w(n)+μe(n)x′(n),w(n+1)=w(n)+μe(n)x′(n),

其中x′(n)=sˆ(n)∗x(n)x′(n)=s^(n)∗x(n)。

當adaptive filter收斂時,e(z)=x(z)p(z)−x(z)w(z)s(z)≈0e(z)=x(z)p(z)−x(z)w(z)s(z)≈0,因此w(z)≈p(z)/s(z)w(z)≈p(z)/s(z)。也就是說,自適應濾波器的權係數是由耳機的primary path和secondary path決定的。耳機的primary path和secondary path相對穩定,所以adaptive filter的權係數也相對穩定。因此為實現簡單,某些廠家的anc耳機的權係數在出廠時就確定了。當然這種anc耳機的聽感體驗明顯不及具有真正自適應意義的anc耳機,因為在實際情況下,外部雜訊相對耳機的方向、不同溫度等因素會對耳機的通道響應有影響。

寫matlab**,用變步長lms的adaptive filter,得**結果如圖5。在0到2khz範圍內,利用feedforward anc消高斯白噪,雜訊衰減平均30db+。matlab庫里的fxlms是定步長的,效果要差一些。

圖5 遇到的困惑寫出來分享一下。 

1. anc為什麼只針對2khz以下的低頻噪音? 

一方面,耳機的物理隔音方式(被動降噪)可以有效阻擋高頻噪音,沒必要用anc降高頻雜訊。另一方面,低頻雜訊波長較長,可以承受一定的相位延遲,而高頻雜訊波長短,對相位偏差敏感,因此anc消高頻雜訊並不理想。 

2. 當electronic delay比primary delay大時,演算法效能大大下降如何理解? 

p(z)延時小,s(z)延時大,比如p(z)=z-1, s(z)=z-2,只有當w(z)=z才能滿足要求,非因果,unreachable。 

3. feedforward anc、narrow-band feedforward anc、feedback anc有什麼區別? 

feedforwad結構有乙個ref mic和乙個error mic,分別採集外部噪音和內部殘差訊號。feedback結構只有乙個error mic,由error mic和adaptive filter output生成reference signal。 

broad-band feedforward就是上面所述結構,而narrow-band結構中,noise source會產生某個signal觸發signal generator,signal generator再生成reference signal送給adaptive filter。只適用於消除periodic noise。 

feedback anc由於只有error mic,用error mic來恢復feedforward結構中ref mic採集的訊號,通路不滿足因果約束,因此只消除predictable noise components,即窄帶週期性雜訊。需要注意的是,feedforward如果不滿足因果約束,即electronic delay比主通道acoustic delay長的話,也只能消除窄帶週期性雜訊。 

另外還有一種hybrid anc的結構,同時包含feedforward和feedback結構,主要的優點是可以節省自適應濾波器的階數。

主要參照[1],非常詳細的一篇tutorial review,書[2]詳細推導和說明了[1]中的細節。圖1截自jabra官網,圖2和圖3來自[3],圖4來自wikipedia。

mysql 3台主主 mysql主主

設定主 主複製 1 在兩台伺服器上各自建立乙個具有複製許可權的使用者 2 修改配置檔案 主伺服器上 mysqld server id 10 log bin mysql bin relay log relay mysql relay log index relay mysql.index auto i...

Haproxy Keepalived主主高可用

介紹 haproxy是高效能的 伺服器,其可以提供7層和4層 具有healthcheck,負載均衡等多種特性,效能卓越,包括twitter,reddit,stackoverflow,github在內的多家知名網際網路公司在使用。keepalived是乙個高可用方案,通過vip 即虛擬ip 和心跳檢測...

主主複製 主主複製時的主鍵衝突解決

大致思路 1 2臺伺服器都設定上二進位制日誌和relay日誌 2 都設定上replcation賬號 3 都設定對方為自己的master 主主複製下一定要注意避免的問題 同步衝突 例 create table stu id int primary key auto increment.2臺mysql地...