写在前面:本篇文章记录了自信息、互信息、信息熵与香农公式的一些定义、定理与简单的推导,引申阅读可参考通信笔/面试题(2) 香农公式
1 自信息与互信息
自信息是指某个事件包含的不确定性,也即从该事件中能够获取的信息量的大小,是一种信息量的度量,发生概率为p(ai)的事件ai的自信息定义为
I(ai)=−logp(ai)
互信息的定义有两层含义,是针对事件来定义的,互信息可以刻画两个事件的相关性:
I(xi;yj)=I(xi)−I(xi|yj)=I(yj)−I(yj|xi)(1)(2)
第一层含义为事件yj发生后,事件xi剩余的不确定性(根据事件yj的情况可以去除xi不可能发生的一些可能,因此事件yj的发生会减少事件xi的部分不确定性),也即事件yj发生后,接收端从xi获得的信息量;第二层含义为事件xi发生前后,事件yj不确定性的减少量
2 信息熵
信息熵是指某个随机事件的平均不确定性,也即从该随机事件能够获取的平均信息量的大小。一个随机事件X可能有多种发生的可能性xi,每种可能有相应的发生概率p(xi)。信息熵在数学上定义的就是自信息的期望,也可以理解为平均自信息:
H(X)=−∑ip(xi)logp(xi)
此外还有:
- 条件熵,刻画一个随机事件X发生的条件下,另一个随机事件Y的平均不确定性:H(Y|X)=−∑ip(xi)∑jp(yj|xi)logp(yj|xi);
- 联合熵,刻画两个随机事件同时发生的平均不确定度:H(XY)=H(X|Y)+H(Y)=H(Y|X)+H(X)
平均互信息是对于两个随机变量来定义的,定义也类似地有两层含义,平均互信息可以刻画两个随机变量的相关程度,进一步推导计算公式有:
I(X;Y)=H(X)−H(X|Y)=H(Y)−H(Y|X)=−∑ip(xi)logp(xi)+∑i∑jp(xi,yj)logp(xi|yj)=−∑i∑jp(xi,yj)logp(xi)+∑i∑jp(xi,yj)logp(xi|yj)=∑i∑jp(xi,yj)logp(xi|yj)p(xi)=∑i∑jp(xi,yj)logp(xi,yj)p(xi)p(yj)(3)(4)(5)(6)(7)
对于信息传输模型Y=X+Z来说,平均互信息的含义为:1)从输入端看,发射信号X前后,关于接收信号Y的不确定性的减少量;2)从输出端看,接收信号Y前后,关于发射信号X剩余的不确定性,即接收端可从发射信号X中获取的信息量;3)站在通信系统的整体角度,通信前后系统不确定性的差值
注意:有很多博客直接把针对随机变量定义的平均互信息定义为互信息
3 香农公式
香农公式是加性高斯白噪声信道中的信道容量,这是香农公式的成立条件。信道容量是指信道中能够无误传输的最大数据速率,单位为bits/symbol、bits/s。数学上定义为发送信号与接收信号之间的最大互信息(bits/symbol):
C=maxp(x)I(X,Y)=maxp(x){H(Y)−H(Y∣X)}
3.1 来源与条件#
一些高斯分布的信息熵的结论:H(Z)=12log2(2πeσ2);同等方差时,服从高斯分布的随机变量的信息熵最大(高斯分布是不确定性最大的分布)
香农公式是一种特殊的信道中的信道容量,公式为C=Blog2(1+SN)。具体来说,有几个条件:
- 信道是加性高斯白噪声信道,信道模型为Y=X+Z
- 当输入信号也服从高斯分布时,信道容量才可以取到香农公式的等号
根据定义,首先来推导单位为bits/symbol的信道容量,注意噪声与发送信号无关:
I(X,Y)=H(Y)−H(Y|X)=H(Y)−H(X+Z|X)=H(Y)−H(Z|X)=H(Y)−H(Z)(8)(9)
对于高斯分布的噪声N,记住有高斯分布的微熵H(Z)=12log2(2πeσ2)。当输入信号X服从高斯分布时,高斯分布的和仍是线性分布,此时Y的方差为S+N,其信息熵达到最大值。因此有
C=maxp(x)I(X,Y)=12log2[2πe(S+N)]−12log2(2πeσ2)=12log2(1+SN), bits/symbol
对于带宽为B的信号,根据采样定理有采样率为2B (symbols/s)时就可以实现无失真的传输,此时信道容量为C=Blog2(1+SN), bits/s。这也就是熟知的香农公式。
3.2 一些推论与应用#
通常相让信道容量变大,根据香农公式有几个方法
-
增大信号功率S、或者减小噪声功率N,信道容量可以无限增大
-
增大信号带宽B,信道容量不会趋于无穷大,而是趋于一个定值1.44S/N0
limB→∞Blog2(1+SN)=limB→∞Blog2(1+SN0B)=limB→∞SN0log2(1+SN0B)BN0S=SN0e=1.44S/N0(10)(11)(12)
根据香农公式,信道带宽、信号噪声功率比S/N可以进行互换,例如通过牺牲信道带宽来改善对低信噪比的要求。
3.3 信道编码定理与香农极限#
香农极限推导主要用到公式:limx→0(x+1)1x=e
信道编码定理:如果数据传输速率小于等于信道容量R≤C,那么总可以找到一种信道差错控制编码实现无差错传输;反之,如果R>C,那么找不到一种信道差错控制编码实现无差错传输。
香农公式指出了加性高斯白噪声信道中可以无误传输的最大传输速率。香农极限是指加性高斯白噪声信道中,实现无差错传输的信噪比Eb/N0的极限:−1.6 dB,其中Eb为每个比特的信号能量。关于通信仿真中的信噪比概念可参考这里。根据上面的信道编码定理有:
R≤C=Blog2(1+SN0B)
又根据Eb的概念,有S(W,J/s)=Eb(J/bit)⋅R(bits/s),所以继续化简
⇒R≤Blog2(1+EbRN0B)⇒log2(1+EbN0RB)≥RB⇒log2(1+EbN0RB)N0BEbREbN0RB≥RB⇒EbN0≥−log2(1+EbN0RB)N0BEbR≥−log2e=−1.6 dB(13)(14)(15)(16)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下