信息论与编码实验四DOC.docx
《信息论与编码实验四DOC.docx》由会员分享,可在线阅读,更多相关《信息论与编码实验四DOC.docx(10页珍藏版)》请在冰豆网上搜索。
信息论与编码实验四DOC
华侨大学工学院
实验报告
课程名称:
信息论与编码
实验项目名称:
实验四线性分组码
学院:
工学院
专业班级:
信息工程(微波通信方向)
姓名:
学号:
1195111016
指导教师:
傅玉青
年月日
预习报告
一、实验目的
(1)掌握MATLAB语言实现线性分组码编码算法的方法
(2)练习用MATLAB的工具箱Simulink设计线性分组码电路图的能力。
二、实验仪器
1、计算机
2、编程软件MATLAB6.5
三、实验原理
线性分组码是一类奇偶校验码,它可以由(n,k)形式表示。
编码器将一个k比特信息分组(信息矢量)转变为一个更长的由给定元素符号集组成的n比特编码分组。
当这个符号集包含两个元素(0和1),与二进制相对,称为二进制编码。
分组码是对每段k位长的信息组,以一定规则增加r=n-k个检验元,组成长为n的序列:
(cn-1,cn-2,...,c1,c0),称这个序列为码字。
在二进制情况下,信息组总共有2k个(q进制为qk个),因此通过编码器后,相应的码字也有2^k个。
称这2^k个码字集合为(n,k)分组码。
n长序列的可能排列总共有2^n种。
称被选取的2^k个n重为许用码组,其余2^n-2^k个为禁用码组。
称R=k/n为码率.
对于长度为n的二进制分组码,可以表示成(n,k),通常用于前向纠错。
在分组码中,监督位加到信息位之后,形成新码,在编码中,k个信息位,被编为n位长度,(n-k)个监督码的作用是实现检错和纠错。
k比特信息形成2^k个不同的信息序列,称为k元组(k比特序列),同样,n比特可以形成2^n个序列,称为n元组。
编码过程就是将每个k元组映射到2^n个n元组中的一个。
分组码是一一对应的编码,即2^k个k元组唯一映射到2^k个2元组,映射可以通过一个查询表实现。
对于线性码,映射当然是线性的。
H=[-PTIn-k]
预习报告
四、实验内容及步骤
已知一个(6,3)线性分组码的生成矩阵为
。
试用MATLAB
(1)求出该码的全部码字,列出信息组与码字的映射关系;
(2)将该码系统化处理后,计算系统码码集,并列出映射关系;
(3)计算系统码的校验矩阵H。
若收码r=[100110],检验它是否为码字?
(4)根据系统码生成矩阵,设计校验位与信息位关系的电路图(用Simulink实现)。
实验报告
五、
实验原始数据
指导老师签名:
时间:
实验报告
六、
数据处理
clc;
clear;
G=input('线性分码组的生成矩阵G=')
clearall
G=[1,1,1,0,1,0;1,1,0,0,0,1;0,1,1,1,0,1];
m=[0,0,0;0,0,1;0,1,0;0,1,1;1,0,0;1,0,1;1,1,0;1,1,1];
c=mod(m*G,2)%求出该码的全部码字
[x,y]=size(c);
fori=1:
x%列出信息组与码字的映射关系
disp('信息'),disp(m(i,:
)),disp('码字'),disp(c(i,:
))
end
Gs(1,:
)=mod(G(1,:
)+G(3,:
),2);
Gs(2,:
)=mod(G(1,:
)+G(2,:
)+G(3,:
),2);
Gs(3,:
)=mod(G(1,:
)+G(2,:
),2);
c1=mod(m*Gs,2)%计算系统码码集
[x1,y1]=size(c1);
fori=1:
x1%列出映射关系
disp('信息'),disp(m(i,:
)),disp('系统码字'),disp(c1(i,:
))
end
H=gen2par(Gs)%计算系统码的校验矩阵H
r=input('收码r=')
r=[100110];
S=mod(r*H',2);
if(S==000)%检验它是否为码字?
disp('r是码字')
else
disp('r不是码字')
end
实验报告
七、
实验结论及分析讨论
(1)
(2)
(3)
通过这次实验,学会通过matlab会进行信息论与编码的线性分组码编码算法和用MATLAB的工具箱Simulink设计线性分组码电路图的能力。
预习报告成绩
实验报告成绩
实验操作成绩
总成绩