資源簡介
循環(huán)碼編碼跟解碼,matlab實現(xiàn)。出錯糾正。

代碼片段和文件信息
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為余數(shù),y為分子,g為分母
????s=mod(b2);?????????????????%取余?
????y(i:)=y(i:)+s;
????y(i:)=mod(y(i:)2);
end
????
y(43)?=?0;?????%使y(4:)的a4發(fā)生錯碼
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??循環(huán)碼matlab代碼.m
- 上一篇:OMP算法對圖像恢復
- 下一篇:buck電路的開環(huán)仿真
評論
共有 條評論