回顾信道编解码知识,我们知道信道编码要求编码具有检纠错能力,作为FEC(forward error correction)前向纠错编码的一类,线性分组码表示校验位与信息位的关系能够线性表示。
在这篇文章中,并不是要讨论信道编码的性能,而是介绍线性分组码中一个非常有趣的性质,即在一维奇偶校验码中,生成码字的校验位总是趋于均匀的,这样的均匀位使得奇偶矩阵在一些信息的生成矩阵中获得了广泛的应用。
依据上图中对一维校验矩阵的描述,可得奇偶校验位的生成方式,下面的matlab程序验证了这一性质:
matlab
clc
clear
load('test2.mat');
m=zeros(80000,3);
m=test_bit;
n=zeros(80000,1);
for i=1:80000
for j=1:3
n(i,1)=xor(n(i,1),m(i,j));
end
end
上例是用80000个三位信息数据进行奇偶校验的matlab代码,有趣的是无论导入数据test.mat中的信息序列是否均匀,通过奇偶校验得到的校验位n中的0、1分布都是近似均匀的,这一点可以通过执行命令
matlab
n_1=find(n==1);
n_0=find(n==0);
来判断,结果如下:
结果不完全均匀是由于码字长度不够长造成的
此外,有论文已经证明了奇偶校验均匀性: