二进制分组码与BCH码详解
1. CRC - CCITT码
CRC - CCITT码是一种重要的循环冗余校验码,其生成多项式为:
[g(X)=X^{16}+X^{12}+X^{5}+1=(X + 1)(X^{15}+X^{14}+X^{13}+X^{12}+X^{4}+X^{3}+X^{2}+X + 1)]
这是一个((k + 16, k))码,最小距离(d_{min}=4)。该码能够纠正单个错误,同时检测两个错误,或者检测多达三个错误。码字是通过在原始消息后附加16位奇偶校验位形成的。
下面通过MATLAB实验来演示CRC - CCITT码的生成和校验过程:
m = [1 1 1 0 0 1 0 0 1 0 1 1 0 0 1 0];
g = [1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1]; % 生成多项式
crc = crcchk(m,g);
crc
运行上述代码后,得到的 crc 结果为 1 1 1 0 1 0 1 1 0 1 1 1 0 1 0 0 。将奇偶校验位附加到消息后,完整的码字为 (111010110111010|01110010010110110) 。如果传输过程中没有错误发生,进行如下校验:
r = [1 1 1 0 1 0 1 1 0 1 1 1 0 1 0 0 1 1 1 0 0 1 0 0 1 0 1 1 0 0 1 0];
crc = crcchk
超级会员免费看
订阅专栏 解锁全文
1758

被折叠的 条评论
为什么被折叠?



