【电路笔记 通信】香农公式(Shannon-Hartley Theorem/香农-哈特利定理)证明(暂记)

香农-哈特利定理详细证明

1、公式表述

  • 香农公式描述了在**带宽受限、存在加性高斯白噪声(AWGN)**的信道中,能够实现可靠通信的最大数据传输速率(信道容量):

C = B log ⁡ 2 ( 1 + S N ) (bit/s) \boxed{C = B \log_2\left(1 + \frac{S}{N}\right) \quad \text{(bit/s)}} C=Blog2(1+NS)(bit/s)

其中:

  • C:信道容量(最大可靠传输速率)
  • B:信道带宽(Hz)
  • S:信号平均功率
  • N:噪声平均功率
  • S/N:信噪比(SNR)

2、证明基础概念

2.1 信道容量定义

  • 互信息定义为:
    I ( X ; Y ) = H ( Y ) − H ( Y ∣ X ) = H ( X ) − H ( X ∣ Y ) I(X;Y) = H(Y) - H(Y|X) = H(X) - H(X|Y) I(X;Y)=H(Y)−H(Y∣X)=H(X)−H(X∣Y)
  • 注:这个图是我之前回答提问" A I 已经这么厉害了,人类还有学习的必要吗?"用的。所以上边有其他标注。 \tiny 注:这个图是我之前回答提问"AI已经这么厉害了,人类还有学习的必要吗?"用的。所以上边有其他标注。 注:这个图是我之前回答提问"AI已经这么厉害了,人类还有学习的必要吗?"用的。所以上边有其他标注。
  • 信道容量定义为输入X与输出Y之间的最大互信息

C = max ⁡ p ( x ) I ( X ; Y ) C = \max_{p(x)} I(X;Y) C=p(x)maxI(X;Y)

2.2 微分熵(连续信源的熵)

  • 对于连续随机变量X,微分熵定义为:
    h ( X ) = − ∫ − ∞ ∞ p ( x ) log ⁡ 2 p ( x )   d x h(X) = -\int_{-\infty}^{\infty} p(x) \log_2 p(x) \, dx h(X)=−∫−∞∞p(x)log2p(x)dx
  • 其中 p ( x ) p(x) p(x) 是连续随机变量 X X X 的概率密度函数(PDF)。与离散熵的重要区别:
性质 离散熵 H ( X ) H(X) H(X) 微分熵 h ( X ) h(X) h(X)
取值范围 总是 ≥ 0 可以是负数
坐标变换 不变 随尺度变换改变
信息解释 最小编码比特数 不能直接解释为比特数

2.3 高斯分布的最大熵性质

  • 关键定理 :在所有具有相同方差σ²的概率分布中,高斯分布的微分熵最大 。高斯分布的微分熵为:
    h ( X ) = 1 2 log ⁡ 2 ( 2 π e σ 2 ) h(X) = \frac{1}{2}\log_2(2\pi e \sigma^2) h(X)=21log2(2πeσ2)

  • 证明思路 (使用变分法或Jensen不等式),证明略

    • 设p(x)为任意分布,q(x)为同方差的高斯分布
    • 利用相对熵(KL散度)非负性: D K L ( p ∣ ∣ q ) ≥ 0 D_{KL}(p||q) \geq 0 DKL(p∣∣q)≥0
    • 可得: h ( p ) ≤ h ( q ) h(p) \leq h(q) h(p)≤h(q),等号当且仅当p=q时成立

3、香农公式推导

3.1 AWGN信道模型

  • 考虑加性高斯白噪声信道:
    Y = X + N Y = X + N Y=X+N

  • 其中:

    • X X X:发送信号,平均功率约束 E [ X 2 ] ≤ S E[X^2] \leq S E[X2]≤S
    • N N N:高斯白噪声, N ∼ N ( 0 , σ N 2 ) N \sim \mathcal{N}(0, \sigma_N^2) N∼N(0,σN2),噪声功率 N = σ N 2 N = \sigma_N^2 N=σN2
    • Y Y Y:接收信号

3.2 互信息计算

I ( X ; Y ) = h ( Y ) − h ( Y ∣ X ) I(X;Y) = h(Y) - \color{red}h(Y|X) I(X;Y)=h(Y)−h(Y∣X)

  • 由于 Y = X + N Y = X + N Y=X+N,给定X时,Y的不确定性仅来自N:
    h ( Y ∣ X ) = h ( X + N ∣ X ) = h ( N ) \color{red} h(Y|X) = h(X+N|X) = h(N) h(Y∣X)=h(X+N∣X)=h(N)

  • 因此:
    I ( X ; Y ) = h ( Y ) − h ( N ) I(X;Y) = h(Y) - \color{red}h(N) I(X;Y)=h(Y)−h(N)

