# 汉明码

> 在电信领域中，汉明码（英语：hamming code），也称为海明码，是(7,4)汉明码推广得到的一种线性纠错码，由理查德·卫斯里·汉明于1950年发明。相比而言，简单的奇偶检验码除了不能纠正错误之外，也只能侦测出奇数个的错误。汉明码是完备码，它在于它分组长度相同、最小距离为3的码中能达到最高的码率。用数学术语来说，汉明码是一种二元线性码。

- ID: m06091
- 分类: system
- 领域: 系统论

## 定义

一种线性纠错码。通过在数据中加入特定的冗余位（校验位），不仅能检测出错误，还能自动纠正一位错误。脚手架作用： 容错的冗余设计。为了保证信息的准确传输（或系统的稳定性），必须引入精心设计的冗余。这种冗余不是浪费，而是为了在出现不可避免的干扰（位翻转）时，系统具有自我修复的数学能力。

## 机制

在2^k个位置中预留校验位（位于2的幂次位置），每个校验位覆盖一组特定数据位，通过奇偶校验值可定位出错的比特并翻转纠正。用少量冗余换取单比特错误的自修复能力。

## 练习

设计容错系统时，按数据长度插入恰当数量的校验位；接收端重算校验方程，若非零则得到的syndromes直接指出错误位号并纠正。工程中用于内存ECC、通信校验。映射到组织：关键流程设交叉核对点。

## 脚手架用法

容错的冗余设计。为了保证信息的准确传输（或系统的稳定性），必须引入精心设计的冗余。这种冗余不是浪费，而是为了在出现不可避免的干扰（位翻转）时，系统具有自我修复的数学能力。

[阅读网页](https://thinkingmodels.site/entries/detail/m06091)
