當今的音頻設計挑戰(zhàn)在于如何模擬實際的聲音并通過各種音頻設備進行傳送。聲音可以來自任何方向,實際上,我們的大腦能夠計算并感知聲音的來源。例如,當戰(zhàn)斗機從一點飛到另一點時,它所產生的聲音實際上來自無數(shù)個位置點。但是,我們不可能用無數(shù)個揚聲器來再現(xiàn)這種音頻體驗。
利用多聲道、多揚聲器系統(tǒng)和先進的音頻算法,音頻系統(tǒng)能夠惟妙惟肖地模擬真實聲音。這些復雜的音頻系統(tǒng)使用ASIC或DSP來解碼多聲道編碼音頻,并且運行各種后處理算法。聲道數(shù)量越多,意味著存儲器和帶寬要求越高,這就需要使用音頻數(shù)據(jù)壓縮技術來編碼并減少所要存儲的數(shù)據(jù)。這些技術還能用來保持聲音質量。
與數(shù)字音頻一同發(fā)展的還有音頻標準和協(xié)議,其目的是簡化不同設備之間的音頻數(shù)據(jù)傳輸,例如,音頻播放器與揚聲器之間、DVD播放器與AVR之間,而不必將數(shù)據(jù)轉換為模擬信號。
本文將討論與音頻行業(yè)相關的各種標準和協(xié)議,同時也會探究不同平臺的音頻系統(tǒng)結構以及各種音頻算法和放大器。
標準和協(xié)議
S/PDIF標準——該標準定義了一種串行接口,用于在DVD/HD-DVD播放器、AVR和功率放大器等各種音頻設備之間傳輸數(shù)字音頻數(shù)據(jù)。當通過模擬鏈路將音頻從DVD播放器傳輸?shù)揭纛l放大器時,會引入噪聲,該噪聲很難濾除。不過,如果用數(shù)字鏈路代替模擬鏈路來傳輸音頻數(shù)據(jù),問題就會迎刃而解。數(shù)據(jù)不必轉換為模擬信號就能在不同設備之間傳輸,這是S/PDIF的最大優(yōu)勢。
該標準描述了一種串行、單向、自備時鐘的接口,可互連那些采用線性PCM編碼音頻采樣的消費和專業(yè)應用數(shù)字音頻設備。它是一種單線、單信號接口,利用雙相標記編碼進行數(shù)據(jù)傳輸,時鐘則嵌入數(shù)據(jù)中,在接收端予以恢復(見圖1)。此外,數(shù)據(jù)與極性無關,因此更易于處理。S/PDIF是從專業(yè)音頻所用的AES/EBU標準發(fā)展而來。二者在協(xié)議層上一致,但從XLR到電氣RCA插孔或光學TOSLINK的物理連接器發(fā)生了改變。本質上,S/PDIF 是AES/EBU格式的消費型版本。S/PDIF接口規(guī)范主要由硬件和軟件組成。軟件通常涉及S/PDIF幀格式,硬件則涉及設備間數(shù)據(jù)傳輸所使用的物理連接媒介。用于物理媒介的各種接口包括:晶體管與晶體管邏輯、同軸電纜(以RCA插頭連接的75Ω電纜)和TOSLINK(一種光纖連接)。
圖1 S/PDIF雙相標記編碼流
S/PDIF協(xié)議——如上文所述,它是一種單線串行接口,時鐘嵌入數(shù)據(jù)之中。傳輸?shù)臄?shù)據(jù)采用雙相標記編碼。時鐘和幀同步信號在接收器端與雙相解碼數(shù)據(jù)流一同恢復。數(shù)據(jù)流中的每個數(shù)據(jù)位都有一個時隙。時隙以一個躍遷開始,并以一個躍遷結束。如果傳輸?shù)臄?shù)據(jù)位是“1”,則時隙中間還會增加一個躍遷。數(shù)據(jù)位“0”則不需要額外躍遷,躍遷之間的最短間隔稱為單位間隔(UI)。
S/PDIF幀格式——首先驅動數(shù)據(jù)的最低有效位。每個幀有兩個子幀,分別是32個時隙,共64個時隙(見圖2)。子幀以一個前導碼開始,后面跟隨24位數(shù)據(jù),最后以攜帶用戶數(shù)據(jù)和通道狀態(tài)等信息的4位結束。子幀的前4個時隙稱為前導碼,用于指示子幀和塊的開始。前導碼有三個,每一前導碼均包含一個或兩個持續(xù)時間為3UI的脈沖,從而打破雙相編碼規(guī)則。這意味著,該模式不可能存在于數(shù)據(jù)流中的其他地方。每個子幀都以4位前導碼開始。塊的開始用前導碼“Z”和子幀通道的開始“A”表示。前導碼“X”表示通道“A”子幀的開始(不同于塊的開始),前導碼“Y”表示通道“B”子幀的開始。
圖2 S/PDIF子幀、幀和塊格式
I2S總線——在當今的音頻系統(tǒng)中,數(shù)字音頻數(shù)據(jù)在系統(tǒng)內部的各種器件之間傳輸,例如編解碼器、DSP、數(shù)字IO接口、ADC、DAC和數(shù)字濾波器之間。因此,為了增強靈活性,必須有一個標準的協(xié)議和通信結構。專為數(shù)字音頻而開發(fā)的I2S總線規(guī)范現(xiàn)已被許多IC廠商采用,它是一種簡單的三線同步協(xié)議,包括如下信號:串行位時鐘(SCK)、左右時鐘或字選擇(WS)以及串行數(shù)據(jù)。WS線表示正在進行傳輸?shù)穆暤馈.擶S為邏輯高(HI)電平時,右聲道進行傳輸;當WS為邏輯低(LO)電平時,左聲道進行傳輸。發(fā)送器以二進制發(fā)送數(shù)據(jù),首先補足MSB。幾乎所有DSP的串行端口都將I2S作為串行端口模式之一。音頻編解碼器也支持這種模式。
采樣速率轉換器(SRC)——這是音頻系統(tǒng)的一個重要組成部分。采樣速率轉換既可以通過軟件實現(xiàn),也可以通過一些處理器的片內硬件來支持(見圖3)。它主要用于將數(shù)據(jù)從一個采用特定采樣速率的時鐘域轉換到另一個采用相同或不同采樣速率的時鐘域。
圖3 采樣速率轉換過程的四個不同階段
音頻可以采用不同采樣速率進行編碼,其他任務由編解碼器完成。某些情況下需要改變編解碼器的主時鐘,以支持特定采樣速率。從采用某一采樣速率的音頻轉換為采用不同采樣速率的音頻時,即時改變主時鐘并不是一件容易的事,有時甚至不可能完成,因為需要更改電路板上的硬件。因此,采樣速率轉換一般在將數(shù)據(jù)驅動到編解碼器之前執(zhí)行。這樣,編解碼器的采樣速率不需要改變,可以保持恒定。串行端口以采樣頻率1發(fā)送音頻數(shù)據(jù)到另一端的SRC和編解碼器,然后以采樣頻率2從SRC讀取音頻數(shù)據(jù)。
SRC分為兩種類型:同步SRC和異步SRC。與同步SRC連接的輸出器件為“從機”,與異步SRC連接的器件為“主機”。“主機”是指驅動SCK和幀同步信號的器件。
SRC利用輸出采樣速率極高的插值濾波器和零階保持器(ZOH)將離散時間信號轉換為連續(xù)時間信號。插值值被饋送至ZOH,并以Fs out的輸出采樣頻率進行異步采樣。