MATLLAB做CRC校验码
以下代码就是CRC校验码出题和解题的全部思路
clear all;
msg=[1,1,1,0,0,0,1,1]; %信息序列
poly=[1,1,0,0,1,1];%生成多项式
[M N]=size(poly);%生成多项式大小,M=1没用到,N是生成多项式阶数
msgTMP=[msg zeros(1,N-1)];%msg后添上(N-1)个零
[q r]=deconv(msgTMP,poly);%q为商,r为余数
r=mod(abs(r),2); %进行模2处理
crc=r(end-N+2 :end);%CRC校验码
frame=[msg crc];%最后发送的序列
%frame(1)=~frame(1);
[qt rt]=deconv(frame,poly);
rt=mod(abs(rt),2);