串行电路的位置,有异或门的地方是1(生成多项式)
简单的来说,如果最高位Q4 为0 的话,那么直接和 0 进行异或的话,实现的也是自己本身,直接左移就可以了
如果最高是1的话,那么就要和生成多项式进行异或,这时候刚刚好把Q4作为变量进行,异或操作
有一个细节,由于生成多项式最高位都是1,但是我们不关注这个最高位,所以我们没有处理这个
接下来我们来看看并行编码思路
将需要移位的运算变成了几个常量的异或运算
crc码的码距是不确定的,选择不同的生成式的话码距是不一样的
通过这个表我们可以知道选择的生成多项式是 100101
编码:1101 000 = 1000 000 ⊕ 0100 000 ⊕ 0001 000
解码:1101 011 = 1000 000 ⊕ 0100 000 ⊕ 0001 000 ⊕ 011
因为011小于多项式,模2运算余数为本身,直接异或即可。
我们提前计算出所需要的各种余数
选择中,我们用各个位置进行判断,如果是0,则输出八位 0 ,否则输出对应的余数,现在有一个问题,奇偶码检验16位还是21位?