• 大小: 1KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-14
  • 语言: Matlab
  • 标签: 循环码  matlab  代码  

资源简介

循环码编码跟解码,matlab实现。出错纠正。

资源截图

代码片段和文件信息

clear all

n=7;    %码长
k=4;    %信息位

y=zeros(167);

y(1:)=[0 0 0 0 0 0 0];             
y(2:)=[0 0 0 1 0 0 0];
y(3:)=[0 0 1 0 0 0 0];
y(4:)=[0 0 1 1 0 0 0];
y(5:)=[0 1 0 0 0 0 0];
y(6:)=[0 1 0 1 0 0 0];
y(7:)=[0 1 1 0 0 0 0];
y(8:)=[0 1 1 1 0 0 0];
y(9:)=[1 0 0 0 0 0 0];
y(10:)=[1 0 0 1 0 0 0];
y(11:)=[1 0 1 0 0 0 0];
y(12:)=[1 0 1 1 0 0 0];
y(13:)=[1 1 0 0 0 0 0];
y(14:)=[1 1 0 1 0 0 0];
y(15:)=[1 1 1 0 0 0 0];
y(16:)=[1 1 1 1 0 0 0];

for i=1:16
    g=[1 1 0 1];  %生成多项式

    [ab]=deconv(y(i:)g);      %deconv两个多项式相除,a为商,b为余数,y为分子,g为分母
    s=mod(b2);                 %取余 

    y(i:)=y(i:)+s;
    y(i:)=mod(y(i:)2);
end
    

y(43) = 0;     %使y(4:)的a4发生错码

s1=[1 0 1 1 1 0 0];     
s2=[1 1 1 0 0 1 0];
s3=[0 1 1 1 0 0 1];

s11=y(4:).*s1;     
s12=y(4:).*s2;
s13=y(4:).*s3;

sum1=0;
sum2=0;
sum3=0;
for i=1:7       %判断s11、s12、s13的奇偶性,就可以判断出是为0还是为1.奇为1,偶为0
   sum1 = s11(1i) + sum1;
   sum2 = s12(1i) + sum2;
   sum3 = s13(1i) + sum3;
end

s1jiao = mod(sum12);
s2jiao = mod(sum22);
s3jiao = mod(sum32);   %判断s11、s12、s13的奇偶性,就可以判断出使为0还是为1.奇位1,偶为0

cuoma=[s1jiaos2jiaos3jiao];







 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1278  2020-03-18 21:01  循环码matlab代码.m

评论

共有 条评论