3.3 最大化互信息

  • 噪声熵 (N为高斯分布):
    h ( N ) = 1 2 log ⁡ 2 ( 2 π e σ N 2 ) = 1 2 log ⁡ 2 ( 2 π e N ) h(N) = \frac{1}{2}\log_2(2\pi e \sigma_N^2) = \frac{1}{2}\log_2(2\pi e N) h(N)=21log2(2πeσN2)=21log2(2πeN)

  • 输出熵(Y的功率约束):

    • Y的功率: E [ Y 2 ] = E [ ( X + N ) 2 ] = E [ X 2 ] + E [ N 2 ] ≤ S + N E[Y^2] = E[(X+N)^2] = E[X^2] + E[N^2] \leq S + N E[Y2]=E[(X+N)2]=E[X2]+E[N2]≤S+N
    • 根据最大熵原理,当Y服从高斯分布时,h(Y)最大:
      h ( Y ) ≤ 1 2 log ⁡ 2 ( 2 π e ( S + N ) ) h(Y) \leq \frac{1}{2}\log_2(2\pi e (S+N)) h(Y)≤21log2(2πe(S+N))
  • 最大互信息
    C = max ⁡ p ( x ) I ( X ; Y ) = max ⁡ p ( x ) [ h ( Y ) − h ( N ) ] ≤ 1 2 log ⁡ 2 ( 2 π e ( S + N ) ) − 1 2 log ⁡ 2 ( 2 π e N ) = 1 2 log ⁡ 2 ( S + N N ) = 1 2 log ⁡ 2 ( 1 + S N ) (bit/维度) \begin{aligned} C &= \max_{p(x)} I(X;Y) \\ &= \max_{p(x)} [h(Y) - h(N)] \\ &\leq \frac{1}{2}\log_2(2\pi e (S+N)) - \frac{1}{2}\log_2(2\pi e N) \\ &= \frac{1}{2}\log_2\left(\frac{S+N}{N}\right) \\ &= \frac{1}{2}\log_2\left(1 + \frac{S}{N}\right) \quad \text{(bit/维度)} \end{aligned} C=p(x)maxI(X;Y)=p(x)max[h(Y)−h(N)]≤21log2(2πe(S+N))−21log2(2πeN)=21log2(NS+N)=21log2(1+NS)(bit/维度)

C = W ∗ 1 2 log ⁡ 2 ( 1 + S N ) (bit) \begin{aligned} C &= W* \frac{1}{2}\log_2\left(1 + \frac{S}{N}\right) \quad \text{(bit)} \end{aligned} C=W∗21log2(1+NS)(bit)

3.4 引入带宽因素(奈奎斯特采样定理)

  • 极限码元速率 = 2 W   ( Baud ) \text{极限码元速率} = 2W \, (\text{Baud}) 极限码元速率=2W(Baud)
  • 含义 :在带宽为 W W W (Hz) 的理想低通信道中,每秒最多能无误传输 2 W 2W 2W 个码元。
  • 带宽为 3000Hz 的电话线,极限码元速率为 2 × 3000 = 6000 2 \times 3000 = 6000 2×3000=6000 Baud。这意味着无论你怎么调制,每秒发出的信号波形不能超过6000个,否则会发生码间串扰。

极限信息速率 = 2 W × log ⁡ 2 ( V )   ( bps ) \text{极限信息速率} = 2W \times \log_2(V) \, (\text{bps}) 极限信息速率=2W×log2(V)(bps)

  • WiFi 6 (802.11ax)使用 1024-QAM 调制( M=1024 ),每码元携带 10 比特。若码元速率为 1 MBaud → 信息速率可达 10 Mbps(单流)。

  • 根据奈奎斯特采样定理

    • 带宽为B的信道,每秒可传输 2B 个独立样本(奈奎斯特速率)
    • 每个样本可携带 1 2 log ⁡ 2 ( 1 + S / N ) \frac{1}{2}\log_2(1 + S/N) 21log2(1+S/N) 比特信息
  • 因此,总信道容量 为:
    C = 2 B × 1 2 log ⁡ 2 ( 1 + S N ) = B log ⁡ 2 ( 1 + S N ) (bit/s) \begin{aligned} C &= 2B \times \frac{1}{2}\log_2\left(1 + \frac{S}{N}\right) \\ &= B \log_2\left(1 + \frac{S}{N}\right) \quad \text{(bit/s)} \end{aligned} C=2B×21log2(1+NS)=Blog2(1+NS)(bit/s)

