当前位置: 首页 > article >正文

通信原理速成笔记(信息论及编码)

信息论基础

  • 信息的定义与度量
    信息是用来消除不确定性的内容。例如,在猜硬币正反的情境中,结果存在正反两种不确定性,而得知正确结果能消除这种不确定性,此结果即为信息。
  • 单个事件的信息量:对于离散信源中的事件xi​,若其发生概率为p(x_i),则信息量I(x_i)=-\log_2p(x_i),单位为比特(bit)。比如抛一枚均匀硬币,正面朝上概率p = 0.5,那么正面朝上这一事件的信息量I=-\log_20.5 = 1bit
  • 信息熵:信息熵代表信源的平均不确定性,是信源中每个事件信息量的统计平均值。对于离散信源x,其概率分布为\{p(x_i),i = 1,2,\cdots,n\},信息熵H(X)=-\sum_{i = 1}^{n}p(x_i)\log_2p(x_i) 。它反映了信源输出前的平均不确定性,也表示输出后每个符号携带的平均信息量。
    • 信息熵计算示例:假设有一个离散信源,包含三个符号A,B,C,概率分别为p(A)=0.5p(B)=0.3p(C)=0.2
      • 先计算每个符号的信息量:I(A)=-\log_20.5 = 1bitI(B)=-\log_20.3\approx1.74bitI(C)=-\log_20.2\approx2.32bit
      • 再计算信息熵H(X)H(X)= - p(A)\log_2p(A)-p(B)\log_2p(B)-p(C)\log_2p(C)= - 0.5×1 - 0.3×1.74 - 0.2×2.32 = 1.486bit
      • 用图表示如下:
离散信源
|-- 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,受噪声干扰会出现错误,设错误概率为p 。即输入 0 时,以概率p输出 1,以概率1 - p输出 0;输入 1 时,以概率p输出 0,以概率1 - p输出 1。
      • 二进制对称信道示例图
输入 ------[噪声干扰,错误概率 p]------ 输出
| 0 |------------------| 0 (1 - p) | 1 (p) |
| 1 |------------------| 1 (1 - p) | 0 (p) |

信道分为无噪声信道(信息可准确传输)和有噪声信道(噪声干扰信号导致传输错误)。

  • 信道容量:信道容量C指信道能够传输的最大平均信息速率,单位为比特 / 秒(bit/s)。对于带宽为B(Hz)的加性高斯白噪声(AWGN)信道,信道容量的香农公式为C = B\log_2(1+\frac{S}{N}) ,其中S是信号平均功率,N是噪声平均功率,\frac{S}{N}​为信噪比。
    • 此公式表明,增加信道带宽或提高信噪比可提升信道容量,但增加带宽受物理条件限制,提高信噪比面临成本问题。例如在光纤通信中,通过提高光信号功率(增大S)和降低噪声(减小N)来提升信噪比,进而提高信道容量,实现高速数据传输。
    • 信道容量与信噪比关系示例图:以信道带宽B = 1MHz为例,绘制信道容量C随信噪比\frac{S}{N}​变化的曲线。当\frac{S}{N}从 1 增大到 100 时,依据香农公式C = B\log_2(1+\frac{S}{N}) ,计算出不同\frac{S}{N}​对应的C值。
\frac{S}{N}C(bit/s)
11×10^6×\log_2(1 + 1)\approx1×10^6
101×10^6×\log_2(1 + 10)\approx3.46×10^6
1001×10^6×\log_2(1 + 100)\approx6.65×10^6
|         .
|       .
|     .
|   .
| .
|.
|________________
信噪比(S/N)

可以看到,随着信噪比增大,信道容量逐渐增加,呈现对数增长趋势。

