news 2026/6/10 12:47:41

通信原理篇---第一类部分响应的预编码和相关编码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
通信原理篇---第一类部分响应的预编码和相关编码

我们用「事先打暗号的猜谜游戏」来彻底讲懂预编码和相关编码,你会惊叹于它们的巧妙。


核心比喻:猜数字游戏

假设我们要玩一个游戏:我快速报出一串数字给你听,你要猜出我心中原始的数字序列。

但是有个讨厌的规则:我每次报出的数字,不是我心中的数字本身,而是「我心中的数字 + 你刚猜出的那个数字」的总和。

举个例子

  • 我心中的数字序列是:1 0 1 1 0

  • 如果按规则报数,第一个数我报1(因为前面没猜数,默认为0,1+0=1

  • 你猜出第一个是1

  • 第二个数,我心中的是0,但我要报0 + 你刚猜的1 = 1

  • 你听到1,但你知道规则,就会算:听到的1 - 你刚猜的1 = 0,正确!

  • 第三个数,我心中的是1,我要报1 + 你刚猜的0 = 1

  • 你听到1,算:1 - 0 = 1,正确!

这个游戏能玩下去的关键在于:你总是知道规则,并且总能记住自己刚猜的数字来做减法。

这个「游戏规则」,就是通信中的「相关编码」
而我根据规则提前调整要报的数,就是「预编码」


分解讲解

第一部分:相关编码 —— 「制定游戏规则」

相关编码就是故意引入一个已知的、固定的数学关系

在我们的游戏中,规则是:我报出的数 R_k = 我心中的数 D_k + 你刚猜的数 A_{k-1}

在真实通信中,最常见的规则就是第一类部分响应:R_k = D_k + D_{k-1}(接收值 = 当前发送值 + 前一个发送值)。

相关编码的作用

  1. 控制干扰:把随机不可控的码间干扰,变成规则可控的“游戏规则”。

  2. 塑造频谱:通过设计不同的规则(系数),可以让信号的频谱变得又“瘦”又“好看”,节省带宽。

  3. 简化接收:因为规则固定,接收端只需要做简单的减法或模运算就能还原。


第二部分:预编码 —— 「游戏开始前的作弊小抄」

但上面的游戏有个致命问题:如果我心中的数字是1 1,按规则:

  • 第一个报1

  • 第二个要报1 + 你刚猜的1 = 2
    如果你听成了31,整个链子就断了,而且会连环错下去。

解决办法:在游戏开始前,我不直接用心中的原始数字玩,而是先根据规则,把原始数字转换成另一套数字

转换方法(以模2预编码为例)

  • 设转换后的序列为P_k

  • 规则:P_k = 原始数字 D_k ⊕ P_{k-1}(⊕表示异或,相同为0,不同为1)

  • 然后我用P_k去玩上面的报数游戏。

神奇的效果
经过这个转换后,在接收端,你不再需要做减法,只需要看我报出的数是奇数还是偶数,就能直接知道原始数字!

  • 如果我报出的是偶数(比如0, 2)→ 你直接猜原始数字是0

  • 如果我报出的是奇数(比如1, 3)→ 你直接猜原始数字是1

预编码的作用

  1. 消除差错传播:接收端每个判断都是独立的,猜错一个不影响下一个。

  2. 简化判决:从需要做“减法并记忆”变成简单的“奇偶判断”。

  3. 实现模运算:把三进制值(0,1,2)映射回二进制判决。


全过程图解

让我们用第一类部分响应 ([1, 1]) 为例,看看预编码+相关编码如何完美配合:

关键点

  1. 发送端:原始数据 → 预编码 → 相关编码 → 发送

  2. 接收端:接收 → 模2判决(奇偶判断)→ 直接得到原始数据

图解说:这个「黄金组合」巧妙在哪里?

发送端的智慧(三步走):

  1. 原始数据[1, 0, 1, 1, 0]

  2. 预编码:通过异或运算转换成[1, 1, 0, 1, 1]

    • 这是关键准备,为后续简化接收做准备

  3. 相关编码:按照[1, 1]规则,得到发送序列[1, 2, 1, 1, 2]

    • 注意这里出现了2(三电平信号)

接收端的简单(一步判断):

  • 收到[1, 2, 1, 1, 2]

  • 只看奇偶:奇数→1,偶数→0

  • 直接得到:[1, 0, 1, 1, 0]

魔法时刻对比:

步骤无预编码(只有相关编码)有预编码(黄金组合)
接收端操作需要做R_k - 前一个输出值
需要记忆,容易连环错
只需判断奇偶
无需记忆,独立判断
差错影响错一个,后面全错(差错传播)错一个只错一个(差错隔离)
实现复杂度接收端复杂发送端稍复杂,接收端极简

核心思想一句话

预编码是「提前布局」,相关编码是「按规则出牌」,接收端的奇偶判断是「简单解密」——三者配合,把复杂的抗干扰通信变成了优雅的数学游戏。


一个具体数字例子

假设原始数据:D = [1, 0, 1, 1, 0]

第1步:预编码(设初始P_0 = 0,使用异或)

  • P1 = D1 ⊕ P0 = 1 ⊕ 0 = 1

  • P2 = D2 ⊕ P1 = 0 ⊕ 1 = 1

  • P3 = D3 ⊕ P2 = 1 ⊕ 1 = 0

  • P4 = D4 ⊕ P3 = 1 ⊕ 0 = 1

  • P5 = D5 ⊕ P4 = 0 ⊕ 1 = 1

  • 预编码后P = [1, 1, 0, 1, 1]

第2步:相关编码(规则:T_k = P_k + P_{k-1},设P_0 = 0

  • T1 = 1 + 0 = 1

  • T2 = 1 + 1 = 2

  • T3 = 0 + 1 = 1

  • T4 = 1 + 0 = 1

  • T5 = 1 + 1 = 2

  • 发送序列T = [1, 2, 1, 1, 2]

第3步:接收端模2判决(奇数→1,偶数→0)

  • 1(奇) → 1

  • 2(偶) → 0

  • 1(奇) → 1

  • 1(奇) → 1

  • 2(偶) → 0

  • 最终输出[1, 0, 1, 1, 0]✅ 与原始数据完全一致!


为什么需要这对「黄金组合」?

只有相关编码(无预编码)相关编码 + 预编码
接收端需要做减法和记忆接收端只需奇偶判断
差错会传播:错一个,后面全错差错不传播:错一个只影响自己
实现相对简单,但可靠性低发送端稍复杂,但接收端简单可靠

现代通信的选择:几乎总是使用「预编码 + 相关编码」组合,因为接收端的简化带来的可靠性提升远远值得。


一句话总结

相关编码制定规则:「我发出的信号会是当前值和前值的混合」。
预编码提前布局:「我先调整原始数据,让你收到混合信号后,能用最简单的方式(看奇偶)猜出我的原意」。

它们是一对黄金搭档,把复杂的「抗干扰+省带宽」问题,变成了一个优雅的「打暗号猜谜游戏」。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 10:42:24

学霸同款2026 AI论文网站TOP8:本科生毕业论文神器测评

学霸同款2026 AI论文网站TOP8:本科生毕业论文神器测评 2026年学术写作工具测评:为何选择这些AI论文网站? 随着人工智能技术的不断进步,越来越多的本科生开始依赖AI工具辅助毕业论文的撰写。然而,面对市场上琳琅满目的A…

作者头像 李华
网站建设 2026/6/10 10:46:44

AI测试数据集构建:工程化实践与质量保障体系

一、AI测试数据的独特性与挑战 与传统测试数据的本质差异 三维验证需求:模型精度、鲁棒性、伦理合规性(如GDPR/《生成式AI服务管理办法》) 对抗性样本必要性:FGSM攻击样本覆盖率需≥15%(IEEE标准ISO/IEEE 29119-11:20…

作者头像 李华
网站建设 2026/6/10 12:12:59

从0到1:新手如何高效克隆一个Demo代码仓库!

每一个开发者都曾从克隆第一个代码仓库开始自己的技术旅程。对于新手来说,掌握这一基础技能至关重要。本文将聚焦于实际操作,手把手引导你完成Demo仓库的克隆,迈出编程实践的关键一步。 一、下载模组的示例代码 下载示例代码到一个合适的项目…

作者头像 李华
网站建设 2026/6/10 10:42:55

Cadence 1.8V LDO电路设计之旅

cadance 1.8v LDO电路 cadance virtuoso 设计 模拟电路设计 LDO带隙基准电路设计 带设计报告(14页word) 基于tsmc18工艺,模拟ic设计 bandgapLDO 1.8v LDO电路 包含工程文件和报告 可以直接打开在模拟电路设计的领域中,Cadence Vir…

作者头像 李华
网站建设 2026/6/7 16:06:54

SpringBoot的高校宣讲会管理系统

博主介绍:✌ 专注于Java,python,✌关注✌私信我✌具体的问题,我会尽力帮助你。一、研究目的本研究旨在设计并实现一个基于SpringBoot的高校宣讲会管理系统,以提升高校宣讲会的组织效率和管理水平。具体研究目的如下: 首先&#xf…

作者头像 李华