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

信息论基础

  • 信息的定义与度量
    信息是用来消除不确定性的内容。例如,在猜硬币正反的情境中,结果存在正反两种不确定性,而得知正确结果能消除这种不确定性,此结果即为信息。
  • 单个事件的信息量:对于离散信源中的事件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. 网络安全:信息论为加密算法提供了理论支持。例如在区块链技术中,使用哈希编码来保证数据的不可篡改和安全性,通过复杂的数学运算和编码规则,确保信息在传输和存储过程中的完整性和保密性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/980055.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL实现文档全文搜索,分词匹配多段落重排展示,知识库搜索原理分享

一、背景 在文档搜索场景中,高效精准的搜索功能至关重要,能提升检索效率,为用户提供精准、快速的信息获取体验,提高工作效率。在文档管理系统里,全文搜索是非常重要的功能之一。随着文档数量增长,如何快速…

力扣hot100——回溯

文章目录 前言55.全排列题目描述思路:DFS回溯code 56.子集题目描述思路:dfs回溯code 57.电话号码的字母组合题目描述思路:DFS回溯code 58.数组总和题目描述题目描述code 59.括号生成题目描述思路:DFS回溯code 60.单词搜索题目描述…

云和恩墨亮相PolarDB开发者大会,与阿里云深化数据库服务合作

2025年2月26日,备受瞩目的阿里云PolarDB开发者大会于北京嘉瑞文化中心盛大举行,众多行业精英齐聚一堂,共襄技术盛会。云和恩墨作为阿里云重要的生态合作伙伴受邀参会。云和恩墨联合创始人兼技术研究院总经理杨廷琨与阿里云智能数据库产品事业…

Vue前端项目构建教程

文章目录 1. 引言2.环境准备2.1 请自行查找资料安装以下开发工具2.2 安装cnpm 3. 创建Vue3项目3.1 安装依赖3.2 项目结构 4. 配置Vue项目4.1 在项目根目录下添加环境变量文件4.2 添加环境变量 5. 常用插件和工具总结 1. 引言 本前端项目将使用Vue3 Vite4构建。 Vue3是目前最…

seacms v9 实现的MySQL注入

目录 过滤关键词information_schema 怎么办 一、环境搭建 二、环境分析 三、源代码分析 1、过滤程序 2、注入点 四、获取数据库名 五、获取数据库表名 六、获取表的列名 七、获取数据信息 过滤关键词information_schema 怎么办 1.、利用sys数据库(MySQL 5.…

鸿蒙NEXT开发-元服务和服务卡片的开发

注意:博主有个鸿蒙专栏,里面从上到下有关于鸿蒙next的教学文档,大家感兴趣可以学习下 如果大家觉得博主文章写的好的话,可以点下关注,博主会一直更新鸿蒙next相关知识 目录 1. 元服务基本概念 1.1 基本介绍 1.2 元…

【考试大纲】高级系统架构设计师考试大纲

目录 引言一、 考试说明1.考试目标2.考试要求3.考试科目设置二、 考试范围考试科目1:系统架构设计综合知识考试科目2:系统架构设计案例分析考试科目3:系统架构设计论文引言 最新的系统架构设计师考试大纲出版于 2022 年 11 月,本考试大纲基于此版本整理。 一、 考试说明…

Springboot快速接入豆包大模型

背景 突然接到上面的通知,想要在系统里面接入各大模型的能力,我这边随机选了个豆包,然后快速对接了一下,很顺利,一把过,现在文档的快速入门还是很ok的,在此记录一下过程,给宝子们参考…

Failed to start The PHP FastCGI Process Manager.

报错如下: Job for php-fpm.service failed because the control process exited with error code. See "systemctl status php-fpm.service" and "journalctl -xe" for details. 2月 25 21:49:00 nginx systemd[1]: Starting The PHP FastC…

【HarmonyOS Next】鸿蒙应用折叠屏设备适配方案

【HarmonyOS Next】鸿蒙应用折叠屏设备适配方案 一、前言 目前应用上架华为AGC平台,都会被要求适配折叠屏设备。目前华为系列的折叠屏手机,有华为 Mate系列(左右折叠,华为 Mate XT三折叠),华为Pocket 系列…

coze生成的工作流,发布后,利用cmd命令行执行。可以定时发日报,周报等。让他总结你飞书里面的表格。都可以

coze生成的工作流,发布后,利用cmd命令行执行。可以定时发日报,周报等。让他总结你飞书里面的表格。都可以。 很简单。 准备工作,先发布你的工作流,和发布应用。 然后,点击扣子API 。 申请一个&#xff0…

【原创】Ubuntu 24搭建Ollama+ DeepSeek局域网服务器

安装Ubuntu 服务器 通过ubuntu官网下载ubuntu 24服务器版本 刻录光盘(也可以使用U盘) 用光盘启动PC机器(必须是带显卡的PC机,包括集成Intel显卡的也行,纯CPU计算的服务器基本上不能使用) 最小化安装Ubuntu…

25年前端如何走的更稳

2025年,随着deepseek引起的AI大模型技术的深度革命,带来了很多机会和挑战,前端程序员作为互联网里一个普通但必不可少的岗位,在当前形势下,需要主动变革才能走的更稳。本文简单介绍三个方向,Web3前端、全栈…

Ubuntu+deepseek+Dify本地部署

1.deepseek本地部署 在Ollama官网下载 需要魔法下载 curl -fsSL https://ollama.com/install.sh | sh 在官网找到需要下载的deepseek模型版本 复制命令到终端 ollama run deepseek-r1:7b 停止ollama服务 sudo systemctl stop ollama # sudo systemctl stop ollama.servi…

【PyTorch][chapter-33][transformer-5] MHA MQA GQA, KV-Cache

主要翻译外网: 解剖Deep Seek 系列,详细见参考部分。 目录: Multi-Head Attention (MHA) KV-Cache KV-Cache 公式 Multi-Query Attention(MQA) Grouped-Query Attention(GQA) Multi-Head Latent Attention …

Spring Boot 流式响应豆包大模型对话能力

当Spring Boot遇见豆包大模型:一场流式响应的"魔法吟唱"仪式 一、前言:关于流式响应的奇妙比喻 想象一下你正在火锅店点单,如果服务员必须等所有菜品都备齐才一次性端上来,你可能会饿得把菜单都啃了。而流式响应就像贴…

记录Liunx安装Jenkins时的Package ‘jenkins‘ has no installation candidate

1、确保是否安装了Java,如果没有,可通过以下命令进行安装: sudo apt update sudo apt install openjdk-21-jre2、安装Jenkins sudo apt update sudo apt install jenkins执行sudo apt install jenkins时,可能会出现 意思是&…

Windows用户如何零成本迁移Sketch项目?2025实测方案推荐

在设计领域,Sketch一直是UI/UX设计师的不二之选。它凭借简洁的界面、强大的矢量绘图功能深受设计师们的喜爱。尽管有着广泛的应用和众多优势,但Sketch仅支持MacOS系统,这对于Windows用户来说是一个巨大的限制。 然而,随着设计需求…

通过百度构建一个智能体

通过百度构建一个智能体 直接可用,我不吝啬算力 首先部署一个模型,我们选用deepseek14 构建智能体思考步骤,甚至多智能体; from openai import OpenAIclass Agent:def __init__(self, api_key, base_url, model

【K8S】Kubernetes 基本架构、节点类型及运行流程详解(附架构图及流程图)

Kubernetes 架构 k8s 集群 多个 master node 多个 work nodeMaster 节点(主节点):负责集群的管理任务,包括调度容器、维护集群状态、监控集群、管理服务发现等。Worker 节点(工作节点):实际运…