编码

  • 信源编码
    • 信源编码的目的:减少信源输出符号序列中的剩余度,提高符号的平均信息量,从而在不损失信息的前提下,用尽可能少的码元表示信源信息,达到数据压缩的目的。
    • 常见的信源编码方法
      • 香农编码:依据信源符号的概率分布进行编码。先将信源符号按概率从大到小排序,接着计算每个符号的累加概率,再将累加概率用二进制表示,取小数点后与该符号自信息量比特数相同的位数作为编码。例如,有三个信源符号a_1,a_2,a_3,概率分别为0.5,0.25,0.25,排序后,a_1的累加概率为 0,a_2​为0.5a_3​为0.75,转换为二进制并取对应位数,得到a_1​编码为 0,a_2​编码为 10,a_3​编码为 11。
      • 香农编码示例图:假设有信源符号x_1,x_2,x_3,x_4,概率分别为p(x_1)=0.4p(x_2)=0.3p(x_3)=0.2p(x_4)=0.1
        • 排序后:
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)
  • 用图表示如下:
信源符号概率累加概率自信息量编码
X10.401.32bit0
X20.30.41.74bit01
X30.20.72.32bit101
X40.10.93.32bit1110
  • 哈夫曼编码:是一种最优前缀编码。构建哈夫曼树,将信源符号及其概率作为叶子节点,每次选取概率最小的两个节点合并为新节点,新节点概率为两节点概率之和,直至所有节点合并为根节点。从根节点到叶子节点的路径上,向左分支标记为 0,向右分支标记为 1,得到的路径编码就是该符号的哈夫曼编码。例如,对于信源符号x_1,x_2,x_3,x_4​,概率分别为0.4,0.3,0.2,0.1 ,构建哈夫曼树后,x_1​编码为 0,x_2​编码为 10,x_3​编码为 110,x_4编码为 111,能使平均码长最短,实现高效压缩。
  • 哈夫曼编码示例图:对于信源符号x_1,x_2,x_3,x_4​,概率分别为p(x_1)=0.4p(x_2)=0.3p(x_3)=0.2p(x_4)=0.1
    • 构建哈夫曼树过程:
      • 初始节点:
x_1 (0.4)
x_2 (0.3)
x_3 (0.2)
x_4 (0.1)
  • 第一次合并:选取x_3x_4​合并,新节点概率为0.2 + 0.1 = 0.3 ,此时节点:
x_1 (0.4)
x_2 (0.3)
新节点(0.3)
  • 第二次合并:选取x_2​和新节点 (0.3) 合并,新节点概率为0.3 + 0.3 = 0.6 ,此时节点:
x_1 (0.4)
新节点(0.6)
  • 第三次合并:选取x_1​和新节点 (0.6) 合并,得到根节点,概率为0.4 + 0.6 = 1 。
  • 编码过程:
    • 从根节点到x_1​:向左,编码为 0 。
    • 从根节点到x_2​:向右,再向左,编码为 10 。
    • 从根节点到x_3​:向右,再向右,再向左,编码为 110 。
    • 从根节点到x_4​:向右,再向右,再向右,编码为 111 。
  • 用图表示如下:
                   1
                 /   \
               0.4     0.6
              /       /   \
            x1      0.3     0.3
                        /   \
                      x2     0.2
                             / \
                           x3   x4

对应的编码:

