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

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


核心比喻:猜数字游戏

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

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

举个例子

  • 我心中的数字序列是: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]✅ 与原始数据完全一致!


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

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

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


一句话总结

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大数据集成性能测试:JMeter压测ETL任务,找出性能瓶颈

大数据集成性能测试实战:用JMeter压测ETL任务,精准定位性能瓶颈 摘要/引言:你为什么需要系统的ETL性能测试? 凌晨3点,你揉着眼睛盯着监控大屏——昨天的用户订单ETL任务还没跑完。业务部门早早就催着要“季度复购率报表”,而你只能一遍遍地刷新Spark UI,看着“Stage 3…

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

我们用「带负号的声音接力」这个游戏来彻底搞懂第四类部分响应的预编码和相关编码。这个类比会让你发现它和第一类的精妙差异。核心比喻:带负号的猜数游戏这次的游戏规则变了,更奇特:新规则:我报出的数字 我当前的数字 - 你猜的上…

JSON文件中显示为 \uXXXX 字符 的解决办法

在JSON文件中,有些字段值是直接使用汉字,而有些字段值则是以 \u 开头的字符,这是因为:✅ 正确显示的汉字:这些是正常编码的中文字符,文件保存格式为 UTF-8,浏览器或编辑器能正确识别并显示为中文…

MyBatis处理模糊查询

根据用户名模糊查询用户信息 SQLMapper package com.baidu.mybatis.mapper;import com.baidu.mybatis.pojo.User; import org.apache.ibatis.annotations.Param;import java.util.List;public interface SQLMapper {// 根据用户名模糊查询用户信息List<User> getUserB…

如何用纯 HTML 文件实现 Vue.js 应用,并通过 CDN 引入 Element UI

相关名词解释Vue.jsVue.js&#xff1a;是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建&#xff0c;提供声明式的、组件化的编程模型&#xff0c;可高效开发用户界面。具有响应式数据绑定等特性&#xff0c;能自动跟踪数据变化并更新 DOM。…

MyBatis处理批量删除

SQLMapper测试SQLMapper.xml 使用#{}&#xff0c;由于#{}在解析时候会带有单引号&#xff0c;所以会出问题应该使用${}

【无人机追踪】基于资源福利任务分配算法的无人机集群任务分配算法,完成目标攻击任务的基础上,通过优化资源分配和能耗控制附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f447; 关注我领取海量matlab电子书和数学建模资料 &#x1f34…

私有化大模型部署:企业AI落地的关键技术方案

私有化大模型部署:企业AI落地的关键技术方案 引言:为什么企业需要私有化大模型? 1. 企业的「AI落地痛点」 当企业尝试用AI解决实际问题时,公有云大模型(如GPT-4、文心一言) 往往无法满足核心需求: 数据隐私风险:金融、医疗等行业的敏感数据(如客户交易记录、患者病…

ue websocket 插件学习笔记

这个没有给连接参数怎么设置&#xff1a;

【滤波跟踪】视觉里程计VO与惯性导航系统INS外参标定的 MATLAB 代码,通过优化求解相机到INS的坐标变换(平移、旋转、尺度),实现多传感器数据融合前的外参校准

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f447; 关注我领取海量matlab电子书和数学建模资料 &#x1f34…

android16 rk3576修改音量曲线

在framework/av/services/audiopolicy/config/default_volume_tables.xml里面 修改如下: diff --git a/av/services/audiopolicy/config/default_volume_tables.xml b/av/services/audiopolicy/config/default_volume_tables.xml index 207be41aa..fab537acd 100644 --- a/a…

如何通过数据分析实现市场细分策略

如何通过数据分析实现市场细分策略 关键词:数据分析、市场细分策略、数据挖掘、聚类分析、市场定位 摘要:本文深入探讨了如何利用数据分析来实现市场细分策略。首先介绍了市场细分的背景知识,包括目的、预期读者等内容。接着阐述了市场细分的核心概念与联系,通过清晰的文本…

2025年AI应用架构师趋势:智能调度系统的4个进化方向

2025年AI应用架构师必看&#xff1a;智能调度系统的4个关键进化方向 一、引言&#xff1a;为什么智能调度是AI架构师的下一个战场&#xff1f; 1.1 痛点&#xff1a;传统调度系统的“力不从心” 你是否遇到过这样的场景&#xff1f; 外卖高峰时&#xff0c;骑手们像没头的苍蝇一…

【智能音频翻译系统】

智能音频翻译系统技术架构 一、系统概述 本系统旨在构建一套完整的智能音频翻译解决方案&#xff0c;通过蓝牙音箱作为语音交互终端&#xff0c;结合手机APP或小程序作为控制中枢&#xff0c;利用后端大模型Agent服务实现实时语音翻译功能。用户只需对着蓝牙音箱说话&#xff0…

hive分桶表出现错误:The number of buckets for table xxx is 8, whereas the number of files is 16

我们有一个表分成了8桶&#xff0c;今天早上跑批报错了&#xff0c;消息是&#xff1a; The number of buckets for table xxx is 8, whereas the number of files is 16上hdfs去查看一下&#xff0c;果然是16个文件。可是我明明只分8桶&#xff0c;为什么会有16个文件&#xf…

Android16 设置AP热点不自动关闭和热点默认设置5G

1.让ap热点不自动关闭: packages/modules/Wifi/service/ServiceWifiResources/res/values/config.xml <integer translatable="false" name="config_wifiFrameworkSoftApShutDownTimeoutMilliseconds">600000</integer> 修改为: <int…

特性与反射总结

一、概念对比特性&#xff08;Attributes&#xff09;是什么&#xff1a;给代码元素贴的"标签"或"注解" 作用&#xff1a;为代码添加额外信息&#xff08;元数据&#xff09; 时机&#xff1a;编译时和运行时都可以读取反射&#xff08;Reflection&#xf…

AI agents协作分析社交网络:评估公司的社会影响力

AI agents协作分析社交网络&#xff1a;评估公司的社会影响力关键词&#xff1a;AI agents、社交网络分析、公司社会影响力评估、协作机制、数据挖掘摘要&#xff1a;本文聚焦于利用AI agents协作分析社交网络来评估公司的社会影响力。首先介绍了研究背景、目的和预期读者等内容…

linux主机安全加固指南!

一、修改密码策略1、cp /etc/login.defs /etc/login.defs.bak2、vi /etc/login.defsPASS_MAX_DAYS 90 &#xff08;用户的密码不过期最多的天数&#xff09;PASS_MIN_DAYS 0 &#xff08;密码修改之间最小的天数&#xff09;PASS_MIN_LEN 8 &#xff08;密码最小长度&am…

2026.1.14 Linux计划任务与进程

任务进程ps查看进程选项a 显示当前终端下所有进程信息&#xff0c;包括其他用户的进程u 显示以用户为主的格式输出进程信息x 显示当前用户在所有终端下的进程信息-e 显示系统内所有进程信息-f 使用完整的格式显示进程信息-l 使用完整…