基本思路:增加冗余位。
分组码:将信息序列以 k 为长度进行等长划分,然后按规则添加一定数目冗余位的编码方法
线性分组码:信息位和校验位之间满足线性关系的分组码
线性分组码的参数: n 为码字的长度,也就是编码后的总长度;k 是信息比特的长度,也就是原始消息的比特数
c 是 n 维码矢量(这里写成行向量),m 是 k 维信息矢量,G 是生成矩阵
码率:
当 G 给定的时候,线性分组码有以下性质:
- 零向量一定是一个码字,称为零码字
- 任意两个码字的和或者差一定仍是一个码字
- 任意码字 c 是 G 的行向量的线性组合
- 线性分组码的最小距离等于最小非零码字重量
译码部分
对于一个 上的 生成矩阵 ,必然存在一个 的矩阵
这意味着任何一个合法的码字 c 与 相乘的时候结果必然是全零向量
系统码
为了更加好看,我们对 G 进行约束,得到:系统码
检错能力
若最小码距为 ,那么线性分组码可以
- 可以检测出任意小于等于 个 bit 的差错:任何小于等于 个的变化都不会成为一个新的合法码字(最小码距决定了)
- 可以纠正任意小于等于 个 bit 的差错:对每一个合法码字为中心画一个以码字为中心,半径为 的“球”,这个时候它们彼此不重叠,任何一个在球中出现的差错都能被纠正到球心
- 检错和纠错能力之和有上限 :一个码字不能够在作为 a 作为检验出差错的同时,落在另一个 b 的确定纠错范围内。如果这个发生的话,那就会产生纠错和检错的不一致,也就是误纠
线性分组码的最小码距为 为 中最小的、列线性相关的列数:一定能够找到一个合法码字乘以 H 得到 0。
同时,既然我们一定能够找到 个线性无关的列向量在 中,则一定有 (线性相关数不能超过空间维数),这个最小码距称之为汉明界。
若 ,相应的码为 极大最小距离码