求解[n, n−1, 2]奇偶校验码的生成矩阵与奇偶校验矩阵
求解[n, n−1, 2]奇偶校验码的生成矩阵与奇偶校验矩阵
别担心,这个码的结构其实很直观,咱们一步步拆解就能搞清楚啦~
首先先明确这个奇偶校验码的核心规则:长度为n-1的二进制消息,编码时会额外加一个校验位——这个校验位是前面所有消息位的模2和(也就是二进制异或的结果)。
一、生成矩阵G的推导
你已经知道系统形式的生成矩阵是 [I_k | A_{k×(n−k)}],其中k=n-1,我们只需要确定A矩阵:
I_k是(n-1)×(n-1)的单位矩阵,这部分对应直接保留原始的消息位,很好理解。- 关键的A矩阵:生成矩阵的每一行对应一个“基础码字”——比如第i行对应的消息是「第i位为1,其余位为0」的二进制串。按照编码规则,这个消息的校验位是1(因为只有第i位是1,模2和就是1)。所以A是一个(n-1)×1的全1列向量。
举个n=4的具体例子,生成矩阵G就是:
1 0 0 1 0 1 0 1 0 0 1 1
二、奇偶校验矩阵H的推导
奇偶校验矩阵H的维度是(n−k)×n,这里n−k=1,所以是1行n列的矩阵:
- 对于系统码,H可以通过G推导得到,形式为
[A^T | I_{n−k}](模2运算里负号和正号等价,不用纠结符号)。 - A是全1列向量,转置后就是全1行;
I_{1}就是单个元素1。所以H就是一个全1的行向量:[1 1 ... 1 1](一共n个1)。
你可以验证一下:把G和H的转置相乘,每一行的点积都是「消息位的1」+「校验位的1」=0(模2),完全满足 G·H^T = 0 的校验矩阵要求。
从校验方程的角度理解更直接:这个码的校验规则就是整个码字的所有位异或和为0,而H的行向量正好对应这个校验方程,完美匹配。
备注:内容来源于stack exchange,提问作者Cooper Brian
相关产品推荐
相关产品推荐

