主动降噪(Active Noise Control)
智能耳機
人機交互
- 智能音箱
- 智能聽力器
- 動圈喇叭
- DLC
- 石墨烯
- 陶瓷單位
- 吸音材料
- 陣列式麥克風(fēng)
- 聲紋傳感器
- 降噪算法
- 智能聽力保護
- ANC
ANC
降低噪音通常所采用的三種降噪措施,即在聲源處降噪、在傳播過程中降噪及在人耳處降噪,都是被動的。為了主動地消除噪聲,人們發(fā)明了“有源消聲”這一技術(shù)。ANC(Active Noise Control)又稱為主動噪聲控制,常應(yīng)用在耳機降噪中,
原理:通過降噪系統(tǒng)產(chǎn)生與外界噪音相等的反向聲波,將噪聲中和,從而實現(xiàn)降噪的效果,
所有的聲音都由一定的頻譜組成,如果可找到一種聲音,其頻率、振幅與所要消除的噪聲完全一樣,只是相位剛好相反(相差$180^o$)就可以將這噪聲完全抵消。
頻率:一秒鐘語音信號震動的次數(shù)
振幅:聲音大小
相位:某一時刻聲波處于一個周期內(nèi)的位置,如果我們規(guī)定空氣被壓縮的最厲害的地方是相位的零點,那么半個周期之后,空氣變得最為稀疏的地方,相位就變成180°。等到空氣再次被壓縮得最密集時,就經(jīng)過了一整個周期,相位變化了360°又重新變?yōu)?span lang="en-us">0°。
辦法:先采集噪聲,所以處理器會根據(jù)噪聲進行預(yù)測,預(yù)測出下一時刻噪聲的情況,并產(chǎn)生相位相反的噪聲,來抵消原噪聲。
?
?
為了保證降噪質(zhì)量,還需要一個反饋麥克風(fēng)用來檢測所合成后的噪聲是否真的變小了。這時處理器會根據(jù)這個反饋麥克風(fēng)測量到的結(jié)果,對處理過程進行調(diào)整從而進一步降低合成后的噪聲音量,這叫做自適應(yīng)過程。好比處理器變聰明了,能夠根據(jù)消噪的效果不斷調(diào)整自己,以達到最佳降噪效果。
眾所周知,聲音是由震動產(chǎn)生的,因此通過解決震動也可以有效的解決噪聲問題,當(dāng)金屬板、機器外壁等一般均由薄金屬板震動產(chǎn)生聲音,進而輻射噪聲,象這類由金屬板結(jié)構(gòu)振動引起的噪聲稱之為結(jié)構(gòu)噪聲。
咳咳咳咳,總結(jié)一下,
一:是通過聲音抑制聲音
二:通過減少震動來抑制聲音
降噪耳機
降噪功能對耳機的作用很重要,一是減少噪音,避免過度放大音量,從而減少對耳朵的損害。二是過濾噪音從而提高音質(zhì)和通話質(zhì)量。
降噪可分為被動式降噪和主動式降噪。
被動式降噪也就是物理降噪,被動式降噪是指利用物理特性將外部噪聲與耳朵隔絕開,主要通過耳機的頭梁設(shè)計得緊一些、耳罩腔體進行聲學(xué)優(yōu)化、耳罩內(nèi)部放上吸聲材料……等等來實現(xiàn)耳機的物理隔音。被動降噪對高頻率聲音(如人聲)的隔絕非常有效,一般可使噪聲降低大約為15-20dB。
?
主動式降噪就是商家在宣傳耳機降噪功能時會主打的ANC、ENC、CVC、DSP等降噪技術(shù)
?
降噪耳機,采用ANC降噪,主動噪音控制,主要是針對外部環(huán)境中的高、低頻噪聲,不同于一般耳機的被動隔音,其原理為:
主動降噪根據(jù)拾音麥克風(fēng)位置的不同,分為前饋式主動降噪與反饋式主動降噪。
這么一來,這個耳機需要一段的算法處理時間,先學(xué)習(xí)噪聲,這個學(xué)習(xí)需要時間,然后再把學(xué)習(xí)到的噪聲相位反轉(zhuǎn),有一個自適應(yīng)調(diào)整期。
主動降噪耳機價格昂貴,但是一般效果優(yōu)秀,佩戴舒適。但是需要獨立電池供電,大多數(shù)被動降噪耳機可以不耗電使用(也不主動降噪)
ENC降噪
ENC(Environmental Noise Cancellation,環(huán)境降噪技術(shù)),能有效抑制90%的反向環(huán)境噪聲,由此降低環(huán)境噪聲最高可達35dB以上,讓游戲玩家可以更加自由的語音溝通。通過雙麥克風(fēng)陣列,精準(zhǔn)計算通話者說話的方位,在保護主方向目標(biāo)語音的同時,去除環(huán)境中的各種干擾噪聲。
?
DSP降噪
DSP是英文(digital signal processing)的簡寫。主要是針對高、低頻噪聲。工作原理是麥克風(fēng)收集外部環(huán)境噪音,然后系統(tǒng)復(fù)制一個與外界環(huán)境噪音相等的反向聲波,將噪音抵消,從而達到更好的降噪效果。DSP降噪的原理和ANC降噪相似。但DSP降噪正反向噪音直接在系統(tǒng)內(nèi)部相互中和抵消。
CVC降噪
CVC(Clear Voice Capture)是通話軟件降噪技術(shù)。主要針對通話過程中產(chǎn)生的回聲。通過全雙工麥克風(fēng)消噪軟件,提供通話的回聲和環(huán)境噪音消除功能,是目前藍牙通話耳機中最先進的降噪技術(shù)。
?
?
相關(guān)應(yīng)用
主動降噪主要應(yīng)用在車載音響中:
凱迪拉克是率先將主動降噪技術(shù)運用于汽車領(lǐng)域的品牌。2013年一季度在國內(nèi)上市的凱迪拉克XTS豪華轎車,其BOSE?5.1環(huán)繞聲高級音響系統(tǒng)具備主動降噪靜音系統(tǒng)(ANC),用車內(nèi)麥克風(fēng)采集噪音樣本,經(jīng)系統(tǒng)分析處理之后,由車載音響的揚聲器播放相反的音頻,以抵消噪音波,營造更安靜的車內(nèi)氛圍。
主動降噪在室內(nèi)降噪中的運用:
隨著人們居住要求的日益提高,室內(nèi)降噪需求也愈發(fā)凸顯,針對窗外、四鄰活動及家用電器運轉(zhuǎn)等噪聲源,研發(fā)三維開放聲場主動降噪技術(shù)并將其運用到室內(nèi)降噪以改善聲環(huán)境,是未來室內(nèi)噪聲控制的一種可行方案。
?
核心算法
ANC降噪實現(xiàn)核心算法為:FxLMS(最小均方差算法)。最小均方差算法以均方誤差為代價函數(shù),并使誤差降到最小的算法。 具體算法推導(dǎo)這里不做具體介紹,這里直接列出表達式
其中, x(k)為輸入信號矩陣,W(k)為調(diào)整權(quán)值矩陣,d(k)為目標(biāo)(理想)輸出信號矩陣,y(k)為實際輸出信號矩陣,e(k)為誤差信號矩陣,第3個公式為權(quán)值調(diào)整公式,mu為收斂因子(值為隨機的,0<mu<x(k)的相關(guān)矩陣最大特征值的倒數(shù))
Matlab仿真LMS濾波器
根據(jù)表達設(shè)計濾波器
function [yn,W,en]=LMS(xn,dn,M,mu,itr) % LMS(Least Mean Squre)算法 % 輸入?yún)?shù): % xn 輸入的信號序列 (列向量) % dn 所期望的響應(yīng)序列 (列向量) % M 濾波器的階數(shù) (標(biāo)量) 濾波器的階數(shù),就是指過濾諧波的次數(shù),其階數(shù)越高,濾波效果就越好 % mu 收斂因子(步長) (標(biāo)量) 要求大于0,小于xn的相關(guān)矩陣最大特征值的倒數(shù) % itr 迭代次數(shù) (標(biāo)量) 默認為xn的長度,M<itr<length(xn) % 輸出參數(shù): % W 濾波器的權(quán)值矩陣 (矩陣) % 大小為M : itr, % en 誤差序列(itr : 1) (列向量) % yn 實際輸出序列 (列向量)% 參數(shù)個數(shù)必須為4個或5個 if nargin == 4 % 4個時遞歸迭代的次數(shù)為xn的長度 itr = length(xn); elseif nargin == 5 % 5個時滿足M<itr<length(xn)if itr>length(xn) || itr<Merror('迭代次數(shù)過大或過小!');end elseerror('請檢查輸入?yún)?shù)的個數(shù)!'); end% 初始化參數(shù) en = zeros(itr,1); % 誤差序列,en(k)表示第k次迭代時預(yù)期輸出與實際輸入的誤差 W = zeros(M,itr); % 每一行代表一個加權(quán)參量,每一列代表-次迭代,初始為0% 迭代計算 for k = M:itr % 第k次迭代x = xn(k:-1:k-M+1); % 濾波器M個抽頭的輸入y = W(:,k-1).' * x; % 濾波器的輸出en(k) = dn(k) - y ; % 第k次迭代的誤差 % 濾波器權(quán)值計算的迭代式W(:,k) = W(:,k-1) + 2*mu*en(k)*x; end% 求最優(yōu)時濾波器的輸出序列 yn = inf * ones(size(xn)); for k = M:length(xn)x = xn(k:-1:k-M+1);yn(k) = W(:,end).'* x; end調(diào)用LMS函數(shù)仿真
close all % 正弦信號的產(chǎn)生 t=0:199; xs=5*sin(0.3*t); figure; subplot(2,1,1); plot(t,xs);grid; ylabel('幅值'); title('{輸入正弦波信號}');% 隨機噪聲信號的產(chǎn)生 randn('state',sum(100*clock)); xn=randn(1,200); zn=randn(1,200); xn=xn+zn; subplot(2,1,2); plot(t,xn);grid; ylabel('幅值'); xlabel('時間'); title('{輸入隨機噪聲信號}');% 信號濾波 xn = xs+xn; xn = xn.' ; % 輸入信號序列 dn = xs.' ; % 預(yù)期理想結(jié)果序列 M = 23 ; % 濾波器的階數(shù) rho_max = max(eig(xn*xn.')); % 輸入信號相關(guān)矩陣的最大特征值 mu = rand()*(1/rho_max) ; % 收斂因子 0 < mu < 1/rho_max [yn,W,en] = LMS(xn,dn,M,mu);% 繪制濾波器輸入信號 figure; subplot(2,1,1); plot(t,xn);grid; ylabel('幅值'); xlabel('時間'); title('{濾波器輸入信號}'); % 繪制自適應(yīng)濾波器輸出信號 subplot(2,1,2); plot(t,yn);grid; ylabel('幅值'); xlabel('時間'); title('{自適應(yīng)濾波器輸出信號}'); % 繪制自適應(yīng)濾波器輸出信號,預(yù)期輸出信號和兩者的誤差 figure plot(t,yn,'b',t,dn,'g',t,dn-yn,'r',t,xn,'m');grid; legend('自適應(yīng)濾波器輸出','預(yù)期輸出','誤差','自適應(yīng)濾波器輸入'); ylabel('幅值'); xlabel('時間'); title('{自適應(yīng)濾波器}'); %繪制最優(yōu)權(quán)值點 figure mm=0:M-1; plot(mm,W(:,end)','m*');grid; title('{最優(yōu)權(quán)值點}');實驗效果圖:
結(jié)果分析
輸入信號為正弦信號加噪聲的混合信號,可見正弦信號受噪聲影響失真較大;實驗輸出信號失真較小,噪聲信號已經(jīng)很小,這里可以調(diào)節(jié)M濾波器階數(shù)來調(diào)節(jié)ANC降噪效果。可見,LMS算法可實現(xiàn)ANC降噪功能。
實際應(yīng)用中,ANC降噪對2KHZ以下的信號噪聲降噪效果比較好,對高頻噪聲降噪效果很差。原因為高頻信號波長短,對相位偏差也比較敏感,導(dǎo)致ANC對高頻噪聲降噪效果差。一般高頻噪聲可以被耳機物理的遮蔽屏蔽掉,這種降噪被稱為被動降噪。
總結(jié),一般2kHz噪聲信號使用ANC,高頻信號沒有必要使用ANC。實際測試中的應(yīng)用,測試步驟:
?
Feedforward ANC 主動降噪原理
feedforward式主動降噪耳機的示意圖,圖中,Ref mic在耳機耳罩上,采集環(huán)境噪聲。Error mic在耳機內(nèi),采集降噪處理后的殘差噪聲,Speaker播放ANC處理后的anti-noise。
上圖是ANC系統(tǒng)的原理圖,一共三層,用虛線分隔。最上一層primary path是從ref mic到error mic的聲學(xué)通道,響應(yīng)函數(shù)用P(z)P(z)表示;中間一層是模擬通道,其中secondary path是adaptive filter輸出到返回殘差的通路,包括DAC、reconstruction filter、power amplifier、speaker播放、再采集、pre-amplifier、anti-aliasing filter、ADC;最下一層是數(shù)字通路,其中adaptive filter不斷調(diào)整濾波器權(quán)系數(shù)來削減殘差,直到收斂。最常用的方案是用FIR濾波器結(jié)合LMS算法來實現(xiàn)adaptive filter。簡化上圖2,得到下圖
圖3
先簡要說幾句adaptive filter和LMS(Least mean square)算法的原理,再說圖3。如圖4,給定輸入x和desired output d,adaptive filter每次迭代會更新系數(shù),使其輸出$y$與$d$之差越來越小,直到殘差足夠接近0且收斂。LMS是adaptive filter的一種更新算法。LMS的目標(biāo)函數(shù)是瞬時誤差的平方$e^2(n)=(d(n)-y(n))^2,為了minimize目標(biāo)函數(shù),對其應(yīng)用梯度下降就得到算法的更新公式。采用FIR濾波器的LMS算法的更新公式為:
$w(n+1)=w(n)+\mu e(n)x(n)$,其中$\mu$為step size。如果隨著迭代進行調(diào)整$\mu$的大小,就是變步長的LMS算法。
?圖4
再來說圖3。這里adaptive filter輸出后還要經(jīng)過$S(z)$才去和desire output比較,$S(z)$會引起instability,用文獻的話說,“the error signal is not correctly ‘a(chǎn)ligned’ in time with the reference signal”,破壞了LMS的收斂性。一種有效的方法是FXLMS(Filtered-X LMS),也就讓x(n)經(jīng)過$S?(z)$再輸入給LMS 模塊, $\hat{S}(z)$是$S(z)$的估計。FXLMS的objective:
$$e^2(n)=(d(n)-s(n)*[w^T(n)x(n)])^2$$
所以$gradient=-2e(n)s(n)*x(n)$,其中$s(n)$未知,用其estimate近似,所以FXLMS的更新公式是
$\textbf{w}(n+1)=\textbf{w}(n)+{\mu}e(n)\textbf{x}'(n)$
其中$\textbf{x}'(n)=\widehat{s}(n)*\textbf{x}(n)$
當(dāng)adaptive filter收斂時,$E(z)=X(z)P(z)-X(z)W(z)S(z)≈0$,因此$W(z)≈P(z)/S(z)$。也就是說,自適應(yīng)濾波器的權(quán)系數(shù)是由耳機的primary path和secondary path決定的。耳機的primary path和secondary path相對穩(wěn)定,所以adaptive filter的權(quán)系數(shù)也相對穩(wěn)定。因此為實現(xiàn)簡單,某些廠家的ANC耳機的權(quán)系數(shù)在出廠時就確定了。當(dāng)然這種ANC耳機的聽感體驗明顯不及具有真正自適應(yīng)意義的ANC耳機,因為在實際情況下,外部噪聲相對耳機的方向、不同溫度等因素會對耳機的通道響應(yīng)有影響。
Matlab驗證
寫Matlab代碼,用變步長LMS的adaptive filter,得仿真結(jié)果如圖5。在0到2KHz范圍內(nèi),利用feedforward ANC消高斯白噪,噪聲衰減平均30dB+。Matlab庫里的FXLMS是定步長的,效果要差一些。
?
?
Q&A
遇到的困惑寫出來分享一下。
1. ANC為什么只針對2kHz以下的低頻噪音?
一方面,耳機的物理隔音方式(被動降噪)可以有效阻擋高頻噪音,沒必要用ANC降高頻噪聲。另一方面,低頻噪聲波長較長,可以承受一定的相位延遲,而高頻噪聲波長短,對相位偏差敏感,因此ANC消高頻噪聲并不理想。
2. 當(dāng)electronic delay比primary delay大時,算法性能大大下降如何理解?
P(z)延時小,S(z)延時大,比如P(z)=z-1, S(z)=z-2,只有當(dāng)W(z)=z才能滿足要求,非因果,unreachable。
3. Feedforward ANC、narrow-band feedforward ANC、feedback ANC有什么區(qū)別?
Feedforwad結(jié)構(gòu)有一個ref mic和一個error mic,分別采集外部噪音和內(nèi)部殘差信號。feedback結(jié)構(gòu)只有一個error mic,由error mic和adaptive filter output生成reference signal。
Broad-band feedforward就是上面所述結(jié)構(gòu),而narrow-band結(jié)構(gòu)中,noise source會產(chǎn)生某個signal觸發(fā)signal generator,signal generator再生成reference signal送給adaptive filter。只適用于消除periodic noise。
Feedback ANC由于只有error mic,用error mic來恢復(fù)feedforward結(jié)構(gòu)中ref mic采集的信號,通路不滿足因果約束,因此只消除predictable noise components,即窄帶周期性噪聲。需要注意的是,feedforward如果不滿足因果約束,即electronic delay比主通道acoustic delay長的話,也只能消除窄帶周期性噪聲。
另外還有一種Hybrid ANC的結(jié)構(gòu),同時包含feedforward和feedback結(jié)構(gòu),主要的優(yōu)點是可以節(jié)省自適應(yīng)濾波器的階數(shù)。
?
?
?
?
?
?
?
?
Reference
主要參照[1],非常詳細的一篇tutorial review,書[2]詳細推導(dǎo)和說明了[1]中的細節(jié)。圖1截自jabra官網(wǎng),圖2和圖3來自[3],圖4來自Wikipedia。
[1]: Kuo S M, Morgan D R. Active noise control: a tutorial review[J]. Proceedings of the IEEE, 1999, 87(6):943-973.
[2]: Kuo S M, Morgan D. Active Noise Control Systems: Algorithms and DSP Implementations[M]. John Wiley & Sons, Inc. 1996.
[3]: Kajikawa Y, Gan W S, Kuo S M. Recent advances on active noise control: open issues and innovative applications[J]. Apsipa Transactions on Signal & Information Processing, 2012, 1(2):e3.
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
實現(xiàn)困難度
主動降噪+被動降噪
?
?
參考文獻
wjzblog的CSDN博客 ANC降噪學(xué)習(xí)
?
?
語音喚醒
?
總結(jié)
以上是生活随笔為你收集整理的主动降噪(Active Noise Control)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微分流形(流形)定义
- 下一篇: 流形间的映射(拉回映射与推前映射)及根据