7、二进制分组码与BCH码详解

二进制分组码与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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值