一、实验目的
了解线性分组码的编译码规则,掌握利用matlab对线性分组码进行编译码仿真的分析方法。
二、实验任务
利用matlab完成(7,4)线性分组码的编译码仿真分析。利用matlab仿真软件编写程序,完成相应实验内容。
简述线性分组码的编译码规则和程序设计思路,分别给出生成矩阵、原码、校验矩阵以及编码后的结果、接收到的码字、接收码字中错误码位以及正确码字。
三、部分实验代码
clc,clear;
G1= eye(4); %生成4x4单位阵
G2= [1,0,1;1,1,1;1,1,0;0,1,1]; %约束关系
G= [G1,G2]; %生成矩阵G
fprintf('生成矩阵为:G=')
disp(G);
A=[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=[a1,a2,a3,a4]编码的原码
fprintf('原码为:A=')
disp(A);
C1=A*G;
C=mod(C1,2); %模2运算
fprintf('输出的编码为:C=')
disp(C);
H=gen2par(G); %生成校验矩阵
fprintf('校验矩阵为:H=')
disp(H);
四、实验结果
图1 生成矩阵和原码数据
图2 生成码字和校验矩阵数据
图3 输入正确的码字
图4 输入错误的码字
如需要完整matlab代码和实验报告,请自行付积分查看,链接如下: