許多設計人員在其基于微控制器的嵌入式系統設計中加入了音頻編解碼器,以提供高保真音頻。但在這樣做之前,他們必須弄清楚如何對其應用進行音頻編解碼器調校。如果不進行調校,即使有好的編解碼器和揚聲器,也可能會讓應用聽起來很平淡或音質很差。問題是每個揚聲器都有自己的頻率響應,因此編解碼器應該根據揚聲器的特性進行調校,同時要考慮到將要播放的音頻種類和所需的響應。
調校音頻播放系統的解決方案不是使用硬件濾波,而是利用音頻編解碼器自身的數字濾波器塊。每個編解碼器都有這個塊,允許開發人員使用高通、低通和帶通濾波器進行輸出濾波。這樣就可以根據需要仔細調校揚聲器的響應。
本文將以 AKM Semiconductor 的編解碼器為例,討論編解碼器中包含的內部數字音頻塊。同時還將討論幾個調校編解碼器的小技巧,以幫助開發人員加速他們的音頻播放開發,同時提高系統的音質。
了解揚聲器的頻率響應特性
在《如何選擇和使用嵌入式音頻反饋文件的音頻編解碼器和微控制器》一文中我們討論了選擇編解碼器并將其添加到系統中的基本原理。下一步就是使用該編解碼器來獲得最佳的音頻輸出。
有幾個不同的因素會影響到系統所發出音頻的聲音。這些因素包括:
- 揚聲器的外殼
- 揚聲器的安裝方式
- 所播放音頻的頻率
- 揚聲器的頻率響應
在仔細考慮了這些因素之后,開發人員很快就會意識到,只有在音頻系統處于最終生產狀態時,對其進行調校才是有用的。當然,系統可以用印刷電路板和揚聲器在外殼外進行調校,但不應該期望這些相同的調校參數在揚聲器安裝并固定到其外殼中后還適用。
如果機械設計團隊已經妥善設計了系統外殼和支架,那么開發商需要密切關注的主要特征就是揚聲器的頻率響應。每個揚聲器都有不同的特性和響應曲線。即使是相同型號的揚聲器,其頻率響應也往往會有細微的變化,但制造商通常會提供一條典型的頻率響應曲線。例如,圖 1 顯示了 CUI Devices GC0401K 8 歐姆 (Ω)、1 瓦揚聲器的頻率響應曲線。GC0401K 的額定頻率在 390 赫茲 (Hz) 和 20 千赫茲 (kHz) 之間。
圖 1:CUI Devices 的 GC0401K 8Ω、1 瓦揚聲器的額定頻率在 390 Hz 和 20 kHz 之間。(圖片來源:CUI Devices)
揚聲器額定使用區間通常是其響應曲線中響應相對平坦的區域。仔細觀察圖 1 可以發現,GC0401K 的頻率響應在約 350 Hz 時開始變平,至少到 9 kHz 時保持相對平坦。高頻率區有一定的下降,但在 20 kHz 以內仍然穩定。
CUI Devices 的 GF0668 則可以看到不同的揚聲器頻率響應(圖 2)。這款揚聲器的體積更大一些,可以輸出 3 瓦的功率。頻率響應額定區間為 240 Hz 至 20 kHz。這款揚聲器可以播放比 GC0401K 略低的頻率,但再次要注意的是,在指定的范圍內,曲線比較平坦,但在整個曲線長度仍有一些低谷和峰值。
圖 2:CUI Devices 的 GF0668 8 Ω、3 瓦揚聲器的頻率響應顯示了為什么它的額定頻率范圍為 240 Hz 至 30 kHz。(圖片來源:CUI Devices)
最后一個值得關注的揚聲器響應是 Soberton, Inc. 的 SP-2804Y(圖 3)。SP-2804Y 是一款 500 毫瓦 (mW) 揚聲器,頻率響應范圍為 600 Hz 至 8 kHz。物理定律決定,揚聲器越小,對低頻的響應時間就越差。這意味著,如果開發人員不濾波掉低頻就試圖以這些頻率來驅動揚聲器,其結果可能是一些本來聽起來應該晶瑩剔透的音色變得很粗糙或有缺陷。
請注意,在 10 kHz 左右的頻率響應也有明顯的下滑。因此,該揚聲器的額定頻率僅為 8 kHz,盡管在某些應用中,其使用頻率可能高至 20 kHz。
圖 3:Soberton Inc. 的 SP-2804Y 8Ω、0.5 瓦揚聲器的頻率響應顯示其適合頻率范圍為 600 Hz 至 8 kHz 頻率。它在 10kHz 后有一個下降,但在某些應用中仍可使用到 20 kHz。(圖片來源:CUI Devices)
從每個揚聲器的頻率響應來看,顯然需要進行某種濾波和調校,因為有些頻率是不應該驅動揚聲器的。例如,試圖在這些揚聲器上驅動 4 赫茲的低音,可能會引起持久的振動,而高頻率注入其中時會導致大量聲音失真。
音頻數字濾波器塊解剖
過去用來調出不需要頻率的一種方法是在通往揚聲器路徑上設立硬件濾波器。例如,500Hz 的高通濾波器可以防止 500Hz 以下的頻率進入揚聲器。在另一端,可以使用低通濾波器來去除任何高于 15 kHz 的音調。從我個人經驗來看,有時如果用小揚聲器來播放女性的聲音,而小揚聲器的效率又比較高,那么揚聲器就會發出高亢的顫音。仔細選擇頻率可以消除這些失真,創造出更純凈的音色。
雖然外部硬件濾波器可以完成這項工作,但它們會增加成本并占用額外的空間。基于這些原因,使用音頻編解碼器中內置的數字濾波器塊對音頻進行調校更為實用和高效。
例如,在 AKM Semiconductor AK4637 24 位音頻編解碼器的框圖中就突出顯示了數字濾波器塊(圖 4)。
圖 4:AK4637 是一款具有單聲道揚聲器輸出的音頻編解碼器,具有音頻播放和錄音功能。該器件還包含內部音頻功能塊,可用于對輸入和輸出的音頻進行濾波,以提高音頻保真度。(圖片來源:AKM Semiconductor)
在此實例數字濾波器塊中包含了幾種不同的濾波功能,具體包括:
- 高通濾波器 (HPF2)
- 低通濾波器 (LPF)
- 四段均衡器(4 段 EQ)
- 自動調平控制 (ALC)
- 一段均衡器(1 段 EQ)
這些功能并不需要全部啟用。開發人員可以選擇自己需要的功能,可以啟用和禁用該塊或或通過它們連接麥克風或播放音頻。在這個接合點,真正的問題是如何對音頻編解碼器進行計算和編程?
數字濾波器參數如何計算和編程
在大多數音頻應用中,高通濾波器用于去除低頻,低通濾波器用于排除高頻。均衡器可用于平滑頻率響應曲線或加強某些音調。這些設置到底該如何選擇,不在本文討論范圍之內。相反,本文將以 AKM AK4637 為例,探討如何計算并編程與這些參數相關的值。
首先,看一下規格書總是有好處的。該編解碼器規格書第 7 和第 8 頁顯示了最重要的寄存器圖。鑒于該器件有 63 個寄存器,第一眼看上去可能是云里霧里。然而,這些寄存器中有許多是控制數字音頻塊的。例如,寄存器 0x22 至 0x3F 控制均衡器。寄存器 0x19 至 0x1C 控制高通濾波器,0x1D 至 0x20 控制低通濾波器。
開發人員通常不能只指定一個頻率輸入到編解碼器中。相反,有一個濾波器方程可用于計算濾波器系數,然后將其編程到編解碼器寄存器中,以創建所需頻率的濾波器。例如,要使用數字濾波器塊創建一個 600 Hz 的高通濾波器,使用公式 1:
圖 5:如圖所示為計算 AK4637 數字濾波器塊高通濾波器的系數所需的公式。(圖片來源:AKM Semiconductor)
開發人員應確定所需的截止頻率 fc,在這種情況下是 600 Hz。音頻采樣頻率 fs 通常為 48 kHz,但可以根據應用情況而改變。這些值隨后會代入計算系數 A 和 B 的方程中,然后在啟動期間,這些值會通過 I2C 寫入編解碼器寄存器。同樣的過程將用于低通濾波器和其他數字塊功能,盡管傳輸功能通常不同,但都需要使用它們自己的方程組(參考規格書)。
音頻編解碼器調校小技巧
音頻編解碼器中包含的數字濾波器塊通常是相當靈活和強大的。即使是低成本的音頻編解碼器也能為開發人員提供生成高保真音頻所需的工具。不過歸根結底,音頻編解碼器只是其中一塊拼圖。要想成功地調校一個音頻編解碼器,有幾個“小竅門”開發人員應該牢記,比如:
確保將應用的揚聲器安裝在適合的外殼中。一個設計不當的揚聲器箱很容易毀掉一個原本完美的播放系統。
在系統完全按照其生產意圖配置組裝好之前,不要調校編解碼器音頻濾波器塊。否則,調諧參數可能會改變。
根據要播放的音頻選擇頻率范圍。例如,吉他、鋼琴或有人說話的音樂的頻率設置都會不同。
使用數字平衡塊來補償揚聲器的頻率響應。有些頻率的聲音自然會更響亮、更清晰,有些可能需要進行衰減,而有些可能需要進行放大。
使用測試音調來評估系統的頻率響應。通過簡單的網絡搜索,可以找到各種音頻音調的 mp3 文件,可用它們來了解音頻播放系統的頻率響應和數字濾波器塊的工作方式。
將濾波器塊配置設置值存儲在閃存或 EEPROM 中,以便在生產過程中進行設置,從而考慮系統與系統之間的差異(如果需要的話)。
遵循這些“小技巧”的開發人員會發現,他們在嘗試調校音頻播放系統時,會節省不少時間并省去很多麻煩,從而確保產品能以預期的音頻特性上市。
結語
在嵌入式系統中添加一個音頻編解碼器對最終用戶來說并不能保證是好事。每一套音頻播放系統都需要精心調校。可以使用外部濾波器來實現這種調校,但音頻編解碼器內置了數字濾波和平衡功能。如上所述,這些功能可以用來只給揚聲器提供最適合的頻率。通過仔細分析濾波器設置并予以應用,開發人員可以調校出終端用戶對其設備所期望的純凈音質。
評論
查看更多