第 1 页 共 5 页
一、 实验目的
了解线性分组码的编译码规则,掌握利用 matlab 对线性分组码进行编译码仿真的分析方
法。
二、 实验任务
利用 matlab 完成(7,4)线性分组码的编译码仿真分析。利用 matlab 仿真软件编写程序,
完成相应实验内容。
简述线性分组码的编译码规则和程序设计思路,分别给出生成矩阵、原码、校验矩阵以
及编码后的结果、接收到的码字、接收码字中错误码位以及正确码字。
三、 实验原理
对信道编码输出的序列进行分组,并对每一组独立变换,称为分组码,记为(n,k)码,
其中 k 表示每组输入符号数,n 为编码输出符号数。编码后的码组具有抗信道干扰的能力。
若这种变换是线性变换,则称变换后的码组为线性分组码;若变换是非线性的,则称变换后
的码组为非线性分组码。常用的是线性分组码。
线性分组码具有如下两个性质:
(1)线性(包含全零码字,封闭性);
(2)最小码距等于除零码外的码字的最小码重。
为了具体说明线性分组码的基本原理,以(7,3)线性分组码为例。设(7,3)线性分组码
为
𝐶
=
(
𝑐
6
,
𝑐
5
,
𝑐
4
,
𝑐
3
,
𝑐
2
,
𝑐
1
,
𝑐
0
)
其中
𝑐
6
,
𝑐
5
,
𝑐
4
为信息位,
𝑐
3
,
𝑐
2
,
𝑐
1
,
𝑐
0
为监督位。将信息流分成 3 位一组,构成原码,即
𝑨
=
(
𝑎
2
,
a
1
,
a
0
)
按下列线性方程进行编码:
𝑐
6
=
𝑎
2
𝑐
5
=
𝑎
1
𝑐
4
=
𝑎
0
𝑐
3
=
𝑎
1
⊕
𝑎
0
𝑐
2
=
𝑎
2
⊕
𝑎
1
𝑐
1
=
𝑎
2
⊕
𝑎
1
⊕
𝑎
0
𝑐
0
=
𝑎
2
⊕
𝑎
0
写成矩阵形式,则可表示为:
𝑪
=
[
𝑐
6
,
𝑐
5
,
𝑐
4
,
𝑐
3
,
𝑐
2
,
𝑐
1
,
𝑐
0
]
=
[
𝑎
2
,
𝑎
1
,
𝑎
0
]
1
0
0
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
0
1
1
=
𝑨
⋅
𝑮