Appearance
5.4.6 码
5.4.6.1 控制数字
在信息论方法中提供了数据组合误差的识别和纠正方法. 一些最简单的方法可以表示为下列控制数字的形式.
1. 国际标准书号 ISBN-10
数的同余的一个简单应用是将控制数字用于国际标准书号 ISBN. 对一本书设定一个形式为
的 10 个数字的组合. 这些数字有下列意义:
若控制数字
(1) 单个数字错误;
(2) 两个数字互换.
统计研究表明用这个方法可以检测出
2. 药品和医学中的中心码
在医药学中, 一个类似的控制数字数值系统被用来验证药物. 在德国, 每个药品都设定一个 7 数字控制码:
最后一个数字是控制数字
的最小的非负数字. 在这里可发现单个数字差错或两个数字互换.
3. 账号
银行和储蓄所应用为至多 10 位数字 (这取决于营业额) 的统一的账号. 第一个 (至多 4 个) 数字用于账号的分类. 其余 6 个数字表示实际的账号, 其中包括最末位的控制数字. 个别银行和储蓄所倾向于应用不同的控制数字方法, 例如:
a) 从最右边的数字开始交错地用 2 或 1 乘各个数字. 然后取控制数字
成立.
b) 同方法 a), 但首先将两位数的积换成这两个数字的和, 然后计算总和.
在情形 a), 所有由相邻数字的互换以及几乎所有单个数字所引起的差错都可被发现.
但在情形 b), 所有由一个数字的改变以及几乎所有由于两个相邻数字的互换所引起的差错都可被发现. 这是由于两个非相邻数字的互换以及两个数字的改变所引起的差错常常不能被发现.
不应用能力更强的模 11 控制数字方法是出于非数学性的原因. 非数值符号 X(用来代替控制数字 10(参见第 512 页 5.4.6.1, 1.)要求扩充数值键盘. 但放弃控制数字为 10 的那些账号将在相当多的情形防碍原账号的平稳扩充.
4. 欧洲论文编号 EAN
EAN 用于欧洲论文编号. 在多数论文中可以发现它是一个含 13 或 8 个数字的条码或字符. 条码可以借助计算器上的扫描仪读出. 在 13 个数字符的情形, 前两个数字表示来源国, 例如, 40, 41, 42 以及 43 用于德国. 接着的 5 个数字表示作者, 再下面 5 个数字表示特别的成果. 最后的数字是控制数字
这个控制数字是这样得到的: 首先将字符的所有 12 个数字从最左一个开始交错地乘以 1 和 3,然后将所有的积相加,最后加上
成立. 这个控制数字方法总可以发现 EAN 中的单个数字差错, 并且常常能发现两个相邻数字的交换. 通常不能发现两个非相邻数字的交换以及两个数字的改变.
5.4.6.2 纠错码
1. 数据传输和差错纠正模型
在通过噪声信道传输信息时差错纠正常常是可能的. 首先将信息进行编码, 然后将传输后通常的有偏倚的码纠正为正确的码, 于是将它们译出就可重新得到原来的信息. 我们现在考虑这种情形: 信息的字长是
通常使用的纠错思想是首先将要传输的字
在数字重复的码中信息字 0 用码字 0000 表示. 如果传输后接受者得到字 0010 , 那么他假设原来的码字是 0000 , 并且将他译为信息字 0 . 但如果接受到的字是 1010 , 那么类似的假设可以不被采用, 因为信息字 1 被译作 1111, 从而差别是类似的. 至少可以辨认在收到的字中存在某个差错.
2. 纠错码
所有码字的集合称为码
对于
如果已知码
对于每个
数字重复码
3. 线性码
如果非空子集
(续)
对于每个(n, k)线性码存在生成矩阵
码由生成矩阵唯一确定; 信息字
在(n, k)线性码
如果
4. 循环码
循环码是研究得最多的线性码. 它们提供有效的编码和译码. 一个
为了有效地使用循环码,码字是通过次数
循环(n, k)线性码可以用生成多项式和控制多项式刻画如下:
给出. 如果生成多项式
一类重要的循环码是
一个
其中
对于极小距离为