通信原理速成笔记(信息论及编码)
信息论基础
- 信息的定义与度量
信息是用来消除不确定性的内容。例如,在猜硬币正反的情境中,结果存在正反两种不确定性,而得知正确结果能消除这种不确定性,此结果即为信息。 - 单个事件的信息量:对于离散信源中的事件xi,若其发生概率为
,则信息量
,单位为比特(bit)。比如抛一枚均匀硬币,正面朝上概率
,那么正面朝上这一事件的信息量
。
- 信息熵:信息熵代表信源的平均不确定性,是信源中每个事件信息量的统计平均值。对于离散信源
,其概率分布为
,信息熵
。它反映了信源输出前的平均不确定性,也表示输出后每个符号携带的平均信息量。
- 信息熵计算示例:假设有一个离散信源,包含三个符号
,概率分别为
,
,
。
- 先计算每个符号的信息量:
,
,
。
- 再计算信息熵
:
。
- 用图表示如下:
- 先计算每个符号的信息量:
- 信息熵计算示例:假设有一个离散信源,包含三个符号
离散信源
|-- A (p = 0.5, I = 1bit)
|-- B (p = 0.3, I = 1.74bit)
|-- C (p = 0.2, I = 2.32bit)
信息熵 H(X) = 1.486bit
- 信道与信道容量
- 信道模型:信道是信息传输的通道。常见的如二进制对称信道(BSC),在该信道中,输入为 0 或 1,受噪声干扰会出现错误,设错误概率为
。即输入 0 时,以概率
输出 1,以概率
输出 0;输入 1 时,以概率
输出 0,以概率
输出 1。
- 二进制对称信道示例图:
- 信道模型:信道是信息传输的通道。常见的如二进制对称信道(BSC),在该信道中,输入为 0 或 1,受噪声干扰会出现错误,设错误概率为
输入 ------[噪声干扰,错误概率 p]------ 输出
| 0 |------------------| 0 (1 - p) | 1 (p) |
| 1 |------------------| 1 (1 - p) | 0 (p) |
信道分为无噪声信道(信息可准确传输)和有噪声信道(噪声干扰信号导致传输错误)。
- 信道容量:信道容量
指信道能够传输的最大平均信息速率,单位为比特 / 秒(bit/s)。对于带宽为
(Hz)的加性高斯白噪声(AWGN)信道,信道容量的香农公式为
,其中
是信号平均功率,
是噪声平均功率,
为信噪比。
- 此公式表明,增加信道带宽或提高信噪比可提升信道容量,但增加带宽受物理条件限制,提高信噪比面临成本问题。例如在光纤通信中,通过提高光信号功率(增大
)和降低噪声(减小
)来提升信噪比,进而提高信道容量,实现高速数据传输。
- 信道容量与信噪比关系示例图:以信道带宽
为例,绘制信道容量
随信噪比
变化的曲线。当
从 1 增大到 100 时,依据香农公式
,计算出不同
对应的
值。
- 此公式表明,增加信道带宽或提高信噪比可提升信道容量,但增加带宽受物理条件限制,提高信噪比面临成本问题。例如在光纤通信中,通过提高光信号功率(增大
1 | |
10 | |
100 |
| .
| .
| .
| .
| .
|.
|________________
信噪比(S/N)
可以看到,随着信噪比增大,信道容量逐渐增加,呈现对数增长趋势。
编码
- 信源编码
- 信源编码的目的:减少信源输出符号序列中的剩余度,提高符号的平均信息量,从而在不损失信息的前提下,用尽可能少的码元表示信源信息,达到数据压缩的目的。
- 常见的信源编码方法
- 香农编码:依据信源符号的概率分布进行编码。先将信源符号按概率从大到小排序,接着计算每个符号的累加概率,再将累加概率用二进制表示,取小数点后与该符号自信息量比特数相同的位数作为编码。例如,有三个信源符号
,概率分别为
,排序后,
的累加概率为 0,
为
,
为
,转换为二进制并取对应位数,得到
编码为 0,
编码为 10,
编码为 11。
- 香农编码示例图:假设有信源符号
,概率分别为
,
,
,
。
- 排序后:
- 香农编码:依据信源符号的概率分布进行编码。先将信源符号按概率从大到小排序,接着计算每个符号的累加概率,再将累加概率用二进制表示,取小数点后与该符号自信息量比特数相同的位数作为编码。例如,有三个信源符号
x_1 (0.4)
x_2 (0.3)
x_3 (0.2)
x_4 (0.1)
- 计算累加概率:
x_1:0
x_2:0.4
x_3:0.4 + 0.3 = 0.7
x_4:0.7 + 0.2 = 0.9
- 计算自信息量:
I(x_1)=-\log_20.4\approx1.32$bit
I(x_2)=-\log_20.3\approx1.74$bit
I(x_3)=-\log_20.2\approx2.32$bit
I(x_4)=-\log_20.1\approx3.32$bit
- 二进制表示累加概率并取对应位数编码:
x_1:0 (取1位,对应1.32bit,编码为0)
x_2:0.4 -> 0.0110011... (取2位,编码为01)
x_3:0.7 -> 0.1011001... (取3位,编码为101)
x_4:0.9 -> 0.1110011... (取4位,编码为1110)
- 用图表示如下:
信源符号 | 概率 | 累加概率 | 自信息量 | 编码 |
---|---|---|---|---|
X1 | 0.4 | 0 | 1.32bit | 0 |
X2 | 0.3 | 0.4 | 1.74bit | 01 |
X3 | 0.2 | 0.7 | 2.32bit | 101 |
X4 | 0.1 | 0.9 | 3.32bit | 1110 |
- 哈夫曼编码:是一种最优前缀编码。构建哈夫曼树,将信源符号及其概率作为叶子节点,每次选取概率最小的两个节点合并为新节点,新节点概率为两节点概率之和,直至所有节点合并为根节点。从根节点到叶子节点的路径上,向左分支标记为 0,向右分支标记为 1,得到的路径编码就是该符号的哈夫曼编码。例如,对于信源符号
,概率分别为
,构建哈夫曼树后,
编码为 0,
编码为 10,
编码为 110,
编码为 111,能使平均码长最短,实现高效压缩。
- 哈夫曼编码示例图:对于信源符号
,概率分别为
,
,
,
。
- 构建哈夫曼树过程:
- 初始节点:
- 构建哈夫曼树过程:
x_1 (0.4)
x_2 (0.3)
x_3 (0.2)
x_4 (0.1)
- 第一次合并:选取
和
合并,新节点概率为
,此时节点:
x_1 (0.4)
x_2 (0.3)
新节点(0.3)
- 第二次合并:选取
和新节点 (0.3) 合并,新节点概率为
,此时节点:
x_1 (0.4)
新节点(0.6)
- 第三次合并:选取
和新节点 (0.6) 合并,得到根节点,概率为
。
- 编码过程:
- 从根节点到
:向左,编码为 0 。
- 从根节点到
:向右,再向左,编码为 10 。
- 从根节点到
:向右,再向右,再向左,编码为 110 。
- 从根节点到
:向右,再向右,再向右,编码为 111 。
- 从根节点到
- 用图表示如下:
1
/ \
0.4 0.6
/ / \
x1 0.3 0.3
/ \
x2 0.2
/ \
x3 x4
对应的编码:
信源符号 | 编码 |
---|---|
X1 | 0 |
X2 | 10 |
X3 | 110 |
X4 | 111 |
- 信道编码
- 信道编码的目的:通过在信息码元中增加冗余码元,使接收端能够检测和纠正传输过程中出现的错误,提高信息传输的可靠性。
- 常见的信道编码方法
- 奇偶校验码:分为奇校验和偶校验。奇校验使编码后的码组中 1 的个数为奇数,偶校验使编码后的码组中 1 的个数为偶数。例如,对于信息码组 1011,采用奇校验时,添加校验位 1,得到编码后的码组 10111;采用偶校验时,添加校验位 0,得到编码后的码组 10110。接收端通过检查码组中 1 的个数是否符合奇偶性来判断是否出现错误。
- 汉明码:是一种能纠正一位错误的线性分组码。通过在信息位中插入校验位,形成特定的校验关系。例如,对于 4 位信息位
,可以添加 3 位校验位
,组成 7 位的汉明码
,通过特定的校验方程计算校验位的值。接收端根据校验方程对接收码组进行校验,若校验结果不为 0,则可确定错误位置并进行纠正。
- 汉明码校验示例图:假设信息位
。
- 确定校验位位置:校验位
在第 1 位,
在第 2 位,
在第 4 位。信息位和校验位排列为
。
- 计算校验位:
校验
、
、
、
,使这些位中 1 的个数为偶数,
。
校验
、
、
、
,使这些位中 1 的个数为偶数,
。
校验
、
、
、
,使这些位中 1 的个数为偶数,
。
- 编码后的汉明码为
。
- 接收端校验:假设接收码组为
,无错误时,各校验方程结果为 0 。若第 3 位
变为 0,接收码组为
。计算校验方程:
(对应
校验方程)结果不为 0 。
(对应
校验方程)结果不为 0 。
(对应
校验方程)结果为 0 。
- 根据
的值确定错误位置为第 3 位,可进行纠正。
- 用图表示如下:
- 确定校验位位置:校验位
信息位: 1 0 1 1
校验位计算:
P1: 1 (使 1, 3, 5, 7 位 1 的个数为偶数)
P2: 0 (使 2, 3, 6, 7 位 1 的个数为偶数)
P3: 1 (使 4, 5, 6, 7 位 1 的个数为偶数)
- 循环码:是一种重要的线性分组码,具有循环移位特性,即任意一个许用码组经过循环移位后得到的码组仍为该码的一个许用码组。例如循环码组 1011000,循环左移一位得到 0110001,仍是该循环码码组。循环码有生成多项式
,通过信息多项式
与生成多项式
运算得到码多项式
,在光盘存储、数字通信等领域有广泛应用。
信息论与编码的应用案例
- 通信系统:在 5G 通信中,采用低密度奇偶校验码和极化码等信道编码技术来提高通信的可靠性。信源编码则用于压缩数据,提升频谱效率,从而实现高速、大容量的数据传输。
- 数据存储:在硬盘等数据存储设备中,运用纠错编码技术,确保数据在存储和读取过程中出现错误时,能够被检测和纠正,保证数据的完整性。
- 多媒体领域:以 MP3 音频编码为例,它依据信息论原理,去除人耳难以感知的信息,从而对音频数据进行压缩,大大减小了音频文件的大小,便于存储和传输。
- 网络安全:信息论为加密算法提供了理论支持。例如在区块链技术中,使用哈希编码来保证数据的不可篡改和安全性,通过复杂的数学运算和编码规则,确保信息在传输和存储过程中的完整性和保密性。