3.5 考虑噪声功率谱密度

  • 若噪声功率谱密度为 N 0 N_0 N0 (W/Hz),则噪声总功率 N = N 0 B N = N_0 B N=N0B,公式可写为:

C = B log ⁡ 2 ( 1 + S N 0 B ) \boxed{C = B \log_2\left(1 + \frac{S}{N_0 B}\right)} C=Blog2(1+N0BS)

4、重要性质与极限分析

4.1 带宽无限大时的极限

  • 当 B → ∞ B \to \infty B→∞ 时:
    C ∞ = lim ⁡ B → ∞ B log ⁡ 2 ( 1 + S N 0 B ) = S N 0 log ⁡ 2 e ≈ 1.44 S N 0 (bit/s) \begin{aligned} C_{\infty} &= \lim_{B \to \infty} B \log_2\left(1 + \frac{S}{N_0 B}\right) \\ &= \frac{S}{N_0} \log_2 e \approx 1.44 \frac{S}{N_0} \quad \text{(bit/s)} \end{aligned} C∞=B→∞limBlog2(1+N0BS)=N0Slog2e≈1.44N0S(bit/s)

  • 结论:即使带宽无限,信道容量也有上限!

4.2 信噪比的影响

  • 高SNR : C ≈ B log ⁡ 2 ( S / N ) C \approx B \log_2(S/N) C≈Blog2(S/N),容量随SNR对数增长

  • 低SNR : C ≈ S N 0 log ⁡ 2 e C \approx \frac{S}{N_0} \log_2 e C≈N0Slog2e,容量近似线性

  • 信噪比定义为有用信号的平均功率(S)与噪声的平均功率(N)的比值,数学表达式为 SNR = S N \text{SNR} = \frac{S}{N} SNR=NS。实际工程中常以分贝(dB)为单位,转换公式为 SNR(dB) = 10 log ⁡ 10 ( S N ) \text{SNR(dB)} = 10 \log_{10}(\frac{S}{N}) SNR(dB)=10log10(NS)。例如,音箱信噪比为80dB时,信号功率是噪声的 10 8 10^8 108倍,信号幅值是噪声的 10 4 10^4 104倍。

5、历史背景

时间 人物 贡献 论文/著作
1924年 哈里·奈奎斯特 (Harry Nyquist) 提出无噪声信道码元速率上限 《Certain Factors Affecting Telegraph Speed》
1928年 拉尔夫·哈特利 (Ralph V. L. Hartley) 首次定义信息量,提出对数度量公式 Transmission of Information
1948年 克劳德·香农 (Claude Shannon) 建立完整信息论,提出熵和信道容量 《A Mathematical Theory of Communication》
1954 范斯坦 首次给出严密证明框架 Foundations of Information Theory
2008 Arikan 提出极化码,首个严格证明可达香农极限的编码 极化码(Polar Codes)是由E. Arikan于2008年提出
相关推荐
Alice-YUE16 小时前
【JS高频八股】什么是闭包?
开发语言·javascript·笔记·学习
宵时待雨16 小时前
linux笔记归纳3:linux开发工具
linux·运维·笔记
摇滚侠17 小时前
Java 零基础全套视频教程,面向对象(高级),笔记 105-120
java·开发语言·笔记
tq108617 小时前
程序行为的效应构成:约束、规则与延迟固化的统一视角
笔记
Alice-YUE17 小时前
前端图片优化完全指南:从格式到加载的全面提速方案
前端·笔记·学习
Stella Blog17 小时前
狂神Java基础学习笔记Day05
java·笔记·学习
枷锁—sha18 小时前
【CTFshow-pwn系列】03_栈溢出【pwn 073】详解:静态编译下的自动化 ROP 链构建
网络·汇编·笔记·安全·网络安全·自动化
你数过天上的星星吗18 小时前
Python学习笔记二(函数、类与对象)
笔记·python·学习
Titan202418 小时前
C++11学习笔记
c++·笔记·学习
寒秋花开曾相惜18 小时前
(学习笔记)4.2 逻辑设计和硬件控制语言HCL(4.2.3 字级的组合电路和HCL整数表达式)
android·网络·数据结构·笔记·学习