AES音頻數(shù)據(jù)流之間的異步采樣率轉(zhuǎn)換
Xilinx FPGA 通過不斷地將集成度低、復(fù)雜且昂貴的ASSP芯片功能組合在一起,來滿足客戶對于集成度的需求。利用像 DSP48E 和 block RAM這樣用來 實(shí)現(xiàn)復(fù)雜的濾波功能的芯片特性。ASRC作為一種ASSP芯片實(shí)現(xiàn)的功能,可以被集成到 Xilinx FPGA 中。
同樣,免費(fèi)提供的Xilinx 應(yīng)用指南和參考設(shè)計(jì),同樣可以滿足客戶對集成復(fù)雜算法的需求。ASRC 參考設(shè)計(jì)正確地處理了同步采樣率轉(zhuǎn)換和大多數(shù)音/視頻產(chǎn)品所需要的更復(fù)雜的ASRC。
許多ASSP芯片和FPGA IP供應(yīng)商提供較簡單的“僅使用同步的”方法,每條音頻通道的資源利用率較小;但是,當(dāng)應(yīng)用于異步應(yīng)用時,這些方法會產(chǎn)生下面這些問題:
延遲的積累導(dǎo)致輸入到輸出延遲的變化
音頻中會產(chǎn)生噪聲,例如漏采樣或重復(fù)采樣兩種情況都表現(xiàn)出不希望出現(xiàn)的失真。
理解采樣率轉(zhuǎn)換
在深入了解數(shù)字采樣率轉(zhuǎn)換理論之前,先來看一看音/視頻工程師正在試圖解決的基本問題。在少量的應(yīng)用中,可以使用速率固定的同步轉(zhuǎn)換,例如使用同樣的時鐘源,或由輸入時鐘產(chǎn)生的輸出時鐘來將 48kHz 的輸入轉(zhuǎn)換為 44.1kHz的輸出。但是,更可能出現(xiàn)的情況是異步轉(zhuǎn)換,輸入和輸出時鐘是完全獨(dú)立的,例如在兩塊電路板之間的音頻通信。不同的時鐘振蕩器可以有相同的標(biāo)稱頻率,但存在著百萬分之幾的差別。 Xilinx ASRC 參考設(shè)計(jì)對于具有獨(dú)立輸入和輸出時鐘的異步應(yīng)用,提供了兩項(xiàng)重要的而且困難的設(shè)計(jì)功能:
自動準(zhǔn)確地監(jiān)視輸入到輸出的采樣率之比和采樣率的變化
在線動態(tài)調(diào)節(jié)濾波器函數(shù)(濾波器系數(shù)),從而實(shí)現(xiàn)性能最大化
使用FPGA來支持?jǐn)?shù)字音頻ASRC,意味著能夠極大地降低系統(tǒng)中每個SDI 接口的成本,并且,在很多系統(tǒng)中,存在許多通道。
Xilinx ASRC IP具有很高的性能,其最差情況下的輸入到輸出信噪比為?125dB。它還能支持多個音頻輸入頻率到多個音頻輸出頻率的轉(zhuǎn)換。采樣率轉(zhuǎn)換算法能夠在線動態(tài)進(jìn)行調(diào)節(jié),以保持最高性能,這樣,設(shè)計(jì)人員就無需特別關(guān)注輸入和輸出時鐘??梢允褂眠\(yùn)行在如圖1所示的 Xilinx ML571 串行數(shù)字視頻演示板上的 IP 來驗(yàn)證所有這些功能。而且,這些廣泛的功能和高性能的 ASRC IP 都是免費(fèi)的。
圖1 ML571板和幀同步演示板使用ASRC來匹配輸出數(shù)字音頻采樣率和輸出數(shù)字視頻采樣率
采樣率轉(zhuǎn)換理論
圖2顯示了通常情況下上變頻或下變頻的概念。變頻比可以在帶有小數(shù)的有理數(shù)范圍內(nèi)連續(xù)變化。
圖2 用于進(jìn)行采樣率轉(zhuǎn)換的經(jīng)典數(shù)據(jù)概念
從框圖可以看出,先進(jìn)行上變頻(產(chǎn)生更多的樣本和時間位置以供選擇),再進(jìn)行下變頻(選擇輸出數(shù)據(jù)流中與所希望的樣本位置最符合的樣本)。數(shù)據(jù)路徑中的抗干擾/抗鋸齒濾波器確保頻譜范圍低于輸入和輸出采樣頻率的奈奎斯特速率的一半。 圖3和圖4顯示,對于每個輸出采樣位置或輸出相位,都需要一組不同的 子濾波系數(shù),因?yàn)橄鄬τ谳敵鱿辔欢裕斎胩幱诓煌恢蒙?。具有一組系數(shù)與輸入采樣位置對應(yīng)的子濾波器,由內(nèi)插的原型濾波器系數(shù)實(shí)現(xiàn)。當(dāng)子濾波器與相應(yīng)的輸入樣本進(jìn)行卷積后,將產(chǎn)生所需的輸出樣本。這一過程會不斷重復(fù),為每個輸出樣本插入新的子濾波器系數(shù)。
圖3 與原始樣本位置相關(guān)的樣本位置顯示了所使用的內(nèi)插樣本
圖4 位于輸出樣本位置中心的原型濾波器
在ML571上實(shí)現(xiàn)ASRC的實(shí)例
被稱為視頻幀同步的簡單功能,很 好地展示了 ASRC的主要用途。視頻信號能以某一速率被存儲到幀緩存器中,并以另一個稍微不同的速率被取出。如果視頻設(shè)備的兩個部分之間沒有被“同步鎖相”,并且工作在不同的像素率下,這一過程將十分有用。
結(jié)果是偶爾需要添加或丟棄一幀視頻數(shù)據(jù)。人眼可能不會注意到在電視屏幕上添加或丟棄的視頻幀,但人耳卻能很好地發(fā)現(xiàn)在音頻上類似的差異。解決方案是在開始的視頻數(shù)據(jù)流中先去除音頻數(shù)據(jù),隨后再將其插入到具有微小數(shù)據(jù)率變化的數(shù)據(jù)流中,并使輸出 音頻的采樣率與新的輸出視頻的采樣率相匹配。Xilinx ASRC 參考設(shè)計(jì)十分適合完成這樣的任務(wù)。
例如,讓我們將兩塊由不同的時鐘振蕩器導(dǎo)致的SDI視頻采樣率有微小差別的板卡連接在一起。接收板將嵌入的AES數(shù)字音頻信號從視頻流中分離出來,并將其送至 ASRC。需要使用幀緩存同步邏輯,通過添加或丟棄視頻幀,來處理兩塊板卡間時鐘頻率的差異。ASRC 調(diào)節(jié)解嵌的音頻,來與輸出視頻流的時鐘速率匹配,使其能被重新嵌入到輸出 SDI 視頻流中。(需要使用幀緩存同步邏輯,通過添加或丟棄視頻幀,來處理兩塊板卡間時鐘頻率的差異。ASRC 調(diào)節(jié)去嵌入音頻,來與輸出視頻流的時鐘速率匹配,使其能被重新嵌入到輸出SDI 視頻流中。)
框圖和性能優(yōu)勢
圖5中的簡單框圖顯示了 ASRC 中所必須的兩個關(guān)鍵設(shè)計(jì)部分。第一個部分用來確定輸入采樣率和輸出采樣率之間的變化,用“比例控制”標(biāo)出。第二個部分“二次采樣器”是一組原型濾波器,按照比例控制所提供的統(tǒng)計(jì)數(shù)據(jù)進(jìn)行變化。
圖5 XilinxASRC參考設(shè)計(jì)的頂層框圖
ASRC 參考設(shè)計(jì)將立體聲音頻從一個采樣頻率轉(zhuǎn)換到另一個采樣頻率。輸入和輸出頻率可以互為任意的比例,或?yàn)榛诓煌瑫r鐘的同一個頻率。輸出是輸入的帶寬限制版本,輸入被重新采樣,來與輸出采樣時序匹配。參考設(shè)計(jì)有如下這些特點(diǎn):
全異步工作
可擴(kuò)展至多條通道
最差情況下 -125dB 的THD+N,典型情況下 -130dB的 THD+N
24位音頻字寬度的輸入和輸出,31位的內(nèi)部數(shù)學(xué)精度和遠(yuǎn)離0的進(jìn)位
自動監(jiān)視輸入到輸出的采樣率之比,不斷對濾波器進(jìn)行調(diào)整
連續(xù)的有理數(shù)/小數(shù)比例,上變頻為8:1
連續(xù)的有理數(shù)/小數(shù)比例,下變頻為1:7.5
具有自適應(yīng)濾波功能的連續(xù)輸入到輸出采樣率監(jiān)視
輸 入/輸出采樣率在8kHx-192kHz連續(xù)范圍內(nèi)
更低的確定性延遲
參考設(shè)計(jì)有一個內(nèi)插系數(shù)的FIR濾波器,它由 Virtex TM -5 中作為主數(shù)學(xué)單元的DSP48E和用作輸入采樣緩存和原型存儲的block RAM來實(shí)現(xiàn)。
結(jié)論
為不同數(shù)量數(shù)字音頻通道維持不同的輸入到輸出音頻采樣率,并支持新的 AVB功能的需求是一個巨大的挑戰(zhàn)。從變化的協(xié)議、存儲器管理、不同的負(fù)載和不同的系統(tǒng)接口等方面,很容易看到這些設(shè)計(jì)需要 ASSP 和 ASIC 所無法提供的高性能和低成本的靈活性。這些挑戰(zhàn)為 Virtex-5 器件創(chuàng)造了機(jī)會,因?yàn)檫@些器件能夠讓設(shè)備廠商針對不斷發(fā)展的AVB設(shè)備市場創(chuàng)建相應(yīng)的解決方案。