信源符号编码
X10
X210
X3110
X4111
  • 信道编码
    • 信道编码的目的:通过在信息码元中增加冗余码元,使接收端能够检测和纠正传输过程中出现的错误,提高信息传输的可靠性。
    • 常见的信道编码方法
      • 奇偶校验码:分为奇校验和偶校验。奇校验使编码后的码组中 1 的个数为奇数,偶校验使编码后的码组中 1 的个数为偶数。例如,对于信息码组 1011,采用奇校验时,添加校验位 1,得到编码后的码组 10111;采用偶校验时,添加校验位 0,得到编码后的码组 10110。接收端通过检查码组中 1 的个数是否符合奇偶性来判断是否出现错误。
      • 汉明码:是一种能纠正一位错误的线性分组码。通过在信息位中插入校验位,形成特定的校验关系。例如,对于 4 位信息位D_1D_2D_3D_4 ,可以添加 3 位校验位P_1P_2P_3​ ,组成 7 位的汉明码C_1C_2C_3C_4C_5C_6C_7​ ,通过特定的校验方程计算校验位的值。接收端根据校验方程对接收码组进行校验,若校验结果不为 0,则可确定错误位置并进行纠正。
      • 汉明码校验示例图:假设信息位D_1D_2D_3D_4 = 1011 。
        • 确定校验位位置:校验位P_1​在第 1 位,P_2​在第 2 位,P_3​在第 4 位。信息位和校验位排列为C_1C_2D_1C_3D_2D_3D_4​ 。
        • 计算校验位:
          • P_1​校验C_1​、C_3​、D_1​、D_3​,使这些位中 1 的个数为偶数,P_1 = 1 。
          • P_2​校验C_2​、C_3D_2D_3​,使这些位中 1 的个数为偶数,P_2 = 0 。
          • P_3​校验C_3​、D_1​、D_2​、D_4,使这些位中 1 的个数为偶数,P_3 = 1 。
          • 编码后的汉明码为1011011 。
        • 接收端校验:假设接收码组为1011011 ,无错误时,各校验方程结果为 0 。若第 3 位D_1​变为 0,接收码组为1001011 。计算校验方程:
          • S_1​(对应P_1​校验方程)结果不为 0 。
          • S_2​(对应P_2校验方程)结果不为 0 。
          • S_3(对应P_3​校验方程)结果为 0 。
          • 根据S_1S_2S_3的值确定错误位置为第 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,仍是该循环码码组。循环码有生成多项式g(x) ,通过信息多项式m(x)与生成多项式g(x)运算得到码多项式T(x) ,在光盘存储、数字通信等领域有广泛应用。

信息论与编码的应用案例

  1. 通信系统:在 5G 通信中,采用低密度奇偶校验码和极化码等信道编码技术来提高通信的可靠性。信源编码则用于压缩数据,提升频谱效率,从而实现高速、大容量的数据传输。
  2. 数据存储:在硬盘等数据存储设备中,运用纠错编码技术,确保数据在存储和读取过程中出现错误时,能够被检测和纠正,保证数据的完整性。
  3. 多媒体领域:以 MP3 音频编码为例,它依据信息论原理,去除人耳难以感知的信息,从而对音频数据进行压缩,大大减小了音频文件的大小,便于存储和传输。
  4. 网络安全:信息论为加密算法提供了理论支持。例如在区块链技术中,使用哈希编码来保证数据的不可篡改和安全性,通过复杂的数学运算和编码规则,确保信息在传输和存储过程中的完整性和保密性。

http://www.kler.cn/a/569133.html

相关文章:

  • Spring Boot 异步编程深入剖析
  • openssl下aes128算法ofb模式加解密运算实例
  • AI人工智能机器学习之聚类分析
  • 迷你世界脚本聊天接口:Chat
  • 【Android】安卓付款密码输入框、支付密码输入框
  • Maven的传递性、排除依赖、生命周期、插件
  • AWS SQS跨账户访问失败排查指南
  • 蓝桥杯 之 填空题-位运算与循环
  • Electron + Vite + React + TypeScript 跨平台开发实践指南
  • AWS ALB 实现灰度验证指南:灵活流量分配与渐进式发布
  • 题解 | 牛客周赛82 Java ABCDEF
  • 【51单片机】快速入门
  • 软件工程---基于构件的软件工程
  • 攻防世界WEB(新手模式)18-easyphp
  • node项目前后端密码加密传输及存储方案
  • 【终篇】基于C++的通讯录管理系统(完整源码)
  • 7-1JVMCG垃圾回收
  • 【西瓜书《机器学习》前三章内容通俗理解】
  • Golang语言特性
  • 【零基础C语言】第四节 数组