当前位置:文档之家› 线性分组码(7,4)码设计说明书

线性分组码(7,4)码设计说明书



设计数字通信系统时,应首先合理选择信道编译码码组种类,这样才可以在信号的 传输,以及接收环节达到较好的效果,线性分组码具有编译码简单,封闭性好等特点, 采用差错控制编码技术是提高数字通信可靠性的有效方法,是目前较为流行的差错控制 编码技术。 分组码是一组固定长度的码组,可表示为(n , k) ,通常它用于前向纠错。在分组 码中,监督位被加到信息位之后,形成新的码。在编码时,k 个信息位被编为 n 位码组 长度,而 n-k 个监督位的作用就是实现检错与纠错。 对于长度为 n 的二进制线性分组码,它有种可能的码组,从种码组中,可以选择 M= 个码组(k<n)组成一种码。这样,一个 k 比特信息的线性分组码可以映射到一个长度 为 n 码组上, 该码组是从 M=个码组构成的码集中选出来的, 这样剩下的码组就可以对这 个分组码进行检错或纠错。
上述方法构造的能纠正单个误码的线性分组码又称为汉明码。它具有以下一些特 点:码长 n=2m-1,最小码距为 d=3,信息码长 k=2n-m-1,纠错能力 t=1,监督码 长 r=n-k=m。这里 m 为≥2 的正整数。给定 m 后,就可构造出汉明码(n,k)。
5
第三章 推导过程
3.1 编码过程
监督阵 H 与生成矩阵 G 的关系: 由 H 与 G 的分块表示的矩阵形式 H [ P I n k ]
其中 A 为纠错输出码序列,E 为错码矩阵,B 为信道输出码。 对接收到的信息进行改正求出正确的编码,从而再提去更正后的接收序列的前四 位来提取信息位,以至获得信息矩阵 I。
8
第四章 仿真过程及结果分析
4.1 程序流程图
4.1.1 主程序流程图 主程序一开始就有欢迎界面,并对用户显示出了选择提示语句,可以选择编码器、 译码器、退出三种选择,当用户做出选择后便会进入各自的子程序,执行相应的功能, 整个主程序的流程如下:
H 矩阵与 (n, k ) 码的任何一个许用码字进行相乘的结果必等于 0,即若 C mG 是
T 任一 (n, k ) 码字,则必有 CH 0 。若不属于许用码字,或有传输差错,且差错位数在 (n, k ) 码纠错能力内,则运算结果将为非 0 值,此时,可以纠错或检错重发。如本例中
发生 1 位错时, 其运算结果一定会等于 H 矩阵的某一列,这就表明是接收码组中的该对 应码位发生错误,于是能够即时自动纠错,这一基本原理在下面伴随式解码运算时将进 一步解释。 当编码矩阵与生成矩阵的转置矩阵相乘时,若当其中的一位编码出现差错时会有七 种情况,则更具这些情况列出错码矩阵如下:


此系统是( 7 ,4)线性分组码的编译码实现,它可以对输入的四位的信息码进行 Hamming 编码,对于接受的七位信息码可以进行译码,从而译出四位信息位。当接收到 的信息码中有一位错误时,可以纠正这一位错码,进而译出正确的信息码组,整个过程 是用 Matlab 语言实现的。
关键词:编码; 译码; 纠错;
1


第一章 设计目标 .......................................................... 3 第二章 基本原理 .......................................................... 4 第三章 推导过程 .......................................................... 6 3.1 编码过程 .......................................................... 6 3.2 译码过程 .......................................................... 7 第四章 仿真过程及结果分析 ................................................ 9 4.1 程序流程图 ........................................................ 9 4.1.1 主程序流程图 ................................................. 9 4.1.2 编码程序流程图 .............................................. 10 4.1.3 译码程序流程图 .............................................. 11 4.2 主引导界面程序运行分析 ........................................... 12 4.3 信道编码程序运行分析 ............................................. 13 4.4 信道译码程序运行分析 ............................................. 14 4.5 纠错程序运行分析 ................................................. 15 4.6 退出程序运行分析 ................................................. 16 4.6.1 正常输入 ................................................... 16 4.6.2 系统不正常输入 ............................................. 17 结计总结 ................................................................ 19 参考文献 ................................................................ 20 附录 .................................................................... 21
3
第二章 基本原理
线性分组码(n,k)中许用码字(组)为 2 个。定义线性分组码的加法为模 2 和, 乘法为二进制乘法。 即 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)的性质: 1、封闭性。任意两个码组的和还是许用的码组。 2、码的最小距离等于非零码的最小码重。 对于码组长度为 n、 信息码元为 k 位、 监督码元为 r=n-k 位的分组码, 常记作 (n, k)码,如果满足 2r-1≥n,则有可能构造出纠正一位或一位以上错误的线性码。 下面我们通过 (7, 4) 分组码的例子来说明如何具体构造这种线性码。 设分组码 (n, k)中,k = 4,为能纠正一位误码,要求 r≥3。现取 r=3,则 n=k+r=7。我们用 a0a1a2a3a4a5a6 表示这 7 个码元,用 s0、s1、s2 表示由三个监督方程式计算得到的校 正子,并假设三位 s0、s1、s2 校正子码组与误码位置的对应关系如表 1 所示。 表 2.1 (7,4)码校正子与误码位置 S2s1s0 误码位置 S2s1s0 数值 S2s1s0 误码位置 S2s1s0 数值 与码字 的运算在各个相应比特位上符合
7
错码矩阵: 0 0 0 0 E= 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
而这些情况正好是和校验子有某种对应关系的,根据这些对应关系可以进行相关编程。 若编程检测到了那一位错误可以根据 A=B+E (3.7)
|| 0 0 1 1 1 1 0 0 1 1 0 0 0 0 1 1
监督位 0 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 1
3.2 译码过程
对于译码过程来说,同样已知监督矩阵: 1 H= 1 1 1 0 1 1 1 0 0 1 1 1 0 0 0 1 0 0 0 1
4
a 2 a 6 a5 a 4 a1 a6 a 4 a3 a 0 a 6 a5 a3
( 2.1 ) 由上面方程可得到表 12.3 所示的 16 个许用码组。在接收端收到每个码组后,计 算出 s2、s1、s0,如果不全为 0,则表示存在错误,可以由表 12.2 确定错误位置并予 以纠正。例如收到码组为 0000011,可算出 S1S2S3=011,由表 2.2 可知在 a3 上有一误码。 通过观察可以看出,上述(7,4)码的最小码距为 dmin=3,它能纠正一个误码或检测两 个误码。如果超出纠错能力则反而会因“乱纠”出现新的误码。 表 2.2 (7,4)许用码组 信 息 位 a6a5a4a3 0000 0001 0010 0011 0100 0101 0110 0111 监 督 位 a2a1a0 000 011 110 101 101 110 011 000 信 息 位 a6a5a4a3 1000 1001 1010 1011 1100 1101 1110 1111 监 督 位 a2a1a0 111 100 001 010 010 001 100 111
(3.1) (3.2) (3.3) (3.4)
G [I k Q]
PQ
T
Q PT
则有
G HT 0

H GT 0
(3.5)
已知监督矩阵 1 H= 1 1 1 0 1 1 1 0 0 1 1 1 0 0 0 1 0 0 0 1
则可以根据监督阵求出生成矩阵
1 G= 0 0 0
0 1 0 0
0 0 1 0
相关主题