透過閃光燈看一道波
想像一位舞者在漆黑的舞廳中旋轉,閃光燈一閃一閃。你看不到那平滑的旋轉——你看到的是一疊凍結的姿勢,每閃一次一個。若閃光夠快,姿勢彼此靠近,你的大腦樂於補足其間的動作。若閃光夠慢,舞者可在兩次閃光之間轉過大半圈,於是她突然看起來緩緩地往「錯」的方向飄移。這個錯覺,正是數位訊號處理的全部故事濃縮成一幅畫面,而我們即將把它講得精確。
取樣正是這道閃光。一個類比數位轉換器接收一個連續電壓——麥克風的輸出、感測器讀數、天線收到的訊號——並在間隔 T 秒、均勻分布的時刻讀取它的值。速率 fₛ = 1/T 就是取樣頻率。CD 以 44.1 kHz 取樣:每秒對電壓拍下 44,100 張快照。在快照之間,轉換器是盲的。本階的深層問題是:這種盲,何時無害?何時會永遠地毀掉你的資料?
我們在數學上把這道閃光建模為乘上一列脈衝串——一排無限細、無限高、間隔 T 的尖刺,寫成 δ_T(t) = Σ δ(t − nT)。把你的訊號 x(t) 乘上這把梳子,便挑出各值 x(nT),並把其間一切歸零。這一個建模選擇,正是解開整套理論的鑰匙,因為我們已經知道——從傅立葉轉換——乘法在頻域中究竟做了什麼。
取樣對頻譜做了什麼
這裡是優美而略帶魔力的核心。在*時域*乘上脈衝串,等價於在*頻域*與另一列脈衝串做*摺積*,而後者的間隔為 fₛ。其效果是:你訊號的整個頻譜——傅立葉轉換告訴你「有哪些頻率存在」的那幅圖——會被一次又一次地蓋印出來,像印刷機般,在 DC 印一份、在 fₛ 印一份、在 2fₛ 印一份,在取樣率的每個整數倍處各印一份。取樣不只在時間上拍快照;它在頻率上週期性地複製頻譜。
Original baseband spectrum (highest frequency = B):
|X(f)|
/\
/ \
--+----+------------------------------> f
-B B
After sampling at fs (spectrum replicated at every k*fs):
|Xs(f)|
/\ /\ /\ /\
/ \ / \ / \ / \
--++---+--++---+--++---+--++---+--++--> f
-B B fs 2fs 3fs
^copy ^copy ^copy
The gap between each copy's edge and the next is (fs - B) - B = fs - 2B.
Keep that gap positive and the copies never touch.現在你可以從幾何上*看見*整個問題。若訊號最高頻率為 B,每份副本由 −B 延伸到 +B,寬度 2B,而各副本中心相距 fₛ。只要 fₛ 舒服地大於 2B,這些副本便排成整齊的行列、彼此留有清楚的間隙——稍後一個低通濾波器便能只舀出中央那一份,完美還原 x(t)。但若 fₛ 朝 2B 縮小,副本便彼此滑近,直到裙邊重疊、融成一片。一旦重疊,世上沒有任何濾波器能再把它們分開。傷害是永久的。
奈奎斯特–香農取樣定理
幾何把定理直接端到我們面前。副本恰好在「每份副本的右緣(在其中心上方 B 處)跨過下一份副本的左緣(在相距 fₛ 的中心下方 B 處)」時停止重疊。這要求 fₛ − B > B,即 fₛ > 2B。這就是奈奎斯特–香農取樣定理:一個不含高於 B 之頻率的訊號,當且僅當其取樣率快於 2B 時,才能從樣本完美重建。門檻 2B 稱為奈奎斯特率,而取樣率的一半 fₛ/2 稱為奈奎斯特頻率——你的樣本所能誠實表示的最高頻率。
香農 1949 年的結果走得比「副本不重疊」更遠。它給你一條精確的重建公式:在每個樣本上穿過一個 sinc 函數再全部相加,你便還原出樣本之間*整段*連續波形——不是近似,而是真貨。樣本並非有損的摘要;對於頻寬受限的訊號,它們承載了原始訊號所含的每一位元資訊。這正是初次遇見時仍覺得「好到不像真的」的那個論斷。
Worked numbers — human hearing tops out near 20 kHz: highest frequency B = 20 kHz Nyquist rate 2B = 40 kHz <- must sample FASTER than this CD audio fs = 44.1 kHz -> 44.1 > 40 : safe, 2.05 kHz of guard band Telephone band B = 3.4 kHz Telephone fs = 8 kHz -> 8 > 6.8 : safe Why 44.1 and not exactly 40? The extra ~4 kHz is 'guard band' -- room for a real anti-aliasing filter to roll off (it can't be a perfect brick wall), plus margin so nothing near 20 kHz folds back.
混疊:倒著轉的馬車輪
違反規則——取樣太慢——頻譜副本便重疊。一個*本該*位於譬如 0.9·fₛ 的高頻會向下摺,落到某個低頻之上,假扮成它本不是的東西。這個冒充者稱為別名,而這種失效模式就是混疊。老西部片裡的馬車輪是日常的示範:底片攝影機每秒對旋轉的輪輻取樣 24 次,當一根輻條在幀與幀之間幾乎走完一個間隙時,輪子看起來便緩緩地往後爬。真正的快速旋轉已混疊成一個緩慢而錯誤的旋轉。
A 7 kHz tone sampled at fs = 8 kHz. Nyquist freq = 4 kHz.
Any f above 4 kHz folds: f_alias = |f - fs| = |7 - 8| = 1 kHz.
True 7 kHz signal: /\ /\ /\ /\ /\ /\ /\
/ \/ \/ \/ \/ \/ \/ \
Sample instants (every 0.125 ms): x x x x x
The sampler can't tell these apart -- both pass through the dots:
the real 7 kHz tone ........ and a fake 1 kHz tone
\ /
*--------* <- both curves hit EVERY sample point
Your DSP swears it heard 1 kHz. The 7 kHz is gone, replaced by a lie.這條摺疊規則很機械、值得內化:頻率以奈奎斯特頻率 fₛ/2 為鏡面反射,像光打在鏡上,再以 fₛ 反射,依此類推,曲折地折返回基頻。位於 fₛ/2 + Δ 的成分會出現在 fₛ/2 − Δ。這正是為何太廉價的錄音機會把帶外的哨音變成你永遠刷不掉的帶內顫音——也是為何相機感光元件的混疊,會在條紋襯衫或磚牆上產生那種閃爍的彩虹摩爾紋。
抗混疊濾波器與真實的 ADC
若混疊事後無法修補,藥就得先下:一個類比抗混疊濾波器正坐在取樣器之前、類比數位轉換器之前。它是一個低通濾波器——純粹的頻率響應工程——調校成讓奈奎斯特頻率以下的一切通過,並把其上的一切壓碎,使任何帶外能量都活不到摺回來。在 CD 錄音機上,它放 20 kHz 通過,並抹掉那些否則會混疊進音樂的超音波嘶聲。
- 抗混疊濾波——一個類比低通濾掉 fₛ/2 以上的一切,使無物可摺回。真實濾波器是漸進地衰減,這正是為何 fₛ 設得略高於 2B(保護帶)。
- 取樣保持——一個開關與電容在取樣瞬間凍結電壓,並在轉換器工作時把它穩住。
- 量化——對 N 位元轉換器,被保持的電壓被映射到 2ᴺ 個位階中最接近的一個。這就是量化,它引入一個微小而不可避免的捨入誤差。
- 編碼——被選中的位階被寫成 N 位元二進位碼:現在它是資料了,可供 DSP、儲存或傳輸。
第三步量化,正是我們允諾的第二個時鐘。取樣把*時間*離散化;量化把*振幅*離散化。把每個樣本捨入到最近的位階,注入一個微小誤差,被建模為附加雜訊,並為動態範圍設下上限。著名的經驗法則大約是每位元約 6 dB 的訊號雜訊比:16 位元的 CD 音訊換得約 96 dB,足以把最弱的弱奏遠遠抬到嘶聲之上。位元愈多,尺愈細,雜訊基底愈安靜。
把它合起來,你便擁有整道閘門。一個連續訊號進入 ADC,通過抗混疊濾波器,以高於其奈奎斯特率被取樣,量化成 N 位元,化為一串數字湧出。自那一刻起,一切都是算術:一顆 CPU 能濾它、壓縮它、解調它、在其中辨識語音。取樣定理是「這串數字仍*就是*那訊號」的保證——而混疊,正是你把這保證視為理所當然時所得到的下場。