差错控制编码(Error Control Coding)是数字通信中提高传输可靠性的重要技术

差错控制编码(Error Control Coding)是数字通信中提高传输可靠性的重要技术,通过在原始信息中引入冗余比特,使接收端能够检测甚至纠正传输过程中发生的错误。


一、差错控制方式

根据编码和反馈机制的不同,主要有以下四种差错控制方式:

方式名称工作原理特点
1检错重传(ARQ)
(Automatic Repeat reQuest)
发送端编码仅用于检错;接收端发现错误后请求重发需反馈信道,时延大,但效率高
2前向纠错(FEC)
(Forward Error Correction)
编码具备纠错能力,接收端自动纠正一定数量的错误无需重传,适合单向通信
3混合纠错(HEC)
(Hybrid Error Correction)
结合 FEC 和 ARQ:先尝试纠错,失败则请求重发兼顾效率与可靠性
4信息反馈(IF)接收端将接收到的数据原样回传给发送端进行比对简单但开销大,较少使用

✅ 实际系统如 Wi-Fi 使用 ARQ + FEC 混合机制。


二、检错和纠错的基本原理

1. 基本思想
  • 在 $ k $ 位信息位后添加 $ r $ 位冗余位,构成一个长度为 $ n = k + r $ 的码字
  • 所有合法码字构成一个有限集合,非法组合表示出错。
2. 码距(Hamming Distance)
  • 两个等长码字之间不同比特位的数量称为汉明距离
  • 一组码中任意两个合法码字之间的最小距离称为最小码距 $ d_{\min} $
3. 码距与检错/纠错能力的关系
目标所需最小码距 $ d_{\min} $条件公式
检测 $ e $ 个错误$ d_{\min} \geq e + 1 $可识别最多 $ e $ 位错误
纠正 $ t $ 个错误$ d_{\min} \geq 2t + 1 $能自动纠正最多 $ t $ 位错误
同时检错 $ e $ 并纠错 $ t $$ d_{\min} \geq e + t + 1 $
且 $ e > t $
如 $ d_{\min}=5 $:可纠1错并检3错

📌 示例:若 $ d_{\min} = 3 $,则:

  • 最多可检 2 个错误($ e = d_{\min}-1 = 2 $)
  • 或最多可纠 1 个错误($ t = \lfloor (d_{\min}-1)/2 \rfloor = 1 $)

三、主要编码类型分类

1. 分组码(Block Code)
  • 将信息分为固定长度的 $ k $ 位块,每个块独立编码成 $ n $ 位码字
  • 记作 $ (n, k) $ 分组码
  • 常见例子:汉明码 $ (7,4) $、BCH码、RS码(里德-所罗门码)
  • 优点:结构清晰,易于分析和实现
2. 卷积码(Convolutional Code)
  • 编码结果不仅取决于当前输入的信息位,还依赖于前若干个输入位(记忆性)
  • 用 $ (n, k, K) $ 表示:每输入 $ k $ 位,输出 $ n $ 位,约束长度为 $ K $
  • 常用于语音通信、卫星通信
  • 解码常用维特比算法(Viterbi Algorithm)
3. 线性码 vs 非线性码
  • 线性码:任意两个合法码字的模2加仍是合法码字
    • 包括:汉明码、BCH码、RS码、卷积码等
    • 易于数学分析,广泛使用
  • 非线性码:不满足线性性质,设计复杂,应用较少
4. 系统码 vs 非系统码
  • 系统码:编码后的码字中明确包含原始信息位,后跟校验位
    • 如:[信息位][校验位]
    • 便于解码和兼容性处理,实际系统多采用
  • 非系统码:信息位被变换,不再直接出现在码字中
    • 安全性好,但解码复杂

四、典型编码举例对比

编码类型参数$ d_{\min} $检错/纠错能力应用场景
汉明码(7,4)3纠1错内存纠错、简单通信
BCH码(63,51)5纠2错卫星通信、光通信
RS码(255,239)17纠8字节错CD/DVD、深空通信
卷积码(2,1,7)~10(自由距离)纠突发错误GSM、GPS、4G/5G

五、总结

概念核心要点
差错控制目标提高通信可靠性,降低误码率
关键指标最小码距 $ d_{\min} $ 决定纠错检错能力
分组码特点固定长度、独立编码、结构规整
卷积码特点有记忆、连续编码、适合维特比译码
线性码优势数学工具丰富,易构造和译码
系统码优势信息可见,便于解析和兼容

汉明距离(Hamming Distance) 是指两个等长码字之间在相同位置上不同比特的个数。它是衡量两个编码序列差异程度的基本度量,在差错控制编码中用于分析检错和纠错能力。


一、定义

汉明距离:对于两个长度相同的二进制序列(码字),它们的汉明距离等于对应位中不相同的位置数目。

记作:
d(c1,c2) d(\mathbf{c}_1, \mathbf{c}_2) d(c1,c2)
其中 $ \mathbf{c}_1 $ 和 $ \mathbf{c}_2 $ 是两个等长码字。


二、计算方法

步骤:
  1. 将两个码字按位对齐;
  2. 比较每一位是否相同;
  3. 统计不同的位数,即为汉明距离。
示例:

设两个码字为:

  • $ \mathbf{c}_1 = 10110 $
  • $ \mathbf{c}_2 = 11100 $

逐位比较:

位序12345
c₁10110
c₂11100
是否相同

不同位出现在第 2 位和第 4 位 → 共 2 处

所以:
d(c1,c2)=2 d(\mathbf{c}_1, \mathbf{c}_2) = 2 d(c1,c2)=2


三、模2加法与异或运算(XOR)

汉明距离也可以通过模2加法(异或,XOR) 来快速计算:

c1⊕c2=(1⊕1)(0⊕1)(1⊕1)(1⊕0)(0⊕0)=01010 \mathbf{c}_1 \oplus \mathbf{c}_2 = (1\oplus1)(0\oplus1)(1\oplus1)(1\oplus0)(0\oplus0) = 01010 c1c2=(11)(01)(11)(10)(00)=01010

结果中有 两个 1,说明有两位不同 → 汉明距离 = 2

✅ 因此:汉明距离 = 异或结果中“1”的个数 = 汉明重量(Hamming Weight)


四、最小汉明距离(Minimum Hamming Distance)

在一个编码方案中,所有合法码字两两之间的汉明距离的最小值称为最小码距 $ d_{\min} $:

dmin⁡=min⁡ci≠cjd(ci,cj) d_{\min} = \min_{\mathbf{c}_i \neq \mathbf{c}_j} d(\mathbf{c}_i, \mathbf{c}_j) dmin=ci=cjmind(ci,cj)

这是决定该编码检错和纠错能力的关键参数

目标所需 $ d_{\min} $
检测 $ e $ 个错误$ d_{\min} \geq e + 1 $
纠正 $ t $ 个错误$ d_{\min} \geq 2t + 1 $

📌 例如:若 $ d_{\min} = 3 $,则可纠正 1 位错误或检测 2 位错误。


五、应用意义

应用场景汉明距离的作用
差错检测判断接收码是否为合法码字(若不在码集内,则出错)
差错纠正找到与接收码汉明距离最近的合法码字(最近邻译码)
编码设计设计具有足够 $ d_{\min} $ 的码以满足可靠性要求
生物信息学比较DNA序列差异
计算机科学哈希算法、容错系统中的相似性判断

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bol5261

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值