第19讲—— 线性分组码编码与译码(1)
- 格式:pdf
- 大小:1.13 MB
- 文档页数:34
实践教学大学计算机与通信学院2014年秋季学期计算机通信课稈设计题目:线性分组码(9 , 4)码的编译码仿真设计专业班级:_______________________________姓名:_________________________________________学号:_______________________________________指导教师:______________________________________成绩:______________________________________________摘要该系统是(9, 4)线性分组码的编码和译码的实现,它可以对输入的四位的信息码进行线性分组码编码,对于接收到的九位码字可以进行译码,从而译出四位信息码。
当接收到的九位码字中有一位发生错误时,可以纠正这一位错码;当接收到的码字有两位发生错误时,只能纠正一位错误,但同时能检测出另一位错误不能纠正。
只有特定位有两位错误时,才能纠正两位错误。
这样就译出正确的信息码组,整个过程是用MATLAB语言实现的。
关键词:编码;译码;纠错摘要 目录1. 信道编码概述2.•…1.1信道模型 ............................................................... 2•…1.2抗干扰信道编码定理及逆定理 ............................................ 3…1.3检错与纠错的基本原理 .................................................. 4•…1.4限失真编码定理 ........................................................ 5•…2. 线性分组码的编码 ........................................................... 6 _2.1生成矩阵 ............................................................... 6•…2.2校验矩阵 ............................................................... 9•…2.3伴随式与译码 ......................................................... 1.0....3. 线性分组码编码的 Matlab 仿真 ............................................... 1.2..3.1程序流程图 ............................................................ 1.2....3.2程序执行结果 ......................................................... 12....3.2线性分组码译码的 Matlab 仿真 .......................................... 1.3.3.3结果分析 .............................................................. 1.5.... 参考文献 .................................................................... .1.6..... 总结 ......................................................................... 1.7.... 致谢 ......................................................................... 1.8.... 附录目录19刖言由于计算机、卫星通信及高速数据网的飞速发展,数据的交换、处理和存储技术得到了广泛的应用,数字信号在传输中往往由于各种原因,使得在传送的数据流中产生误码,从而使接收端产生图象跳跃、不连续、出现马赛克等现象,人们对数据传输和存储系统的可靠性提出来了越来越高的要求,经过长时间的努力,通过编译码来控制差错、提高可靠性的方式在信道传输中得到了大量的使用和发展,并形成了一门新的技术叫做纠错编码技术,纠错编码按其码字结构形式和对信息序列处理方式的不同分为两大类:分组码和卷积码。
通信原理(第3版)260范围以内,则自动纠错;如果超出了码的纠错能力,但能检测出来,则经过反馈信道请求发送端重发。
这种方式具有自动纠错和检错重发的优点,误码率较低,因此,近年来得到广泛应用。
9.3 线性分组码线性分组码既是分组码,又是线性码。
分组码的编码包括两个基本步骤:首先将信源输出的信息序列以k 个信息码元划分为一组;然后根据一定的编码规则由这k 个信息码元产生r 个监督码元,构成n ( = k + r )个码元组成的码字。
线性码是指监督码元与信息码元之间的关系是线性关系,它们的关系可用一组线性代数方程联系起来。
线性分组码一般用符号(,)n k 表示,其中k 是每个码字中二进制信息码元的数目;n 是码字的长度,简称为码长;(-)r n k =为每个码字中的监督码元数目。
每个二进制码元可能有2种取值,n 个码元可能有2n 种组合,(,)n k 线性分组码只准许使用2k 种码字来传送信息,还有()22n k −种码字作为禁用码字。
如果在接收端收到禁用码字,则认为发现了错码。
一个n 长的码字C 可以用矢量()1210n n c ,c ,,c ,c −−="C 表示。
线性分组码(,)n k 为系统码的结构如图9-4所示,码字的前k 位为信息码元,与编码前原样不变,后r 位为监督码元。
9.3.1 线性分组码的编码在介绍线性分组码的原理之前,首先我们来看一种简单而又常用的线性分组码——奇偶监督码(也称为奇偶校验码),分为奇数监督码和偶数监督码。
无论信息码元有多少,监督码元只有一位。
在偶数监督码中,监督码元的加入使得每个码字中“1”的数目为偶数;在奇数监督码中,监督码元的加入使得每个码字中“1”的数目为奇数。
奇偶监督码是一种()1n,n −线性分组码,它的最小码距min 2d =,能够检一位错码。
偶数监督码()1210n n c ,c ,,c ,c −−=C "满足下式条件1200n n c c c −−⊕⊕⊕=" (9.3-1) 式中,0c 为监督码元,()121n n c ,c ,,c −−"为信息码元,⊕表示模2加。
一、实验目的1、通过实验掌握线性分组码的编码原理2、通过实验掌握线性分组码的译码3、了解编码与检错能力之间的关系二、实验内容1、自行设置线性分组码或汉明码的参数,计算所设计出的线性分组码或汉明码的所有码字集合;2、利用库函数译码或利用通信工具箱设计译码模块译码;3、整理好所有的程序清单或设计模块,并作注释。
三、实验结果1、写出产生(3,1)汉明码的生成矩阵,给出生成码的源程序,并给出运行结果。
(1)、源程序function f=hanmingencod(a) %对信息元a进行编码G=[1 1 1]; %(3,1)的生成矩阵t=input('输入0或1:'); %t=0时产生(3,1),汉明编码所有码字t=1时对输入序列进行编码if t==1;a=input('输入信息元序列:'); %当t=0时,则用户手动输入信息元序列c=mod(a*G,2); %对应码字disp('编码后序列为:');disp(c); %显示编码后的结果elsedisp('(3,1)汉明系统为:');%当t=0时,对for循环得到的信息元序列进行编码for i=0:1%进行for循环,得到信息元序列a=dec2bin(i,1); %生成信息源序列c=mod(a*G,2); %对信息元a进行编码disp(a); %显示信息元disp('对应码字为:');disp(c); %显示编码结果endend(2)运行结果:输入0或者1:0(3,1)汉明系统码为:对应码字为:0 0 01对应码字为: 1 1 1输入0或者1:1输入信息元序列:0编码后序列为: 0 0 0输入0或者1:1输入信息元序列:1编码后序列为: 1 1 1(3)、计算生成矩阵:由(3,1)汉明码可知:n=3,k=1;即信源符号1位一组:{}(),0,1,0,1,2,3;i i u u u i =∈=码符号3位一组:{}210(,,),0,1,0,1,2,3,4,5,6;j c c c c c j =∈=则可得其生成矩阵:[]1,1,1G = 或者校验矩阵H=⎥⎦⎤⎢⎣⎡110110=⎥⎦⎤⎢⎣⎡100111 所以生成矩阵[]1,1,1G =2、用encode函数对随机产生的序列进行汉明编码,给出编码结果。
线性分组码的编码方法0 引言随着通信技术的飞速发展,数字信息的存储和交换日益增加,对于数据传输过程中的可靠性要求也越来越高,数字通信要求传输过程中所造成的数码差错足够低。
引起传输差错的根本原因是信道内的噪声及信道特性的不理想。
要进一步提高通信系统的可靠性,就需采用纠错编码技术。
1线性分组码线性分组码是差错控制编码的一种,它的编码规则是在k 个信息位之后附加r=(n-k )个监督码元,每个监督码元都是其中某些信息位的模2和,即(n-k )个附加码元是由信息码元按某种规则设计的线性方程组运算产生,则称为线性分组码(linear block code )。
目前,绝大多数的数字计算机和数字通信系统中广泛采用二进制形式的码元,因此以下对线性分组码的讨论都是在有限域GF (2)上进行的,域中元素为0、1。
以(7,3)线性分组码为例,(7,3)线性分组码的信息组长度k=3,在每个信息组后加上4个监督码元,每个码元取值“0”或“1”。
设该码字为(C 6,C 5,C 4,C 3,C 2,C 1,C 0)。
其中C 6,C 5,C 4是信息位,C 3,C 2,C 1,C 0是监督位,监督位可以按下面的方程计算:463C C C +=4562C C C C ++=(1)561C C C += 450C C C +=以上四式构成了线性方程组,它确定了由信息位得到监督位的规则,称为监督方程或校验方程。
由于所有的码字都按同一规则确定,因此上式又称为一致监督方程或一致校验方程,这种编码方法称为一致监督编码或称一致校验编码。
由式(1)可以得出,每给出一个3位的信息组,就可以编出一个7位的码字,同理可以求出其它7个信息组所对应的码字。
2 生成矩阵和一致校验矩阵(n ,k )线性分组码的编码问题,就是如何从n 维线性空间V n 中,找出满足一定要求的,由2k个矢量组成的k 维线性子空间;或者说在满足一定条件下,如何根据已知的k 个信息元求得n-k 个校验元。