线性分组码的matlab的实现,线性分组码的matlab实现.doc

线性分组码的matlab实现.doc

重庆交通大学信息科学与工程学院

综合性设计性实验报告

业:

学 号:

姓 名:

实验所属课程:

实验室(中心): 软件与通信实验中心

指 导 教 师 :

2015年月

教师评阅意见:

签名: 年 月 日实验成绩:

线性分组码(n,k)中许用码字(组)为2k个。定义线性分组码的加法为模二加法,乘法为二进制乘法。即1+1=0、1+0=1、0+1=1、0+0=0;1×1=1、1×0=0、0×0=0、0×1=0。且码字与码字的运算在各个相应比特位上符合上述二进制加法运算规则。?

线性分组码具有如下性质(n,k)的性质:?

封闭性。任意两个码组的和还是许用的码组。?

2、码的最小距离等于非零码的最小码重。?

对于码组长度为n、信息码元为k位、监督码元为r=n-k位的分组码,常记作(n,k)码,如果满足2r-1≥n,则有可能构造出纠正一位或一位以上错误的线性码。

由于每个码字都是一个二进制的n重,及二进制n维线性空间Vn中的一个矢量,因此码字又称为码矢。线性分组码的一个重要参数是码率r=k/n,它说明在一个码字中信息位所占的比重,r越大,说明信息位所占比重越大,码的传输信息的有效性越高。由于(n,k)线性分组,线性分组码的2k个码字组成了n维线性空间Vn的一个K维子空间。因此这2k个码字完全可由k个线性无关的矢量所组成。

对于分组码,有着以下结论:

检测e个错码,则要求最小码距;

纠正t个错码,则要求最小码距;

纠正t个错码,同时检测e(e>t)个错码,则要求最小码距;

纠正t个错码和p个删除,则要求最小码距

实验步骤

本次试验用Matlab语言编程实现(10,4)线性分组码,线性分组码的编码由监督矩阵和生成矩阵实现,监督矩阵H为(4×4)的矩阵,由监督方程得出,生成矩阵G为已定义(10×4)的矩阵。具体实现方法如下:

?①将要编码的序列先整形,整为4列

?②如果序列不能被4整除在后边补0使其能被4整除

?③将整形后的序列与生成矩阵G相乘即得到编码后的码字

利用Matlab函数找出所得分组码的最小距离。

程序代码:

1.(7,4)分组码

clear all;

clc;

G2 =[1 0 0 0 1 0 1;

0 1 0 0 1 1 1;

0 0 1 0 1 1 0;

0 0 0 1 0 1 1];%生成矩阵

MSG=[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];%输入信息

code1=rem(MSG*G2,2) %输出码字

2.(10,4)线性分组码

%产生U,表示所有的信息序列

k=4;

for i=1:2^k

for j=k:-1:1

if rem(i-1,2^(-j+k+1))>=2^(-j+k)

u(i,j)=1;

else

u(i,j)=0;

end

end

end

%定义生成矩阵G

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];

%产生码字

c=rem(u*g,2)

%找出最小距离

w_min=min(sum((c(2:2^k,:))'))

五、对比分析,通过给给定不同的信源,对结果进行分析对比验证,并得出相应分分析报告。

运行程序,结果如下

1.(7,4)分组码

2.(10,4)线性分组码

六:提交实验报告与心得体会。

本次试验帮助我们理解信道编码中有关线性分组码的有关知识。通过对线性分组码中的线性分组码的编译码编程实现,了解到线性分组码的构成方式是把信息序列分成每k个码元一段,并由这k个码元按一定规则产生r个校验位,组成长度为n=k+r的码字,用(n,k)表示。信息码元与校验位之间为线性关系。并且知道了线性分组码的编码过程信息码元与校验位之间的线性关系实现起来是十分简单的.?

对于长度为n的二进制线性分组码,它有种2n可能的码组,从2n种码组中可以选择M=2k个码组(k

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值