Active Noise Cancelling-主动噪声消除
ABSTRACT
我們生活中充斥著各種噪聲,而隨著科技的進步,各種音頻降噪技術也不斷涌現。主動降噪(Active Noise Cancelling)技術屬于降噪技術的其中一種,其基本原理是通過播放“反波(Anti-Signal)”在聲學環境中來抵消噪聲。主動降噪已經被廣泛應用到了耳機中,各種“主動降噪耳機”也應接不暇。本篇文章,我們會詳細介紹什么是主動降噪,主動降噪背后的原理是什么,并從“AirPods開發者”的角度介紹怎樣專業地評測一款主動降噪耳機。
?
I. Introduction
在我們日常的生活當中,充斥著各種噪聲。Fig.1列舉了六種生活中比較常見的噪聲。在這些噪聲中,飛機噪聲、空調/風扇噪聲,機器噪聲相對比較平穩,沒有明顯的波動,此類噪聲我們稱之為Stationary Noise [1] (Goodman, N. R., 1961)。而餐廳噪聲、交通噪聲和施工噪聲通常是Non-Stationary Noise [2] (Rangachari, 2006)。在Non-Stationary Noise中,比較具有代表性的要數餐廳里的噪音Babble Noise,著名的Cocktail Party Effect [3] (Arons, 1992) 就是基于Babble Noise的。Babble Noise是指多個說話者的交談聲組成的背景噪聲,此類噪聲不僅僅是非平穩的,而且和我們所需語音的成分相似,導致在進行語音增強Speech Enhancement(語音為所需信號時的噪聲抑制)時難度增大。
針對不同類型的噪聲,各種不同的降噪算法也相繼出現。降噪算法可分為傳統信號處理算法 (Conventional Signal Processing Algorithm),以及基于機器學習的算法(Learning-based Algorithm)。Fig.2中展示了部分基于傳統信號處理算法的分類,主動降噪(Active Noise Cancelling)是其中的一種。
?
II.?ACTIVE NOISE CANCELLING-ANC
主動降噪Active Noise Cancelling (ANC) 其實早在1936年就被Paul Lueg 提出 [4]。一直到1986年,由美國音頻硬件制造商Bose Corporation生產出了第一款ANC 耳機 [5] (Tokhi, 2002),并配備給了飛行員完成首飛。從那時候起,各種ANC耳機便如雨后春筍一般不斷涌現。
A.?ANC的算法基本原理
ANC的基本原理并不難理解,核心是根據噪聲信號生成一個反波 (Anti-Signal) 作為消除信號 (Cancelling Signal),在聲場(Acoustic) 中播放這個消除信號來抵消掉噪聲。我們以一個正弦信號 (Sine Signal) 為例,
sn(t)=Asin(2πft)
其中sn(t)代表噪聲信號,A代表正弦信號的幅度,f代表了正弦信號的頻率。針對噪聲信號sn(t),我們生成Anti-Signal sc(t)作為Cancelling Signal,
?sct=-Asin(2πft)
如果我們在聲場中播放sc(t),在合適的位置我們就能達到以下的效果,
snt+sc(t)=0
?
Fig.3展示了上述對于正弦信號這種單頻音 (Single Tone)的主動抑制過程。如Fig.3(a)所示,紅色信號代表噪聲信號sn(t),藍色信號代表Cancelling Signal sc(t)。由Fig.3(b)所示,疊加后,噪聲信號sn(t)已被抵消。
?
B. ANC耳機基本原理
根據ANC的基本工作原理,我們來介紹一下ANC耳機的結構。我們以Feedback ANC Headphone [6] (Brittain, 1997) 為例。Fig.4展示了一個Feedback ANC Headphone的一個剖面圖,其中模塊18是Audio Communication Speaker,它的功能是播放所需要的聲音,比如語音或者音樂。模塊20是Noise Reduction Speaker,它的職責是播放Cancelling Signal。模塊22和模塊24則是負責計算和生成這個Cancelling Signal的關鍵模塊。模塊22是Feedback Microphone,它位于耳機內部,負責監聽耳機內部的環境噪音。外部的環境噪音,通過耳機罩,到達耳機內部的時候,這時的信號為耳機內部的環境噪音。拿到了這個信號后,模塊22會將其傳入模塊24,模塊24則負責ANC算法的計算,通過自適應濾波 (Adaptive Filtering) 實時地生成Cancelling Signal,并發送給Noise Reduction Speaker將其播出,去抵消噪聲。
除了Feedback ANC,還有一種ANC的類型是Feedforward。而目前比較流行的ANC算法是Feedback結合Feedforward的Hybrid算法。Fig.5展示了Hybrid ANC的示意圖。通過示意圖我們可以看到,Hybrid ANC大多數模塊都和Feedback ANC一樣,唯一的不同是多了一個Feedforward Microphone (在Fig.5中的模塊6)。這個Microphone安置在耳機的外部,用來收集耳機周圍環境噪音,在進入耳機之前的聲音信息。
Fig.6里展示了Hybrid ANC的Block Diagram。Feedback Microphone采集到的信號為e(n),它同時也是最后耳朵所聽到的信號。x(n)代表Feedforward Microphone采集到的信號。外界的噪聲在被Feedforward Microphone采到的同時,也會透過耳機 (Primary Path),傳入耳道 (Ear Canal)。在耳道處,會與耳機的Speaker播放出來的Cancelling Signal y'(n)相互疊加,最終達到消除d(n)的效果,
en=d(n)-y'(n)?
Hybrid ANC的算法核心是自適應濾波器 (Adaptive Filter), Normalized Least Mean Square (NLMS)是一個比較通用的自適應濾波器 [7] (Shin, 2004),
wi=wi-1+μUi*(UiUi*)-1ei? ? ? ? ? ? ? ? ? ?
其中,
Ui=[ui, ui-1… ui-K+1]T?? ? ? ? ? ? ? ? ??
wi表示NLMS中Linear Filter在ith?frame時的weights,μ是自適應濾波器的步長 (step-size),ei代表 en在 ith?frame的信號,ui代表 un在 ith?frame的信號。
?
III.?ANC耳機評測
耳機的評測涉及很多方面,各種論壇也有詳細的評測攻略。我們這里著重介紹一下怎樣從專業的音頻角度去評測ANC耳機。在Fig.6中,灰色的三個標準是比較常見的三個耳機評測標準。下面三個紅色的標準則是從音頻角度出發,對ANC耳機進行衡量。
第一個評測點是降噪程度 (Cancelling Decibels) 。這個指標是用來測量ANC對噪聲抑制了多少。主觀感受時,可以在環境內播放噪聲,橫向比較不同的ANC耳機降噪過后的效果。噪聲類型可以參照我們上文提到的Stationary Noise和Non-Stationary Noise來分別進行測試。
第二個評測點是降噪的Frequency Range。這個指標反映了ANC降噪的作用頻率范圍。測試方法和降噪程度的測試方法類似,唯一不同的是噪聲類型,可以用不同頻段的單頻音,或者是一個掃頻信號 (Chirp Signal) 來進行對比測試。
第三個評測點是ANC開啟時的音質,主要針對測試ANC工作時候,有沒有對播放的音樂信號造成損傷。
?
IV.?當網易云信遇上音頻降噪
云信 [8] 是網易集團下屬的內資公司,總部位于杭州。除資深老杭研外,團隊核心90%來自硅谷、百度、騰訊、阿里、華為等大型企業/獨角獸公司,平均行業經驗10年以上,掌握業內領先的IM及實時視頻通訊系統研發技術。憑借集團的強大優勢、團隊的專業能力及24小時全天候的運維支持服務,截止當前,網易云信產品已覆蓋用戶7億+,覆蓋196個國家,覆蓋地區567個。
云信的音頻團隊在音頻算法上有著深厚的積累。在音頻降噪這一模塊,主要的方向依然是傳統信號處理和AI算法雙管齊下 (Fig.7)。傳統信號處理算法中,對于Stationary Noise采用線性的算法進行處理,對于Non-Stationary Noise比如Transient Noise,會用到非線性的傳統算法。在AI領域,云信音頻會更注重混合型的AI算法,將AI作為降噪算法中的一個子模塊,結合傳統信號處理算法,在保證語音質量的情況下提升降噪效果。
?
References
總結
以上是生活随笔為你收集整理的Active Noise Cancelling-主动噪声消除的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 细说websocket快速重连机制
- 下一篇: Windows下Core_Audio_A