信息與香農...

當我們談「信息量」,我們在說什麼?

直觀上,信息量與概率有一定的聯繫。扔一個骰子,如果我告訴你「點數大於3」,你知道點數可能是4、5、6(概率是二分之一);如果我告訴你點數是6,那麼你知道點數是6(概率是六分之一)。顯然知道點數是6這種情況,你獲得的信息要多一些。基於上述考慮,Hartley提出用消息出現概率的對數測度作為信息的度量單位:I(x_{i})=logfrac{1}{P(x_{i})}=-logP(x_{i}).(為什麼要用對數?考慮一下A發生同時B發生的情形就可以理解了——概率是相乘,信息量則是求和,取對數是很自然的選擇)。

對於一個離散的信源,它發出了由很多符號組成的消息。我們想計算每個符號所含信息量的統計平均值。假設符號數目N(比如我的消息是由26個英文字母組成,那麼N就是26),離散信源的平均信息量為:H(X)=-sum_{i=1}^{N} P(x_{i})logP(x_{i}).類似的公式大家在熱力學與統計物理里是見過的,可以考慮一下,有什麼聯繫與區別呢(這問題可以單獨寫一篇文章233)?

類似地(需要一點計算,思路就是把連續的分布離散化再取極限,然後扔掉奇怪的項),定義連續信息源的平均信息量: H(X)=-int_{-infty}^{infty}p(x)logp(x)dx.

我們不禁要問:在怎樣的概率分布下,這個信息量取最大值?我們有一個顯然的約束條件:概率密度函數的歸一化 int_{-infty}^{infty} p(x) dx=1. 然而我們還必須對消息源的輸出作出進一步限制。考慮實際情況,一種常見的限制是「均方值受限」(實際上就是信號的功率受到限制),可以記為 int_{-infty}^{infty}x^{2} p(x) dx=sigma ^{2}. 在這兩個約束條件之下,求出使 H(X) 取最大值的概率密度函數。可以使用Lagrange乘子法來求解。引入乘子 lambdamu

F(X)=int[-p(x)logp(x)+lambda p(x) x^{2} +mu p(x)]dx. 並由 frac{partial F}{partial p}=0 得到: -1-log p(x) +lambda x^{2} + mu =0.

再藉助約束條件,解得:

p(x)=frac{1}{sqrt{2pi} sigma}e^{-frac{x^2}{2sigma ^2}} 為最佳概率密度函數。代入 H(X) 不難求得最佳分布對應的信息量: H(X)=ln sigma sqrt{2pi} + frac{1}{2}=ln sigma sqrt{2pi e} =log_{2} sigma sqrt{2pi e}(bit). 注意我們把單位換成了比特。

香農公式針對的是有擾信道——接收到的信號是發送信號和信道雜訊的線性疊加: y=x+n. 所謂通信,簡單來說,就是信源發了一串消息 x ,但是我們不能完全消除雜訊的影響,所以總是可能出現錯誤(誤碼率不可能為0),那麼接收者的任務,就是根據自己收到的一串消息 y ,來想方設法「猜出」信源發出的消息 x 可能是怎樣的。

了解了這一點,我們來引入「互信息量」的概念。對於兩個離散信源X、Y,X發送符號的概率場一般是已知的,P(x_{i})即為先驗概率。接收端每次收到一個y_{j},都要重新估計發送端各符號x_{i}的概率分布,這一條件概率P(x_{i}/y_{j})稱為後驗概率。定義互信息量為:

I(x_{i},y_{j})=logfrac{P(x_{i}/y_{j})}{P(x_{i})}.

它的物理意義是接收端所能獲取的關於信源X的信息量(在實際通信系統中,真正傳輸的信息量就是這個互信息量。)。而互信息量的統計平均值可以衡量通信系統每個符號傳輸信息的效率(平均互信息量):

I(X,Y)=sum_{i}sum_{j} P(x_{i}y_{j}) I(x_{i},y_{j}).對於連續情形,相應的定義是I(X,Y)=int_{-infty} ^ {infty} int_{-infty} ^ {infty} p(xy) logfrac{p(xy)}{p(x)p(y)} dxdy.

為了方便,再引入「條件熵」:若已知X中出現x_{i},此時Y中出現y_{j}的條件平均信息量(條件熵)為:

H(Y/X)=sum_{i}P(x_{i}) sum_{j}[-P(y_{j}/x_{i})logP(y_{j}/x_{i})]=-sum_{i}sum_{j} P(x_{i}y_{j}) logP(y_{j}/x_{i}).

對於連續情形,相應的定義是:H(Y/X)=int_{-infty}^{infty}p(x)dx int_{-infty}^{infty} p(y/x) logp(y/x)dy.

可以證明I(X,Y)=H(Y)-H(Y/X)成立,這個公式在之後的計算中會用到。

對於一個實際的通信系統,我們設信道雜訊的概率密度函數為 f(n) (認為雜訊與信號統計獨立),那麼條件概率密度函數 p(y/x) 就等於 f(n) ,即: p(y/x)=f(y-x)=f(n). 再根據條件熵定義,得:H(Y/X)=int_{-infty}^{infty}p(x)dx int_{-infty}^{infty} p(y/x) logp(y/x)dy =-int_{-infty}^{infty} f(n) logf(n) dn =H(N).(第二個等號用到了雜訊與信號統計獨立的條件)。

對於有擾離散信道,定義最高信息傳輸速率為信道容量: C=max[H(X)-H(X/Y)] r (其中 r 是發送端單位時間內發出符號的個數,這裡就用到了互信息量與條件熵的關係)。

根據Nyquist採樣定理,如果我們發出的連續信號,頻帶限於 W ,那麼它可以用頻率 2W 的離散信號來無失真地表示(信息量是相等的)。基於此,有擾連續信道的信道容量可以表示為:

C=max[H(Y)-H(Y/X)] cdot 2W.

為了求得信道容量的理論上限,我們需要藉助之前的結論。假設雜訊是加性高斯白雜訊(AWGN),信號功率記為 S ,雜訊功率記為 N ,在平均功率受限的條件下我們知道:

H(Y)=log_{2} sqrt{2pi e(S+N)}; H(Y/X)=log_{2}sqrt{2pi eN}.

代入可以計算出有擾連續信道的信道容量:

C=Wlog_{2} (1+frac{S}{N}). 單位為 bit/s .

這就是著名的香農公式,它告訴我們提升信噪比可以增大信道容量;另一方面,如果增大 W ,並不能使 C 無限制地增大——因為頻帶寬度會影響到雜訊的功率。對於高斯白雜訊,我們記它的單邊功率譜密度為 n_0 ,那麼將 N=n_{0}W 代入:

lim_{W 
ightarrow infty}C=lim_{W
ightarrow infty} Wlog_{2} (1+frac{S}{n_{0} W}) approx 1.44frac{S}{n_{0}}.即便帶寬很大,信道容量仍然是有限的。

香農公式雖然給出了信道容量的理論極限,但並沒有說明如何接近這一極限。事實上,大部分通信工程師每天的工作,就是研究如何使實際的通信系統儘可能接近這個極限。

吐槽:雖然我們嘴上說「通信都是數學」,但更準確的說法應該是「計算」而不是「數學」。從這個角度講,通信其實跟物理有點類似,可能還要偏工程一點。香農的工作是一切通信理論的基礎,可以算是數學...但是後來工程師們所作的事情,則是在追求一些可以應用的結果。


推薦閱讀:

TAG:通信 | 資訊理論 |