Skip to content
难度基础(★)
建议时长30分钟
本课难点
  • 检错与纠错的概念区分(能发现 vs 能定位并修正)
  • 码距 d 与检错/纠错能力的对应关系(d-1 与 $⌊ (d-1)/2 ⌋$)
  • 海明码“插入校验位”的结构与其它校验方式的差异

1.2.1 校验码概述

本课核心知识点手绘速记(SVG)

📝 学习目标

  • 理解“为什么要加校验码”:传输/存储中比特可能翻转
  • 掌握校验码的核心思想:增加冗余信息帮助发现/定位错误
  • 区分“检错”和“纠错”
  • 了解码距(Hamming distance)与能力关系

🎯 知识点

1) 为什么需要校验码

计算机/通信传递的是二进制信号(0/1)。传输过程中如果 0 变 1 或 1 变 0,就发生错误。

校验码的做法:

  • 在原始信息位后(或前/中间)增加若干校验位(冗余位)
  • 接收方用同样规则重新计算并比对,从而发现错误

2) 检错 vs 纠错

  • 检错(Error Detection):能发现“有错”,但不一定知道“错在哪”
  • 纠错(Error Correction):不仅能发现错误,还能定位错误位并修正

课堂强调:

  • 奇偶校验:一般只能检错(且有局限)
  • CRC:检错强,但一般不纠错
  • 海明码:常见的“既可检错也可纠错”

3) 码距(码字间最小距离)

  • 两个码字之间的码距:对应位不同的个数
  • 最小码距 d 决定能力:
    • 能检错:最多可检出 d-1 位错
    • 能纠错:最多可纠 (d1)/2 位错

软设经常以“通过扩大码距实现校验”作为概念点出现。

🧠 难点与易错点

  • 易错1:把“能检错”误当成“能纠错”
  • 易错2:不知道“校验位插入位置”对能力的影响(典型:海明码是插入在信息位中间,不是简单拼接)

🔑 关键词解释

  • 冗余位(Redundancy bits):为校验而增加的额外位。
  • 码字(Codeword):信息位+校验位组成的整体。
  • 生成规则:发送方/接收方事先约定的校验算法(如奇偶规则、生成多项式等)。

🔍 联想扩展(软设关联)

  • “校验码”不仅用于通信,也用于存储(磁盘、内存、网络帧等)。
  • CRC 的生成多项式需要“双方约定”,题干常直接给出或隐含。
  • 海明码常考:校验位个数公式、校验位位置(1,2,4,8,...)。

🧪 例题(按难度)

简单(3题)

单选
在校验码的语境中,“码字(codeword)”通常指:
单选
两个码字之间的“码距(Hamming distance)”定义为:
单选
若某编码的最小码距为 d=2,则其能力最合理的描述是:

中级(3题)

例题1(概念判断)

下列关于校验码的说法正确的是:

单选
选择正确说法:

例题2(检错/纠错区分)

下列校验方式中,通常可用于纠错的是:

单选
选择通常可用于纠错的方式:
单选
若某编码的最小码距为 d=4,则其最大检错与纠错能力分别为:

困难(1题)

填空
若某编码的最小码距为 d=5,则它最多能检错多少位、纠错多少位?

📚 本课小结

  • 校验码 = 信息位 + 冗余位
  • 检错是“发现有错”,纠错是“定位并修正”
  • 码距越大,能力越强(检错 d-1,纠错 (d1)/2