纠错编码基本实验matlab,纠错编码基本实验matlab实现包含源代码

1、已知一(10,4)线性分组码的生成矩阵为

1001110111111000111001101101011

10111100

1G ?????

?=??????

试用Matlab 求出该码的全部码字和最小汉明距离。 (1)源代码

G=[1 0 0 1 1 1 0 1 1 1;1 1 1 0 0 0 1 1 1 0;0 1 1 0 1 1 0 1 0 1;1 1 0 1 1 1 1 0 0 1]

%生成矩阵

%将生成矩阵标准化,化为典型生成矩阵

B1=G(2,:),G(2,:)=G(3,:),G(3,:)=B1; %交换第2、3行的位置

G(3,:)=(~G(3,:) & G(2,:))|(G(3,:) & (~G(2,:))); %将第2行的数据与第3行的数据进行异

或运算作新的第3行的值

G(4,:)=(~G(4,:) & G(2,:))|(G(4,:) & (~G(2,:))); %将第2行的数据与第4行的数据进行异

或运算作为新的第4行的值

G(1,:)=(~G(1,:) & G(3,:))|(G(1,:) & (~G(3,:))); %将第3行的数据与第1行的数据进行

异或运算作为新的第1行的值

G(4,:)=(~G(4,:) & G(3,:))|(G(4,:) & (~G(3,:))); %将第3行的数据与第4行的数据进行

异或运算作为新的第4行的值

B2=G(1,:),G(1,:)=G(3,:),G(3,:)=B2; %交换第1、3行的位置

G(2,:)=(~G(2,:) & G(4,:))|(G(2,:) & (~G(4,:))); %将第4行的数据与第2行的数据进行异

或运算作为新的第2行的值

G(2,:)=(~G(2,:) & G(3,:))|(G(2,:) & (~G(3,:))); %将第3行的数据与第2行的数据进行异

或运算作为新的第2行的值

G(4,:)=(~G(4,:) & G(3,:))|(G(4,:) & (~G(3,:))); %将第3行的数据与第4行的数据进行异

或运算作为新的第4行的值

B3=G(3,:),G(3,:)=G(4,:),G(4,:)=B3; %交换第3、4行的位置 %信息位码元矩阵为C

C=[0 0 0 0;0 0 0 1;0 0 1 0;0 0 1 1;0 1 0 0;0 1 0 1;0 1 1 0;0 1 1 1;1 0 0 0;1 0 0 1;1 0 1 0;1 0 1 1;1 1 0 0;1 1 0 1;1 1 1 0;1 1 1 1] %生成的含有全部码字的矩阵A A=C*G for i=1:16 for j=1:10

if (A(i,j)==2) |(A(i,j)==4) A(i,j)=0; end

if A(i,j)==3 A(i,j)=1; end end

end %由于进行乘法运算中各数是进行加和,必须改为异或运算,即使生成矩阵中只含有0和1,以上即是运用异或运算的规则进行转化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值