資源簡介
CRC編碼的matlab仿真,內含文檔和代碼。

代碼片段和文件信息
function?[?out?]?=?check_CRC(?varargin?)
%CRC校驗碼檢驗程序
%???輸入:data:接收碼
%?????????gen:多項式
%???輸出:1為校驗正確,0為錯誤
%???舉例:check_CRC([1010011][1011]);
%???同樣支持字符輸入和數組輸入,如
%???check_CRC([1010011][1011]);
%???check_CRC(‘1010011‘‘1011‘);
[datagen]?=?parse_inputs(varargin{:});
dlen?=?length(data);
len?=?length(gen);
num?=?0;
while?gen(1)?==0????????%去除多項式開頭0項
???gen?=?gen(2:len);
???len?=?length(gen);
end
crc?=?data(1:len-1);
for?i?=?len:dlen
????crc(len)?=?data(i);
????if?crc(1)
????????crc?=?xor(crc(2:len)gen(2:len));%異或運算,相當于除法
????else
????????crc?=?crc(2:len);
????end
end
n?=?length(crc);
for?j?=?1:n
????num?=num?+?crc(j)*10^(n-j);
end
if?num?==0
????out?=?1;
????msgbox(‘傳輸過程正確!‘‘提示信息‘‘help‘‘modal‘);
else
????out?=?0;
????msgbox(‘傳輸過程出現錯誤!‘‘提示信息‘‘help‘‘modal‘);
end
end
%--------------------------------------------------------------------------
function?[datagen]?=?parse_inputs(varargin)
if?nargin?==?0
????error(message(‘必須輸入參數‘));
elseif?nargin?==?1
????error(message(‘必須輸入2個參數(接收數碼與多項式)‘));
elseif?nargin?==?2
????if?ischar(varargin{1})?==?1
????????n?=?length(varargin{1});
????????temp?=?varargin{1};
????????data?=?zeros(1n);
????????for?i?=?1:n
???????????data(i)?=?str2double(temp(i));
????????end
????else
????????if?length(varargin{1})?==?1
????????????temp?=?num2str(varargin{1});
????????????n?=?length(temp);
????????????data?=?zeros(1n);
????????????for?i?=?1:n
????????????????data(i)?=?str2double(temp(i));
????????????end
????????else
????????????data?=?varargin{1};
????????end
????end
????
????if?ischar(varargin{2})?==?1
????????n?=?length(varargin{2});
????????temp?=?varargin{2};
????????gen?=?zeros(1n);
????????for?i?=?1:n
???????????gen(i)?=?str2double(temp(i));
????????end
????else
????????if?length(varargin{2})?==?1
????????????temp?=?num2str(varargin{2});
????????????n?=?length(temp);
????????????gen?=?zeros(1n);
????????????for?i?=?1:n
????????????????gen(i)?=?str2double((temp(i)));
????????????end
????????else
????????????gen?=?varargin{2};
????????end
????end
end
end
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2229??2016-05-19?16:51??CRC\check_CRC.m
?????文件??????30195??2016-05-08?23:12??CRC\CRC.docx
?????文件???????2487??2016-05-19?16:53??CRC\generate_CRC.m
?????目錄??????????0??2016-05-19?16:54??CRC
-----------?---------??----------?-----??----
????????????????34911????????????????????4
- 上一篇:小波閾值圖像去噪,可以matlab運行!
- 下一篇:混沌神經網絡
評論
共有 條評論