夏農容量(Shannon capacity)
/ Shannon -> 'SHAN-un' /
想像你在吵鬧的房間裡對人說話。你嗓音能用的音高範圍越廣(頻寬),你的聲音相對於背景吵鬧越大(訊雜比),你每秒能可靠傳達的字就越多。夏農容量就是真實有雜訊通道上那個精確、可證明的速度上限:無論你的編碼多巧妙,能以任意少的錯誤傳送位元的絕對最大速率。
公式是 C = B × log2(1 + S/N),其中 C 是以每秒位元計的容量,B 是以赫茲計的頻寬,S/N 是訊雜比(訊號功率除以雜訊功率,這裡是純比值,不是分貝)。有兩個拉桿能提升容量:更多頻寬,以及更好的訊雜比。例如一條 3,000 Hz、S/N = 1,000 的線路,C = 3,000 × log2(1,001) ≈ 3,000 × 9.97 ≈ 29,900 bps。關鍵是:頻寬加倍會讓容量加倍,但 S/N 加倍只多約每符元一個位元——所以超過某點後,對雜訊一味加大功率,回報急遽遞減。
夏農的結果既深刻又有點詭異:它證明了存在一個任何編碼方案都無法超越的硬上限,卻也證明了存在能逼近該上限、錯誤趨近於零的編碼——只是它沒告訴你怎麼造出來(現代的渦輪碼與 LDPC 碼已相當接近)。把它和奈奎斯特配對:奈奎斯特說頻寬允許多少符元,夏農說雜訊允許多少位元。通道真正的資料率取兩者較小者,而夏農正是你不能永遠「再多加幾個訊號位準」的原因。
你站在路由器附近時 Wi-Fi 變快,不是因為位元跑得比較快,而是因為較強的訊號提高了 S/N、抬升了夏農上限,讓無線電能安全地切換到更密集的調變(每符元更多位元)。一旦走遠,S/N 下降、容量降低,它就降檔到較慢但更穩健的方案。
夏農:C = B log2(1 + S/N)。更多頻寬讓容量等比增加;更多功率只以對數方式增添位元。
夏農容量是個上限,不是配方——它證明你最快能多快,而不是怎麼達到,真實系統會跑在它之下一些。它也假設了特定的雜訊模型(加性白高斯雜訊);更雜亂的雜訊會拉低實務上限。