嵌入式音頻處理基礎(一)
音頻功能在嵌入式媒體處理中起到關鍵性的作用。雖然一般來說,音頻處理比視頻處理占用較少的處理能力,但它們具有相同的重要性。
本文引用地址:http://butianyuan.cn/article/87005.htm本文共包括三個部分,在第一部分中,我們將探討數(shù)據(jù)是如何從各種音頻轉換器(DAC和ADC)傳送給嵌入式處理器的。在這之后,我們將探討一些經常用于連接音頻轉換器的外圍接口標準。
模擬與數(shù)字音頻信號之間的轉換
采樣
所有的A/D與D/A轉換都應該遵循Shannon-Nyquist采樣定理。簡言之,該定理規(guī)定了模擬信號在被采樣時的速率(Nyquist采樣率)必需等于或超過它的帶寬(Nyquist頻率)的兩倍,以便可以在最后的D/A轉換中進行信號重構。低于Nyquist采樣率的采樣將產生混疊,而這種混疊是那些超過Nyquist頻率的頻率分量在低頻區(qū)的鏡像疊影。如果我們取一個帶寬限制在0-20kHz范圍內的音頻信號,并在2×20kHz=40kHz頻率下進行采樣,那么Nyquist定理就能確保我們可以對原來的信號進行完美重構而不會有任何信號損失。但是,對這個0-20kHz帶限信號用任何低于40kHz的采樣率進行采樣時,將會由于混疊而產生失真。圖1示出低于Nyquist采樣率的采樣如何使信號表示得不正確。在40kHz頻率下采樣時,20kHz的信號被正確地表示(圖1a)。但是,同樣的20kHz正弦波,當在30kHz頻率下采樣時,實際上看起來像是原始正弦波在一個較低頻率上的混疊(圖1b)。
圖1 (a)用40kHz對20kHz信號進行采樣可以正確地捕捉到原始信號。
(b)用30kHz對同一個20kHz信號進行采樣所捕捉到的是一個被混疊了的信號(低頻重影)
然而,沒有一個實際系統(tǒng)是正好用兩倍的Nyquist頻率進行采樣的。例如,把一個信號限制于一個指定的頻帶內要使用模擬低通濾波器,但這些濾波器從來就不是理想濾波器。因此,通常用來還原音樂的最低采樣率是44.1kHz而不是40kHz,而且許多高質量系統(tǒng)是用48kHz進行采樣的,以捕捉到0-20kHz范圍內更加逼真的聽覺感受。
由于語音信號只是我們可以聽到的頻率范圍的一小部分,所以4kHz以下的能量就足以使還原的語音信號能夠聽得懂?;谶@個原因,電話應用中通常只使用8kHz的采樣率(=2×4kHz)。表1歸納了我們所熟悉的一些系統(tǒng)的采樣率。
表1 常用的采樣率
PCM輸出
音頻信號最常用的數(shù)字表示是PCM(脈沖編碼調制)信號。在這種表示中,對每個采樣周期內的一個模擬幅度用一個數(shù)字量進行編碼。這樣得到的數(shù)字波形是一個用來近似地表示輸入模擬波形的由抽取點組成的矢量。所有A/D轉換器的分辨率都是有限的,所以轉換器引入了數(shù)字音頻系統(tǒng)所固有的量化噪聲。圖2示出模擬正弦波的PCM表示(圖2a),它是用一個理想的A/D轉換器進行轉換的,圖中的量化操作顯現(xiàn)為一種“階梯效應”(圖2b)。您可以看到,較低的分辨率導致了對原始波形的較差的表示(圖3c)。
圖2 (a)一個模擬信號 (b) 數(shù)字化之后的PCM信號
(c) 使用較少位數(shù)精度進行數(shù)字化之后的PCM信號
作為一個數(shù)值例子,讓我們假設用一個24位A/D轉換器對一個模擬信號進行采樣,而這個模擬信號的范圍從-2.828V到2.828V(5.656的峰峰值)。24位有224(16777216)個量化等級。因此,有效的電壓分辨率為5.656V/16777216=337.1nV。在本文的第二部分,我們將看到編解碼器的分辨率如何影響音頻系統(tǒng)的動態(tài)范圍。
PWM輸出
脈寬調制(PWM)是不同于PCM的另一種調制方法,它可以直接驅動輸出電路而無需任何DAC的幫助。這在需要低成本的解決方案時特別有用。
在PCM中,對每個采樣周期內的幅度進行一次編碼,而在PWM信號中描述幅度的是占空比。PWM信號可以通過通用I/O引腳產生,或者可以用許多處理器中都有的專用PWM定時器來直接驅動。
為了使PWM音頻達到相當好的質量,PWM的載波頻率應該至少12倍于信號的帶寬,而且定時器的分辨率(即占空比的間隔時間)應該有16位。由于載波頻率的需求,傳統(tǒng)PWM音頻電路曾經被用于窄帶音頻,比如超重低音。但是,利用目前的高速處理器,就可以擴展到更寬的音頻譜。
PWM流必須經過低通濾波,以去除高頻載波。這通常是用驅動揚聲器的放大器電路來完成。D類放大器已經被成功地用于這種結構。當不需要放大時,一個低通濾波器就足以用作輸出級。在一些低成本應用中,聲音的品質不是那么重要,就可以把PWM流與揚聲器直接相連。在這樣的系統(tǒng)中,揚聲器紙盆的機械慣性充當了濾除載波頻率的低通濾波器。
音頻轉換器的簡要背景
音頻ADC
完成A/D轉換可以有許多種方法。一個傳統(tǒng)的方法是逐次逼近的方案,該方案使用一個比較器對模擬輸入信號與一連串中間D/A轉換輸出之間的比較結果進行檢測,然后得到最后的結果。
但目前的大多數(shù)ADC都是Σ-Δ轉換器。這種轉換器不是使用逐次逼近的方法來產生很高的分辨率,而是使用了1位的ADC。為了對這個減少了的量化等級數(shù)進行補償,這些轉換器在比Nyquist頻率高得多的頻率下進行過采樣操作。把這些過采樣的1位樣點流轉換成一個較低速率、較高分辨率的樣點流是使用這些轉換器內部的數(shù)字濾波模塊完成的,目的是為了適應傳統(tǒng)PCM流的處理。例如,一個16位44.1kHz的Σ-Δ ADC可以用64倍的過采樣率,產生一個速率為2.8224MHz的1位樣點流。然后用一個數(shù)字抽取濾波器把這個超級采樣的樣點流轉換成一個速率等于44.1kHz的16位樣點流。
由于對模擬信號的過采樣操作,Σ-Δ ADC放寬了對用來限制輸入信號帶寬的模擬低通濾波器的性能要求。這些轉換器還具有將輸出噪聲分布在比傳統(tǒng)轉換器更寬的頻譜內的優(yōu)點。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)低通濾波器相關文章:低通濾波器原理
脈寬調制相關文章:脈寬調制原理 數(shù)字濾波器相關文章:數(shù)字濾波器原理
評論