Introduce
最近Airpods Pro的推出,又掀起一陣黑科技的討論,不就是多個主動式降躁嗎? 主動式降躁又不是什麼新的科技! 不就是一個外部麥克風偵測環境噪音,耳機的Speaker播放一個反向的聲波,然後正負抵銷後噪音就不見了.......
噪音頻率補償
後來想想不對如果這麼簡單那大家早就推出了, 後來查閱了一些資料自己得到了一些小小心得,降躁原理的確就如同上面提到的這麼簡單,但要實現上卻有很多問題存在,最大的問題我個人覺得是如何補償噪音的增益或衰減(Gain or Attenuation),聲音本身可以拆解成不同頻率組成的訊號,但每個頻率在經過耳機與人耳到實際聽到的衰減是不一樣的,這個取決於耳機的機構設計,半開放式開放式耳塞的材質等等。
所以聲音處理晶片(DSP)就需要對不同頻率有不同的補償值,但這個會有一個問題,每個人的耳朵形狀都不太一樣,配戴方式也不同,能夠接受的耳塞大小也不太一樣,像我個人就不喜歡塞太緊的耳塞,所以如果出廠的設定值都一樣,對每個人的降躁效果體驗就會不一樣
"因為反向聲波本身就是一個噪音"
Feed Forward, Feed Back, Hybrid
當然降躁耳機已經推出很久了,當然這是在耳罩式也有很多著名的牌子,相關技術文章很多例如[1] [2]都有提到Feed Forward, Feed Back and Hybrid,現在在賣很多都強調自己的方案支援
Hybrid,當然
Hybird實際怎麼實現是每一家的技術,真材實料或紙上談本消費者很能知道,
但在硬體上面重點就是要有一個偵測輸出端的麥克風,有了這個麥克風當然就可以做很多事情。
例如SONY 1000-XM series頭罩式降躁耳機,APP裡面就有個降躁優化器,執行過程你會聽到撥出不同頻率的訊號,裡用in-ear MIC偵測可以達到針對每個人的配戴狀態來進行調整,不用固定出廠參數。
Earbuds TWS + ANC比較
我自己有SONY SP700N,先前有比較過延遲差到不行外,對於他的降躁效果也是覺得莫名其妙.....有降躁效果嗎? 至少對我來說是完全沒有用啦,但後來SONY推出WF-1000XM3後自己借來戴效果的確不錯,一樣的耳塞效果的差異我們比較一下內部結構。
這裡拿比較網路上幾款目前評價最好的 TWS+ANC 的機種,SONY WF 1000XM3 與 Track AIR+還有最夯的Apple Airpods Pro,,圖片都是來自我愛音頻網[3][4][5],
其實可以看到這幾款設計上都絞盡腦汁在這麼小的空間內塞入降躁麥克風,但這裡除了比每一家晶片的DSP運算能力,演算法功力外,還有機構的設計能力,但說實在以現在大家互相致敬的功力,機構音腔設計應該沒多久就會有最佳化的參考設計出現,畢竟這尺寸要塞一顆麥克風都很難了,所以弄到最後大家會長的差不多,或......跟Apple Airpods Pro差不多也說不定。
Apple不愧是Apple,推動華強北科技進步的動力阿
降躁演算法 Algorithm
剛剛提到的三款TWS+ANC降躁耳機,除了Apple用了自己的H1晶片外,像SONY也是自己開發一個
獨立降躁晶片,Track Air+掛了另外一顆
Analog ADAU1787 (Qualcomm本身也有沒用不知道什麼原因?),其實要不要獨立掛一個降躁DSP處理器我覺得還好,現在晶片的製程能力,說實在獨立一顆都是過度的作法,空間都不夠了還不整合再一起!
演算法部分有找到TI的Application Note [6],每次看TI這種老派的IC設計公司留下來的Application Note都會覺得Wow,我到底在看Application Note還是教科書,當然複雜部分還是簡單的來,無論什麼演算法最後就是要製造出反向的訊號來抵銷雜訊,前面提到每個雜訊可以拆分成不同頻率的訊號,不同頻率的訊號需要不同的增益響應,原本直覺是把訊號錄下來進行FFT轉換後然後在與in-ear MIC偵測到的訊號資訊進行補償計算不就好了?
即時訊號處理 RealTime Digital Signal Process
後來發現這個有一個嚴重的盲點,那就是如果取一段訊號 T 在進行FFT轉換,然後計算補償後在輸出,即使後面的處理速度快到可以忽略不計,但本身訊號取樣過程Sampling 是需要花費時間T的,在處理完後再送出也至少會延遲T的時間,但噪音本身是即時不會等人,這跟一般的數位通訊好像不太一樣,通訊系統本身是封包可以錄下來後再處理比較,
但ANC不能這麼做了,因為剛剛提到反向聲波本身就是一個噪音,要是沒有原本噪音時間上對齊,振幅上對齊主動式降躁就變成主動式造躁!
FIR Finite Impulse Filter
數位濾波器FIR/IIR濾波器,因為自己是學習比較範疇比較偏類比,雖然對於數位濾波器一直都不是很熟悉,研究所時候雖然有修過通訊系統,但現在想想我真的有在上課嗎? 幸好現在很多教授都有線上課程可以看例如 台灣科技大學 黃騰毅教授 訊號與系統[7],有時候當某位教授上課聽不懂的時候,可能不是你太笨或他不會教,只是彼此不匹配而已,多找幾個聽聽總有一個能先讓你先入門。
FIR另外一種說法叫做Moving Averaging Filter,這名稱由來與他的操作行為有關,真實世界的訊號是類比連續的訊號,所以我們需要一個Sensor與ADC來轉換成數位訊號,這時候訊號是沒有處理過100%原汁的,以一個三階FIR濾波器為例,每三點進來的訊號非別乘以已個係數b[n] 然後加在一起,如果b[n]都是相等1/3, 這其實就是一個三點平均的概念,而且有點類似b[n]一直往右跑所以就有moving average filter的稱號。
雖然叫做moving average而且行為上是把訊號smooth,另外一個說法就是把高頻的訊號或雜訊濾掉,也就是低通濾波器的概念,但實際上透過b[n]係數的分配,他可以是低通濾波器LowPass Filter,高通濾波器HighPass Filter,帶通濾波器BandPass Filter與帶止濾波器BandStop Filter幾種配置,聽起來很神奇對吧?
合成濾波器本身需要對工數有一定的能力,網路上有很多MatLab Like這種專業的軟體(Free),或一些免費的軟體可以用,Iowa Hills Software Digital and Analog Filters [8]可以直接計算FIR filter的b[n]係數與頻率響應,至於計算的細節下次再複習吧!
Low Pass Filter 與 High Pass Filter比較
我們計算一個11階FIR,OmegaC設定為0.15 (3dB frequency點這樣以較好理解),分別算出Low Pass and High Pass的係數,從係數的總和我們可以推敲出當頻率很低的時候average的結果,總和為1也就是代表低頻訊號會通過,反之總和很小就代表低頻訊號會被衰減。
以下是一個低通濾波器的範例,頻率正規劃為0.16左右會有6dB的衰減,也就是電壓的振幅會少一半,我們把資料輸入到Excel後可以觀察到經過11筆資料後的平均加權計算後,振幅會如同FIR頻率響應衰減6dB,但可以看出數位濾波器多少會有延遲的問題或穩定時間(取決於取樣速度與濾波器階數),因為是11階濾波器,所以最後訊號要再經過11次取樣時間後才會穩定。
最後我們把兩個頻率訊號混在一起觀察x[n] sum訊號混著高頻訊號與低頻訊號,如果要針對不同訊號進行增益補償就不能直接x[n]乘以一個係數,我們可以透過不同濾波器的組合分別本頻率取出後再進行處理後再合併輸出,所以實際上可能會看到無數個不同階數的FIR組成。
訊號經過Low Pass高頻訊號被平均掉了
|
Low Pass Filter Output |
訊號經過High Pass Filter低頻訊號被平均掉了,FIR moving average其實也沒錯,只是他可以針對特定頻率週期的訊號進行平均,FIR在進階就是IIR Filter, 其實功能都差不多