信息论与编码实验报告
理学院班级学号(后两位)姓名
理学院班级学号(后两位)姓名
实验名称
实验二、线性分组码的编译码
实验设备
(1)计算机(2)所用软件:Matlab 或者C
实验目的
了解线性分组码编译码的基本原理及其特点;熟练掌握线性分组码编译码的方法与步骤;实验内容
根据线性分组码编译码的方法步骤,编写对应编译码程序;
实验报告要求
简要总结线性分组码编码和采用伴随式纠错译码的基本原理及步骤;
讨论(6,3)线性分组码的编码。
系统生成矩阵如教材P91页例5.2.4所示。
手工录入或电脑随机生成一段消息序列,实现线性分组码的编码的Matlab源程序。
(1星)
实现对上述无差错的编码进行译码的Matlab源程序。
(2星)
在上述编码后的码序列中,每隔6位产生一位或0位随机误差,然后采用伴随式纠错译码,恢复原来的消息序列。
(2星)
5、友好界面。
(3星)
实验报告在实验后一周内交给老师,报告单一律用A4纸写,以此单为封面,装订成册。
完成时间:2016年5月9 日
简要总结线性分组码编译码的基本原理及步骤;
分组码是一组固定长度的码组,可表示为(n , k),通常它用于前向纠错。
在分组码中,监督位被加到信息位之后,形成新的码。
在编码时,k个信息位被编为n位码组长度,而n-k 个监督位的作用就是实现检错与纠错。
对于长度为n的二进制线性分组码,它有种2n可能的码组,从2n种码组中,可以选择M=2k个码组(k<n)组成一种码。
这样,一个k比特信息的线性分组码可以映射到一个长度为n码组上,该码组是从M=2k个码组构成的码集中选出来的,这样剩下的码组就可以对这个分组码进行检错或纠错.
编译码的一般步骤:
1完成对任意信息序列的编码
2根据生成矩阵,形成监督矩阵;
3根据得到的监督矩阵,得到伴随式,并根据它进行译码;4验证工作的正确性
2、实现线性分组码编、译码的Matlab源程序;
clear all;
clc;
P=[1 1 1 0;0 1 1 1 ;1 1 0 1]
G=[eye(3),P]
H=[P',eye(4)]
M=input('设置输入码元M=:','s')
C=mod(M*G,2)
E=[0 0 0 0 0 1 0]
R=mod(C+E,2)
H
S=mod(R*H',2)
for i=1:7
if S==H(:,i)'
R(1,i)=mod(R(1,i)+1,2);
R1=R
end
end。