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