文獻標識碼: A
文章編號: 0258-7998(2010)10-0138-03
網(wǎng)絡化是專業(yè)音頻傳輸技術的發(fā)展方向[1]。與消費領域的流媒體播放技術不同,本文所述的音頻傳輸系統(tǒng)主要針對體育館、演唱會等專業(yè)應用場合,要求系統(tǒng)能進行實時、高保真音頻[2]傳輸。這對傳輸系統(tǒng)的頻率特性、信噪比等指標提出嚴格的要求。然而模擬音頻數(shù)字化導致音質(zhì)受限于音頻時鐘的質(zhì)量。現(xiàn)實環(huán)境中,由于溫度、系統(tǒng)老化等各種因素的影響,導致不同節(jié)點的音頻時鐘出現(xiàn)差異。這種差異會使節(jié)點DPRAM數(shù)據(jù)交互出現(xiàn)錯誤,對系統(tǒng)頻率特性、信噪比產(chǎn)生不良影響。因此,運行良好的音頻傳輸網(wǎng)絡必須通過某種方式來實現(xiàn)這種音頻數(shù)據(jù)采集與播放的同步性。
目前基于以太網(wǎng)的時鐘同步技術[3]已經(jīng)比較普遍,比較主流的是IEEE1588,主要采用增加時間報文的方式來實現(xiàn)同步,在普通流媒體、實時控制與測量等應用場合中尚可滿足要求。但在進行實時、高保真專業(yè)音頻傳輸系統(tǒng)中,必定影響音頻傳輸?shù)膶崟r性。本文對網(wǎng)絡音頻傳輸系統(tǒng)的數(shù)據(jù)流特性進行分析,提出了一種在物理層和MAC層的MII接口處進行音頻采樣時鐘恢復的方案,同時設計相應的時鐘調(diào)整算法來滿足音頻數(shù)據(jù)采集與播放的同步性。并在Xilinx FPGA平臺上進行了驗證,證明本方法可以有效解決網(wǎng)絡同步性問題,減少音頻信號失真、提高音頻傳輸系統(tǒng)的保真度。
1 原理與方法
網(wǎng)絡音頻傳輸系統(tǒng)示意圖如圖1所示(圖中為點對多點模式)。系統(tǒng)包含多個音頻傳輸節(jié)點,各個節(jié)點均有自己的MAC地址。每個節(jié)點連接多個音頻通道,分成輸出通道和輸入通道。節(jié)點分為主節(jié)點和從節(jié)點兩種。主節(jié)點將A/D轉換后的音頻數(shù)據(jù)按以太網(wǎng)幀格式進行封裝,通過以太網(wǎng)發(fā)送出去;從節(jié)點則對由以太網(wǎng)上獲取的音頻數(shù)據(jù)幀進行分解,提取需要的音頻通道數(shù)據(jù),然后發(fā)送給輸出通道,經(jīng)過D/A轉換后輸出。
1.1音頻傳輸系統(tǒng)工作原理
本文所述網(wǎng)絡音頻傳輸系統(tǒng)基于以太網(wǎng)構成。系統(tǒng)有三種工作模式:點對點傳輸模式、點對多點傳輸模式、菊花鏈傳輸模式。后兩種工作模式下,系統(tǒng)只有一個主節(jié)點,其余均是從節(jié)點。采用點對點發(fā)送方式時,收發(fā)設備之間的網(wǎng)絡流量不會影響網(wǎng)絡中的其他設備,但數(shù)據(jù)只能定向發(fā)送。采用點對多點(見圖1)發(fā)送方式時,發(fā)送端完成一次發(fā)送,由交換機將該數(shù)據(jù)廣播至所有其他端口。采用菊花鏈發(fā)送方式時,網(wǎng)絡數(shù)據(jù)保持單向流動并采用廣播數(shù)據(jù)包模式。因此,任意一種模式下,系統(tǒng)傳輸數(shù)據(jù)包時都不會產(chǎn)生數(shù)據(jù)幀碰撞,避免了介質(zhì)訪問時間引起的報文延遲變化。
為滿足實時性要求,音頻傳輸系統(tǒng)在A/D完成一個音頻采樣周期采樣后,立即對并行輸入通道的采樣數(shù)據(jù)進行封裝,并通過以太網(wǎng)傳送,這樣以太網(wǎng)傳輸數(shù)據(jù)包的頻率和音頻采樣時鐘的頻率保持一致。因此,本文定制了在從節(jié)點進行主采樣音頻時鐘提取的策略。
1.2 在MII接口處提取采樣時鐘
根據(jù)1.1節(jié)所述的網(wǎng)絡數(shù)據(jù)流特性,提供了在從節(jié)點提取采樣時鐘的理論依據(jù)。方法如下:
音頻傳輸系統(tǒng)在傳輸音頻數(shù)據(jù)幀時,采用廣播幀模式。當系統(tǒng)進行通道配置時,所發(fā)命令幀和狀態(tài)幀(見圖1)的目的MAC地址為子節(jié)點的MAC地址。這樣可以根據(jù)以太網(wǎng)幀中的目的MAC地址來判斷系統(tǒng)是否開始實時音頻數(shù)據(jù)傳輸,從而開始進行音頻時鐘同步。
基本原理是對接收到的以太網(wǎng)幀的目的MAC地址進行判斷。如果是廣播幀,則判定為是主節(jié)點音頻時鐘的上升沿;如果是以太網(wǎng)包結束,則判定為是主節(jié)點音頻時鐘下降沿。音頻采樣時鐘提取結果如圖2所示。
1.3 影響音頻時鐘同步的因素與相關分析
引起主從節(jié)點音頻采樣時鐘不同步的因素有多種,本系統(tǒng)中主要可歸結為以網(wǎng)絡傳輸?shù)难訒r抖動和晶振頻差。
1.3.1 網(wǎng)絡傳輸延時抖動[4]及累積效應分析
如前所述,系統(tǒng)在任意一種工作模式下均能保證不發(fā)生數(shù)據(jù)幀碰撞,故可以認為網(wǎng)絡傳輸延時的變化范圍很小。網(wǎng)絡傳輸?shù)难訒r抖動反映了單個時鐘周期的差異,不產(chǎn)生累積效應。
1.3.2 晶振頻差及累積效應分析
晶振頻差是指包括由頻率溫度穩(wěn)定度、頻率老化率造成的偏差等共同造成的最大頻差。晶振頻差產(chǎn)生的主要因素包括:晶振的加工差異、機械老化差異及溫度引起的漂移等。
本音頻傳輸系統(tǒng)是如體育館這樣的大型應用場合出于安裝需求,不同子節(jié)點所處地點的溫度會存在比較大的差異。
1.4 時鐘調(diào)整
FPGA內(nèi)部與時鐘調(diào)整相關的模塊如圖3所示。該模塊是整個同步系統(tǒng)的核心部分,包含主節(jié)點音頻采樣時鐘提取模塊、本地時鐘與主時鐘比較模塊、分頻系數(shù)調(diào)整模塊。主節(jié)點定義參數(shù)有:本地音頻時鐘為fM,音頻采樣時鐘為fLRCK_M,時鐘為fBCK_M。從節(jié)點中與此對應的參數(shù)分別為:fS、fLRCK_S、fBCK_S。調(diào)整的目的是要保證從節(jié)點的fLRCK_S與主節(jié)點的fLRCK_M精確一致。同時在一個從節(jié)點采樣時鐘周期內(nèi)將64 bit數(shù)據(jù)通過從節(jié)點位時鐘均勻發(fā)射出去,以提高主從節(jié)點音頻采樣時鐘的同步性。
主節(jié)點位時鐘分頻系數(shù)定為a,則有:
根據(jù)式(3)可以得到精確時鐘同步方法:
式(4)、式(5)為最終的精確時鐘調(diào)整算法。在本系統(tǒng)中,本地音頻時鐘為24.576 MHz,音頻采樣時鐘為48 kHz。系統(tǒng)所使用的FPGA最高可工作在300 MHz,具備了時鐘倍頻及時鐘偏移消除功能。本文為獲得較高時鐘解析精度,采用的倍頻系數(shù)為8,調(diào)整精度達到5 ns。
2 測試結果及分析
測試平臺的架構如圖4所示。系統(tǒng)工作模式為點對點傳輸模式,中間加入交換機,兩邊各用100 m網(wǎng)線連接音頻傳輸節(jié)點。平臺從兩方面對同步算法進行了測試,具體如下。
2.1 對比測試主從音頻采樣時鐘同步性
采用雙通道數(shù)字示波器DPO7254對主從節(jié)點的音頻采樣時鐘LRCK和位時鐘BCK進行比較。為了方便觀察信號,主要對LRCK進行觀察分析。具體方法是:示波器采用1 MHz采樣率,雙通道記錄主從節(jié)點音頻采樣時鐘LRCK波形,記錄時間為10 s左右。再對記錄數(shù)據(jù)進行觀察分析。
(1)沒有進行時鐘同步調(diào)整前,從示波器記錄的數(shù)據(jù)中可以觀察到主從節(jié)點之間音頻采樣時鐘(LRCK)出現(xiàn)明顯的不同步,從節(jié)點時鐘較主節(jié)點時鐘要快。對主從節(jié)點音頻采樣時鐘累積時差達到一個采樣周期所需的時間進行準確測量。20次記錄波形數(shù)據(jù),測量并計算得到的平均值為2.988 s。
(2)進行時鐘同步調(diào)整后,20次記錄波形數(shù)據(jù),可以觀察到主從節(jié)點音頻采樣時鐘保持很好的同步性,兩者之間的長時累積時差與短時累積時差均在很小范圍內(nèi)波動,沒有發(fā)生主從節(jié)點音頻采樣時鐘累積時差達到一個采樣周期的情況。
示波器改用2 GHz采樣率,記錄時間為200 ms左右。20次記錄波形數(shù)據(jù),測量主從節(jié)點100個音頻采樣時鐘周期的累積時差,結果均不超過100 ns。
2.2 對比測試系統(tǒng)失真率
AP音頻分析儀(簡稱AP)屬于精密音頻分析儀器,自身帶有標準音頻信號發(fā)生源及音頻分析儀。AP對源信號和反饋信號進行對比分析,得出傳輸系統(tǒng)的失真率。結果對比如下:
(1)沒有進行時鐘同步調(diào)整前,AP顯示系統(tǒng)失真率在0.003%上下波動,但是平均3 s左右系統(tǒng)失真率會串升至2.6%上下。專業(yè)音頻的失真率指標上限為0.05%。說明反饋信號出現(xiàn)嚴重失真。
(2)進行時鐘同步調(diào)整后,AP顯示系統(tǒng)失真率在0.006%上下波動,串升至2.6%上下的情況消失。
(3)去除交換機、采用100 m cat-5網(wǎng)線直連兩個節(jié)點,同時進行時鐘同步調(diào)整后,AP顯示系統(tǒng)失真率依舊在0.006%上下波動,但串升至2.6%上下的情況消失。
2.3 數(shù)據(jù)分析
2.3.1 數(shù)據(jù)交互錯誤對失真率的影響
2.1節(jié)中記錄數(shù)據(jù)交互出現(xiàn)錯誤的平均周期?駐T為2.988 s,目測AP顯示失真率串升的周期為3 s左右,基本一致,可以判定失真率串升是由數(shù)據(jù)交互錯誤引起的。兩者之間具體的對應關系尚需探討。
2.3.2 網(wǎng)絡延時抖動對失真率的影響
2.2節(jié)中記錄時鐘同步調(diào)整后系統(tǒng)失真率有所上升,由于從節(jié)點時鐘同步調(diào)整參考的對象是從網(wǎng)絡音頻數(shù)據(jù)流中提取到的音頻采樣時鐘,網(wǎng)絡傳輸?shù)难訒r抖動被引入到從節(jié)點音頻采樣時鐘(LRCK)中。相比沒有調(diào)整前的音頻采樣時鐘,時鐘抖動有所提高,導致D/A 轉換精度和信噪比都下降。具體原理見參考文獻[5]。
2.3.3 交換機對失真率的影響
2.2節(jié)中記錄時鐘同步后加入交換機與移除交換機相比,系統(tǒng)失真率沒有發(fā)生明顯變化,說明交換機的存在不會引起失真率變化;交換機延時值固定,不會引起網(wǎng)絡抖動。
本文根據(jù)實時網(wǎng)絡音頻傳輸系統(tǒng)的數(shù)據(jù)流特點,提出從音頻數(shù)據(jù)幀中提取主節(jié)點音頻采樣時鐘,可直接在本地節(jié)點對其進行采樣分析,通過本文提出的時鐘調(diào)整算法使主從音頻時鐘保持高度同步。同時時鐘調(diào)整模塊能對主節(jié)點采樣時鐘進行實時跟蹤,隨時根據(jù)主節(jié)點采樣時鐘變化作出調(diào)整,使主從節(jié)點時鐘保持高精度同步。而傳統(tǒng)的網(wǎng)絡時鐘同步機制大多參考IEEE1588精密時鐘協(xié)議,需要在主從節(jié)點之間傳輸同步幀,并不適合實時專業(yè)音頻傳輸。本文所述的時鐘調(diào)整算法不僅節(jié)約了網(wǎng)絡資源,同時提高了時鐘同步調(diào)整的效率,能有效解決高保真實時音頻傳輸中的時鐘同步問題。
參考文獻
[1] BOUILLOT N, COPPERSTOCK J. Aes white paper best practices in network audio[J].Journal of the Audio Engineering Society,2009,57:729-741.
[2] GIOVANNI B, FABIO D. Instrumentation and measurement technology conference[C]. The performance evaluation of Hi-Fi Interconnection Systems,Ottawa, 2005.
[3] JOHN C E,MICAEL C F. Sensors for industry conference [C]. 1588 IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems,2002.2nd ISA/IEEE,2002:98-105.
[4] 孫文杰.局域網(wǎng)時鐘同步精確時間標記方法的研究[J].儀器儀表學報,2007,30(1):163-169.
[5] 楊小軍,陳 曦,張慶民.時鐘抖動對ADC變換性能影響的仿真與研究[J]. 中國科學技術大學學報,2005,35(1):67-72.