循环码的编译码方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
*****************
实践教学
******************
兰州理工大学
计算机与通信学院
2013年秋季学期
《计算机通信》课程设计
题目:(15,7)循环码的编译码方法
专业班级:通信工程一班
姓名:
学号:
指导教师:
成绩:
本次课程设计研究的是(15,7)循环码的编译码方法,在设计过程中,首先要介绍了线性分组码的编码和译码原理,并介绍了循环码的定义及其相关内容;其次由给定的生成多
g x求解出了生成矩阵和监督矩阵,并且利用MATLAB编写循环码的编码器和译码器项式()
代,实现编码及译码功能;求出该码的最小码距,并分析讨论该码的纠错能力以及在高斯信道下的误码性能。
关键词: 循环码;编码;译码;MATLAB
一前言 (1)
二循环码编译码的基本原理 (2)
2.1循环码的简介 (2)
2.1.1循环码的定义 (2)
2.1.2线性分组码与循环码的区别 (3)
2.1.3循环码的最小码距 (3)
2.1.4循环码的检纠错能力 (3)
2.2 循环码编译码原理及过程 (4)
2.2.1循环码的编译码原理 (4)
2.2.2 循环码编译码的 (5)
三系统分析 (7)
3.1 循环码编译码方法的实现框图 (7)
3.2 循环码编译码实现过程 (8)
四系统设计 (10)
4.1生成矩阵和监督矩阵 (10)
4.2循环码的编码 (10)
4.3循环码的的译码 (11)
4.4循环码在高斯信道下的误码性能 (13)
总结 (14)
参考文献 (15)
附录 (16)
致谢 (23)
一前言
随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。随着经济文化水平的显著提高,人们对生活质量及数据通信的要求也越来越高。
数字信号在传输中往往由于各种原因,会使得在传送的数据流中产生误码,从而使接收端产生图象跳跃、不连续、出现马赛克等现象。通过信道编码这一环节,对数码流进行相应的处理,使通信系统具有一定的纠错能力和抗干扰能力,可以极大地避免码流传送中误码的发生。信道编码的本质是增加通信的可靠性。误码的处理技术有纠错、交织、线性内插等。提高数据传输速率,降低误码率是信道编码的任务。
在计算机通信信息码中循环码是线性分组码的一个重要子集,是目前研究得最成熟的一类码。它有许多特殊的代数性质,它使计算机通信以一种以数据通信形式出现,实现了在计算机与计算机之间或计算机与终端设备之间进行有效的与正确地信息传递,它使得现代通信的可靠性与有效性实现了质的飞跃。它是现代计算机技术与通信技术飞速发展的产物,在日常生活通信领域、武器控制系统等领域都被广泛应用。
此次设计中的仿真分析采用了MATLABLE,它是美国Mathworks公司推出的一套高性能的数值分析和计算软件。MATLABLE仿真分析平台提供了良好的可视化开发环境,被广泛的应用于信号和图像处理、通信、控制系统设计、测试和测量等众多领域。
二 循环码编译码的基本原理
2.1循环码的简介
更好的设计和实现线性分组码的方法是引入特定的数学结构来界定某一类
线性分组码。循环码即是采用循环移位特性界定的一类线性分组码。它是线性分组码的一种,所以它具有线性分组码的一般特性,此外还具有循环性。
循环码的编码和解码设备都不太复杂,检、纠错能力强,而且性能好。它不但可以检测随机的错误,还可以检测突发的错误。(),n k 循环码可以检测长为n k -或更短的任何突发错误,包括首尾相接突发错误。
循环码是一种无权码,循环码编排的特点是相邻两个数码之间符合卡诺图中的邻接条件,即相邻两个数码之间只有一位码元不同(码元就是组成数码的单元)。循环码的优点是没有瞬时错误,因为在数码变换过程中,在速度上会有快有慢,中间经过其它一些数码形式,称它们为瞬时错误。这在某些数字系统中是不允许的,为此希望相邻两个数码之间仅有一位码元不同,即满足邻接条件,这样就不会产生瞬时错误。循环码就是这样一种编码,它可以在卡诺图中依次循环得到。循环码又称格雷码(Gray Code )。
2.1.1循环码的定义
设C 是某(),n k 线性分组码的码字集合,如果对任何
C c c c C n n ∈=--),,,(021 ,它的循环移位),,,(1032)1(---=n n n c c c c C 也属于C ,则称该(),n k 码为循环码。
该码在结构上有另外的限制,即一个码字任意循环移位后的结果仍是一个有效码字。其特点是:可以用反馈移位寄存器很容易实现编码和伴随式的计算;由于循环码有很多固有的代数结构,从而可以找到各种简单使用的译码办法。
如果一个(),n k 线性码具有以下的属性,则称为循环码:如果n 元组
},,,{110-=n c c c c 是子空间S 的一个码字,则经过循环移位之后得到的}
,,,{201)1(--=n n c c c c 也同样是子空间S 中的一个码字;或者,一般来说,经过j 次循环移位之后得到的},,,,,,,{11011)(---+--=j n n j n j n j c c c c c c c 也是子空间S 中的一个码字。
2.1.2线性分组码与循环码的区别
线性分组码是同时具有分组特性(码字和消息长度恒定)和线性特性(消息相加后的编码等于各自编码后相加)的纠错码。每个监督码元都是码组中某些信息码元的线性相加得到的。将q元符号按每k个分为一组.然后通过编码得到
n-k个q元符号作为冗余校验符号,最后由校验符号和信息符号组成有n个q元符号的码字符号。得到的码字可以纠正t个错误,编码效率为k/n。两个属于该码的码字之和仍是一个属于该码的码字,全零码字总是一个码字,一个线性码的两个码字之间的最小距离等于任何非零码字的最小汉明重量。
循环码是采用循环移位特性界定的一类线性分组码。是线性分组码的一个重要子类;BCH码是其主要的一大类;汉明码、R-M码、RS码等可变换;纳入循环码内,Goppa码的一个子类也属于循环码;用反馈线性移位寄存器可容易的实现其编码和得到伴随式;由于数学上的特性,译码方法简单。循环码的特点有两点:一是封闭性(如果c1,c2,是与消息m1,m2对应的码字,则c1+c2必定是与m1+m2对应的码字);二是循环性(任一许用码组经过循环移位后所得到的码组仍为该许用码组集合中的一个码组)。
2.1.3循环码的最小码距
对于分组码一般用符号(n,k)表示,其中n是码组的总位数,又称为码组的长度即码长,k是码组中信息码元的数目,n–k为码组中的监督码元数目,用字母r表示。分组码(n,k)当信息码元与监督码元之间的关系为线性关系时,这种分组码就称为线性分组码。
在分组码中,把码组中“1”的个数目称为码组的重量,简称码重。编码中所有码字重量的集合形成该码的重量分布。如果全部M个码字都具有相同的重量,这种码叫做固定重量码,或叫恒重码。把两个码组中对应位上数字不同的位数称为码组的距离,简称码距,码距又称汉明距离。
一般而言,对于任意一种编码,其中各个码组之间的距离不一定相等。这时,将其中最小的距离称为最小码距,用d min来表示。
2.1.4循环码的检纠错能力
一种编码的纠错,检错能力决定于最小码距d min的值。下面将用几何关系证明纠错,