數位音訊的資料是離散的,但它的時間軸不是。一個樣本的值代表「在某個精確時刻,波形的振幅」。如果 DAC 在錯誤的時刻輸出這個值,輸出的就是錯誤的振幅——即使那一位元也沒錯。這是整個數位鏈裡唯一一處「位元完全正確但輸出仍然錯誤」的環節,也是它被大量神祕化的原因。
好消息是,這個誤差有封閉形式的解,可以直接算。
抖動變成振幅誤差的機制
設輸出訊號為 x(t) = A·sin(2πft)。若實際取樣時刻偏離理想時刻 Δt,輸出的振幅誤差近似為斜率乘上時間誤差:
e = (dx/dt) · Δt
正弦波的斜率 dx/dt = 2πfA·cos(2πft),其 RMS 值為 2πfA/√2。若 Δt 是與訊號無關的隨機量、RMS 為 t_j,則誤差的 RMS 為 (2πfA/√2)·t_j。訊號 RMS 為 A/√2,兩者相除:
SNR = 20·log₁₀[ 1 / (2π · f · t_j) ]
A 與 √2 都消掉了——抖動造成的 SNR 只取決於訊號頻率與抖動量,與音量無關。
這個式子有兩個立即的推論。第一,低頻幾乎不受影響:1 kHz 處的斜率只有 20 kHz 處的 1/20,同樣的抖動造成的誤差小 26 dB。第二,抖動的後果隨頻率線性惡化——所以評估抖動時,唯一有意義的參考點是頻譜的高端。
代入數字:
| 抖動(RMS) | 1 kHz 訊號 | 10 kHz | 20 kHz |
|---|---|---|---|
| 1 ns | 104 dB | 84 dB | 78 dB |
| 100 ps | 124 dB | 104 dB | 98 dB |
| 10 ps | 144 dB | 124 dB | 118 dB |
| 1 ps | 164 dB | 144 dB | 138 dB |
| 100 fs | 184 dB | 164 dB | 158 dB |
現在可以回答「幾 ps 才夠」這個問題了。要讓抖動不成為 16-bit(98 dB)在 20 kHz 處的限制因素,需要 100 ps RMS。 要不成為 20-bit(122 dB)的限制,需要約 6 ps。而世界上最好的 DAC 的實測雜訊底約在 −125 至 −130 dB——對應的抖動需求約 3–4 ps。
一顆普通的、幾十元台幣的石英振盪器,抖動就在 1 ps 以下。這就是為什麼「femto clock」的邊際效益在數學上等於零:1 ps 已經給出 138 dB,100 fs 給出 158 dB,而兩者都遠低於機器自身 −125 dB 的雜訊底。你無法量測到一個被更大的雜訊完全淹沒的貢獻項。
但這不是故事的全部:抖動的「形狀」比數值重要
上面的公式假設抖動是隨機且與訊號無關的。這種抖動的頻譜表現是每個訊號成分周圍的一圈寬頻雜訊裙擺——它散佈在寬頻帶上,能量密度低,而且被訊號本身遮蔽(masking),聽覺上極不敏感。
問題出在另外兩種:
週期性抖動。若時脈被某個固定頻率的東西調變(電源的 50/60 Hz 與其諧波、交換式電源的切換頻率、鄰近數位電路的時脈),輸出會出現離散的旁瓣,位於 f_訊號 ± f_抖動。離散音的可聞閾值遠低於等能量的寬頻雜訊——在遮蔽條件下,一個 −110 dB 的純音旁瓣可能被察覺,而同樣總能量的寬頻雜訊在 −90 dB 也聽不到。同樣的 RMS 數字,週期性抖動的危害可能高出 20 dB。
資料相關抖動(data-dependent jitter)。這是 S/PDIF 的特有病症。S/PDIF 用 biphase-mark 編碼把時脈嵌進資料流,訊號的躍變密度隨資料內容變化;接收端從躍變恢復時脈,於是恢復出來的時脈的抖動與音訊內容相關。相關的誤差不會表現成雜訊,會表現成失真——它跟著音樂走,因此不被遮蔽掩護。
Julian Dunn 設計的 J-test 訊號正是為了暴露這一點:一個 f_s/4 的高電平音,疊加一個 LSB 級的 f_s/192 方波。這組合會在 S/PDIF 編碼後產生最大幅度的資料相關抖動,於是 DAC 輸出的頻譜上會出現一組可辨識的旁瓣圖樣。這是評估 DAC 抗抖動能力的標準測試,也是少數能把「介面品質」轉成一張圖的量測。
抖動的頻率分佈也有分類慣例:ITU-T G.810 以 10 Hz 為界,10 Hz 以上稱 jitter,以下稱 wander(漂移)。Wander 對音訊無害(PLL 會跟隨),真正需要抑制的是 10 Hz 到數百 kHz 這一段。
順帶一提,這也是「femto clock」規格常被誤用的地方。廠商標示的 RMS 抖動通常在一個寬頻積分範圍(例如 12 kHz–20 MHz,沿用電信慣例)內取得。但對音訊而言,真正重要的是近端相位雜訊(偏離載波 10 Hz–1 kHz 處),因為那對應音訊帶內的旁瓣位置。一顆在寬頻積分上很漂亮的振盪器,近端相位雜訊可能平庸——而規格表不會告訴你這件事。
各種介面如何處理時脈
S/PDIF / AES3(同步、自時脈)。時脈與資料同一條線,接收端用 PLL 恢復。PLL 是一個低通濾波器:迴路頻寬以上的抖動被衰減,以下的被跟隨。窄迴路頻寬抑制更好,但鎖定慢、對輸入偏差容忍度低。典型的接收晶片(DIR9001、CS8416 等)殘留抖動在 50–200 ps 量級——依上表,這已經逼近 16-bit 在 20 kHz 的限制。這是 1990 年代「jitter 有聽感差異」說法的物理基礎,而且當時它是真的。
USB Adaptive 模式。主機依固定節奏送資料,DAC 用頻率合成器從封包節奏推導出音訊時脈。主機在忙別的事,封包時序抖動大——用一個抖動的參考去合成音訊時脈,抖動由設計而來。
USB Asynchronous 模式。角色反轉:DAC 的本地晶振是主時脈,DAC 透過 USB 的 feedback endpoint 回報「我消耗得太快/太慢」,主機據此微調每一幀送出的樣本數。時脈完全不從資料流恢復——傳輸的抖動與音訊時脈解耦。這是 async USB 的全部意義,而它是真實且重大的架構改進。
FIFO 重新計時(reclocking)與 ASRC。兩種把輸入時脈域徹底切斷的方法。FIFO 重計時把資料寫進緩衝區、用本地時脈讀出(需處理長期速率差,靠緩衝深度或微調本地時脈)。ASRC(非同步取樣率轉換)則直接把輸入重新取樣到本地時脈域,抖動抑制常在 60 dB 以上——代價是一次額外的重取樣運算。ESS 的 DAC 內建此類機制,這是它們對輸入品質相對不敏感的原因。
哪些是真的、哪些被誇大
真實且重要:async USB 相對 adaptive 的改進;DAC 內部的重計時/ASRC;把最終決定 DAC 開關時刻的時脈實體放在轉換器旁邊(這是唯一真正重要的時脈位置——輸入端的時脈品質,在有本地重計時的機器上幾乎無關)。
條件成立:S/PDIF 的介面品質。在沒有輸入端重計時的 DAC 上,換一條阻抗匹配良好的 75 Ω 同軸線、或改用抖動較低的訊源,是可量測的(J-test 頻譜會變)。在有 ASRC 的 DAC 上,同樣的改動量不到差異。這正是同一個問題會得到兩種相反的實測答案的原因——兩邊測的是不同架構的機器。
數學上無效益:在已經有本地重計時的機器外面再加一級「USB 淨化器/再生器」;把 1 ps 的時脈換成 100 fs;用「更好的」USB 線降低抖動。這些的共同問題不是機制不存在,而是機制的產物落在 −140 dB 以下,被機器自身 −125 dB 的雜訊底完全掩埋。
值得留意的例外:這些配件有時確實改變了實測——但通常不是透過抖動,而是透過電源與接地(切斷 USB 5V 的共模噪聲路徑)。歸因錯誤不等於現象不存在。詳見 訊號鏈與介面。
一句話重點
抖動造成的 SNR 是 20·log₁₀(1/2πf·t_j),20 kHz 處 100 ps 對應 98 dB、1 ps 對應 138 dB——所以「時脈不夠好」在 1995 年是真問題、在 2026 年的 async USB 機器上不是;但抖動的頻譜形狀(隨機裙擺 vs 離散旁瓣 vs 資料相關)比它的 RMS 數字重要得多,而這正是規格表不會告訴你的部分。
下一篇:DSD 與 noise shaping — 把 delta-sigma 推到極端:只用 1 個位元。