crc校验码MATLAB和FPGA实现

2020-12-24 16:36

32位crc校验码用MATLAB语言和FPGA语言实现的程序代码

1.掌握按字节编码的过程,试着写出CRC 校验编码的Matlab 程序?

%main program % the function is proposed for adding crc bits to clear all; the input sequence input=[1 1 0 0] k = size(input,2); CRC_Number=[3 8 12 16]; generator = zeros(1,crc_no+1); for crc_index = 1:size(CRC_Number,2) output = zeros(1,k+crc_no); crc_no = CRC_Number(crc_index) switch crc_no output = crc_add(input, crc_no) case 3 [output_after_check, indicate] generator = [1 0 1 1]; =crc_check(output,crc_no) case 8 end generator = [1 1 0 0 1 1 0 1 1]; %D^8+D^7+D^4+D^3+D+1 function [ output, indicate] = crc_check( input, case 12 crc_no ) % the function is proposed for deleting crc bits from the input sequence n = size(input,2); generator = zeros(1,crc_no+1); output = zeros(1,n-crc_no); switch crc_no case 3 generator = [1 0 1 1]; case 8 generator = [1 1 0 0 1 1 0 1 1]; %D^8+D^7+D^4+D^3+D+1 case 12 generator = [1 1 0 0 0 0 0 0 0 1 1 1 1]; %D^12+D^11+D^3+D^2+D+1 case 16 generator = [1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1]; %D^16+D^12+D^5+1 case 24 generator = [1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1]; %D^24+D^23+d^6+D^5+D+1 otherwise fprintf('\nPlease the number of crc bits should be 8 12 16 24\n'); end

output = input(1:n-crc_no); for ii = 1:n-crc_no if(input(1) == 1) input(1:crc_no+1) = mod((input(1:crc_no+1)+generator),2); end

input = [input(2:end) input(1)]; end

if sum(input) == 0 indicate = 0; else

indicate = 1; end

function [ output ] = crc_add( input, crc_no )

generator = [1 1 0 0 0 0 0 0 0 1 1 1 1]; %D^12+D^11+D^3+D^2+D+1 case 16 generator = [1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1]; %D^16+D^12+D^5+1 case 24 generator = [1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1]; %D^24+D^23+d^6+D^5+D+1 otherwise fprintf('\nPlease the number of crc bits should be 8 12 16 24\n'); end

output(1:k)=input; for ii = 1:k if(output(1) == 1) output(1:crc_no+1) = mod((output(1:crc_no+1)+generator),2); end

output = [output(2:end) output(1)]; end output = [input output(1:crc_no)];


crc校验码MATLAB和FPGA实现.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:东方和西方的科学教案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: