循环码产生电路设计说明
- 格式:doc
- 大小:365.00 KB
- 文档页数:9
循环码(7,4)8.4 循环码时间:2012年09⽉01⽇信息来源:《通信原理》精品课程⽹站点击:2452次我要评论(0) 【字体:⼤中⼩】循环码是线性分组码重要的⼀个⼦类,现有的重要线性分组码都是循环码或与循环码密切相关。
与其他⼤多数码相⽐,循环码的编码及译码易于⽤简单的具有反馈连接的移位寄存器来实现,这是它的优势所在。
另外,对它的研究是建⽴在⽐较严密的数学⽅法基础之上,因此⽐较容易获得有效的译码⽅案。
循环码在实际中应⽤很⼴。
8.4.1 循环码基本概念⼀个线性()分组码,如果它的任⼀码字经过循环移位后(左移或右移),仍然是该码的⼀个码字,则称该码为循环码。
上⼀节中表8-3所⽰的(7,3)分组码就是⼀个循环码。
为了便于观察,将(7,3)码重新排列如表8-9所⽰。
表8-9 循环码的循环移位(8.4-1)来描述⼀个码字。
表8-9中的任⼀码组可以表⽰为(8.4-2)这种多项式中,仅是码元位置的标记,因此我们并不关⼼x的取值,这种多项式称为码多项式。
例如,码字(0100111)可以表⽰为(8.4-3)左移⼀位后为(1001110),其码字多项式为(8.4-4)需要注意的是,码字多项式和⼀般实数域或复数域的多项式有所不同,码字多项式的运算是基于模⼆运算的。
(1)码多项式相加,是同幂次的系数模⼆加,不难理解,两个相同的多项式相加,结果系数全为0。
例如(8.4-5)(2)码多项式相乘,对相乘结果多项式作模⼆加运算。
例如(8.4-6)(3)码多项式相除,除法过程中多项式相减按模⼆加⽅法进⾏。
当被除式的幂次⾼于等于除式的幂次,就可以表⽰为⼀个商式和⼀个分式之和,即(8.4-7)其中余式的幂次低于的幂次。
把称作对取模的运算结果,并表⽰为(8.4-8)有了这个运算规则,就可以很⽅便地表⽰⼀个移位后码字多项式。
可以证明,字长为的码字多项式和经过次左移位后的码字多项式的关系为(8.4-9)例如,(7,3)循环码的码字(1001110),其多项式为,移位3次后的多项式可求得如下:(8.4-10)即,它对应的码字为11101008.4.2 循环码⽣成多项式由表8-9可知,(7,3)循环码的⾮0码字多项式是由⼀个多项式分别乘以得到的。
2、循环码2.1循环码的基本原理 1.定义循环码是满足循环特性的线性分组码,是线性分组码的子类,之所以这样说是因为线性分组码要求所选择的码是线性的,循环码则是在线性分组码的基础之上进一步要求所选择的码具有循环性。
假设C 是一个(n,k)线性码,如果C 中任意一个码字经任意循环移位之后仍然是C 中的码字,那么此码是一个循环码。
循环码具有规则的代数结构,且是自封闭的,因此用多项式来描述更方便。
长度为n 的循环码可用一个n-1次多项式来描述,此多项式称为码多项式,表示如下:(1)左移i 位后的码多项式为(2)码多项式与循环移位后的多项式之间的关系为)1()(c xC(x)1)1(021121-n -+=++⋅⋅⋅++=---nn n n n x c x C x c x c x c x (3)也即是)1m od()()()1(-≡n x x xC x C (4)以此类推,可以得到)1m od()()()(-≡n i i x x C x x C (5)2.循环码的性质(1)GF(q)上的(n,k)循环码中,存在唯一的一个n-k 次首一多项式0111)(g x g x g x x g k n k n k n ++⋅⋅⋅++=-----,每一个码多项式)(x C 都是)(x g 的倍式,即循环码的码多项式)(x C 中次数最低且其常数项为1的码多项式有且仅有一个,为码的生成多项式,记做)(x g 。
循环码C 中的每个码多项式)(x C 都可唯一表示成)()()(x g x m x C =。
(2))(,),(),(),(12x g x x g x x xg x g k -⋅⋅⋅都是生成多项式,他们的线性组合也是生成多项式。
(3)GF(q)上(n,k)循环码的生成多项式)(x g 一定是)1(-nx 的因子。
(4)循环码的生成矩阵H 和校验矩阵H 的正交性可以用多项式表示为1)()(-=n x x h x g 。
东北大学秦皇岛分校计算机与通信工程院电子线路课程设计具有数显的数码转换电路(8421码—余3循环码)课程设计任务书专业:通信工程学号:4101015 学生姓名:吴玉新设计题目:具有数显的码制转换电路8421码—余3循环码一、设计实验条件高频实验室二、设计任务及要求1. 要求输入为8421码。
输出为余三循环码2. 输出要具有数显功能三、设计报告的内容1.前言数字电路课程设计是继“数字电路”课后开出的实践环节课程其目的是训练学生综合运用学过的数字电路的基本知识独立设计比较复杂的数字电路能力。
设计建立在硬件和软件两个平台的基础上。
硬件平台是可编程逻辑器件所选器件可保存在一片芯片上设计出题目要求的数字电路。
软件平台是multisim通过课程设计学生要掌握使用EDA电子设计自动化工具设计数字电路的方法包括设计输入便宜软件仿真下载及硬件仿真等全过程。
数字电路课程设计在于更好的让学生掌握这门课程并且了解其实用性知道该门课程和我们的生活息息相关并且培养学生的动手能力让学生对该门课程产生浓厚的兴趣。
2.设计内容及其分析(1)方案一1.设计思路设计8421转余三循环码主要是考虑怎样找到二者之间的联系。
列出真值表后,根据值为1的那些项列出表达式,用最小项之和表示。
然后根据卡诺图进行化简,得出最简表达式。
最后根据表达式,在Multisim上画图仿真,用灯的灭(表示0)和亮(表示1)来表示码制的转换。
即可得到8421码对余三循环码的转换。
真值表:表1 8421转余三循环码真值表根据真值表得出表达式:X4=A——CX3=B——C——+ A——BCD+A——B——D——X2=A B——C——D——+A——B+A——C+A——DX1=A B——C——+A——BD+A——BC根据表达式画出逻辑电路图:图0 8421码转余3循环码逻辑电路图2.所用主要器件及芯片1.电源;2.导线若干,开关4个;3.白炽灯(5v 1w)4个;4.芯片:74ls04 2片74ls08 1片74ls11 2片74ls20 1片74ls32 2片3.线路运行介绍J1.J2.J3.J4端为输入8421码端,J1端是最高位,依次下排。
循环码产生电路设计序言循环码是线性分组码的一种,所以它具有线性分\组码的一般性质,此外它还具有循环性。
循环码的编码和解码设备都不太复杂,且检(纠)错能力较强。
它不但可以纠正独立的随机错误,也可用于检测突发错误并且非常有效。
(n,k)循环码能够检测长为n-k或更短的任何突发错误, 包括首尾相接突发错误。
n-k+1位长的突发错误不能被检出所占的概率最大是如果l>n-k+1,则不能检测长为l循环码的有关概念2. 1循环码的多项式表示设码长为n的循环码表示为(a n-1,a n-2a n-3…a i…a3,a2,a1)其中a i为二进制数。
通常把码组中各码元当作是一个多项式的系数,即把上式中长为n的各个分量看作多项式:…+a…+a1x+a0的各次项的系数,则码字与码多项式一一对应。
这种多项式中, x仅表示码元位置的标记,因此我们并不关心x的取值。
这种多项式称为码多项式。
2.2 (n,k)循环码的生成多项式(n,k)循环码的生成多项式写为g(x),它是(n,k)循环码码集中唯一的、幂次为n-k的码多项式,)将是一个幂次为n的码多项式。
按模运算,此时:≡R ( x) , g ( x)也是n阶幂, 故Q(x)=1。
由于它是循环码,按模)运算后的“余式”R ( x )也是循环码的一个码字,它必能被g( x)整除,即R(x)/g(x)=f(x)有以上两式可以得到从上式中可以看出,生成多项式g(x)n-k次因式。
2.3 循环码的生成矩阵和一致校验矩阵对所有的i=0,1,…,k-1,用生成多项式g(x有:g(x)式的生成矩阵为它是一个k*n阶的矩阵。
同样,由G·可以得到系统形式的一致检验矩阵为。
课程设计班 级: 通信09—4 姓 名: 宋蕾 学 号: 0906030421 指导教师: 刘玉珍 成 绩:原理数字 课程设计报告电子与信息工程学院通信工程系循环码产生电路设计1. 引言在线性分组码中,有一种重要的码称为循环码(cycil code)。
循环码是在严密的代数学理论基础上建立起来的。
这种编码和解码设备都不太复杂,而且检(纠)错的能力较强。
循环码是线性分组码中最重要的一种子类,是目前研究得比较成熟的一类码。
循环码具有许多特殊的代数性质,这些性质有助于按照要求的纠错能力系统地构造这类码,并且简化译码算法,并且目前发现的大部分线性码与循环码有密切关系。
循环码还有易于实现的特点,很容易用带反馈的移位寄存器实现其硬件。
simulink 是matlab 中的一种可视化仿真工具, 是一种基于matlab 的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。
simulink 可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。
为了创建动态系统模型,Simulink 提供了一个建立模型方块图的图形用户接口(GUI) ,这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。
2. 设计要求(1)用simulink 对系统建模。
(2)写出其生成多项式(自定)。
(3)对所设计的系统性能进行仿真分析。
(4)对其应用举例阐述。
3. 设计原理3.1 循环码的循环性循环码除了具有线性码的一般性质外,还具有循环性。
循环性是指任一码组循环一位(即将最右端的一个码元移至左端,或反之)以后,仍为该码中的一个码组。
在表1中给出一种(7,3)循环码的全部码组。
由此表可以直观看出这种码的循环型。
例如,表中的第2码组向右移一位即得到第5码组;第6码组向右移一位即得到第7码组。
课程设计报告课程设计名称:组成原理课程设计课程设计题目:循环冗余校验码生成电路的设计与实现院(系):计算机学院专业:计算机科学与技术班级:学号:姓名:指导教师:说明:结论(优秀、良好、中等、及格、不及格)作为相关教环节考核必要依据;格式不符合要求;数据不实,不予通过。
报告和电子数据必须作为实验现象重复的关键依据。
学术诚信声明本人声明:所呈交的报告(含电子版及数据文件)是我个人在导师指导下独立进行设计工作及取得的研究结果。
尽我所知,除了文中特别加以标注或致谢中所罗列的内容以外,报告中不包含其他人己经发表或撰写过的研究结果,也不包含其它教育机构使用过的材料。
与我一同工作的同学对本研究所做的任何贡献均己在报告中做了明确的说明并表示了谢意。
报告资料及实验数据若有不实之处,本人愿意接受本教学环节“不及格”和“重修或重做”的评分结论并承担相关一切后果。
本人签名: 日期:年月日目录第1章总体设计方案 (1)1.1设计原理 (1)1.2设计思路 (2)1.3设计环境 (3)第2章详细设计方案 (4)2.1顶层方案图的设计与实现 (4)2.1.1创建顶层图形设计文件 (4)2.2功能模块的设计 (4)2.2.1移位寄存器的设计 (5)2.2.2模2除法器的设计 (6)2.3CRC码生成电路整体仿真 (9)第3章编程下载与硬件测试 (12)3.1器件的选择与引脚锁定 (12)3.2编程下载 (13)3.3硬件测试及结果分析 (13)参考文献 (16)附录(电路原理图) (17)第1章 总体设计方案1.1 设计原理循环冗余校验码(Cyclic Redundancy Check,CRC)简称为循环码或CRC 码。
此码可以发现并纠正信息在存储或传送过程中连续出现的多位错误代码。
计算机常用的二进制信息沿一条信号线逐位在设备之间传送称为串行传送,CRC 码常用于串行传送过程中的检错与纠错。
CRC 码一般是指n 位信息码之后拼接k 位校验码。
课程设计班级:通信09—4姓名:宋蕾学号: 0906030421指导教师:玉珍成绩:电子与信息工程学院通信工程系循环码产生电路设计1. 引言在线性分组码中,有一种重要的码称为循环码(cycil code)。
循环码是在严密的代数学理论基础上建立起来的。
这种编码和解码设备都不太复杂,而且检(纠)错的能力较强。
循环码是线性分组码中最重要的一种子类,是目前研究得比较成熟的一类码。
循环码具有许多特殊的代数性质,这些性质有助于按照要求的纠错能力系统地构造这类码,并且简化译码算法,并且目前发现的大部分线性码与循环码有密切关系。
循环码还有易于实现的特点,很容易用带反馈的移位寄存器实现其硬件。
simulink 是matlab 中的一种可视化仿真工具, 是一种基于matlab 的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。
simulink 可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。
为了创建动态系统模型,Simulink 提供了一个建立模型方块图的图形用户接口(GUI) ,这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。
2. 设计要求(1)用simulink 对系统建模。
(2)写出其生成多项式(自定)。
(3)对所设计的系统性能进行仿真分析。
(4)对其应用举例阐述。
3. 设计原理3.1 循环码的循环性循环码除了具有线性码的一般性质外,还具有循环性。
循环性是指任一码组循环一位(即将最右端的一个码元移至左端,或反之)以后,仍为该码中的一个码组。
在表1中给出一种(7,3)循环码的全部码组。
由此表可以直观看出这种码的循环型。
例如,表中的第2码组向右移一位即得到第5码组;第6码组向右移一位即得到第7码组。
一般说来,若(0121a a a a n n ⋯-- )是循环码的一个码组,则循环移位后的码组:(1032---⋯⋯n n n a a a a )(2143----⋯⋯n n n n a a a a )……(1210a a a a n ⋯⋯-)也是该编码组中的码组。
表3-1 一种(7,3)循环码的全部码组码组编号 信息位a 6a 5a 4监督位 a 3a 2a 1a 0 码组编号 信息位 a 6a 5a 4 监督位 a 3a 2a 1a 0 1000 0000 5 100 1011 2001 0111 6 101 1100 31110 7 110 0101 4 011 1001 8 111 0010由于循环码具有码的代数结构清晰、性能较好、编译码简单和易于实现的特点,因此在目前的计算机纠错系统中所使用的线性分组码几乎都是循环码。
它不但可以纠正独立的随机错误,也可用于检测突发错误并且非常有效。
),(k n 循环码能够检测长为k n -或更短的任何突发错误;其中n 为码长,k 为信息位数。
3.2 循环码多项式在代数编码理论中,为了便于计算,把这样的码组中各码元当作是一个多项式的系数,即把一个长度为n 的码组表示成:=)(x T 012211a x a x a x a x a i i n n n n ++⋯++⋯++---- (3.2-1)这种多项式中, x 仅是码元位置的标记,例如上式表示第7码组中a 6、a 5、a 2和a 0为“1”,其他均为0。
因此我们并不关心x 的取值。
这种多项式有时称为码多项式。
例如,表1中第7个码组可以表示为:1)(256+++=x x x x T3.3 循环码的生成多项式和生成矩阵在循环码中,一个),(k n 码有k 2个不同的码组。
若用g(x)表示其中前)1(-k 位皆为“0”的码组,则)(,),(),(),(12x g x x g x x xg x g k -⋯都是码组,而且这k 个码组是线性无关的。
因此他们可以用来构成此循环码的生成矩阵G 。
可以证明生成多项式)(x g 具有以下特性:(1))(x g 是一个常数项为1的最高次数为r=n-k 次多项式;(2))(x g 是1+n x 的一个因式;(3)所有码多项式)(x T 都可被整除,而且任意一个次数不大于的多项式乘)(x g 都是码多项式。
为了保证构成的生成矩阵G 的各行线性不相关,通常用)(x g 来构造生成矩阵,这时,生成矩阵G 可以表示为:⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡⋅⋅⋅=--)()()()()(21x g x g x x g x x g x x G k k M M (3.3-1)其中0111)(g x g x g x g x g k n k n k n k n ++++=------Λ,因此,一旦生成多项式)(x g 确定以后,该循环码的生成矩阵就可以确定的,进而该循环码的所有码字就可以确定。
3.4 循环码的编码方法在编码时,首先需要根据给定的)(k n -循环码的参数确定生成多项式)(x g ,也就是从1+n x 的因子中选一个)(k n -次多项式作为)(x g ;然后,利用循环码的编码特点,即所有循环码多项式)(x T 都可以被)(x g 整除,来定义生成多项式)(x g 。
根据上述原理可以得到一个较简单的系统循环码编码方法:设要产生)(k n -循环码,)(x m 表示信息多项式,则其次数必小于k ,而)(x m x k n ⋅-的次数必小于n ,用)(x m x k n ⋅-除以)(x g ,可得余数)(x r ,)(x r 的次数必小于)(k n -,将)(x r 到信息位后作监督位,就得到了系统循环码。
下面就将以上各步处理加以解释。
(1)用)(x m x k n ⋅-。
这一运算实际上是把信息码后附加上)(k n -个“0”。
例如,信息码为1010,它相当于x x x m +=3)(。
当347=-=-k n 时,46)(x x x m x k n +=⋅-,它相当于1010000。
而希望的到得系统循环码多项式应当是)()()(x r x m x x T k n +⋅=-。
(2)求)(x r 。
由于循环码多项式)(x T 都可以被)(x g 整除,也就是:)()()()()()()()()()(x g x r x g x m x x g x r x m x x Q x g x T k n k n +⋅=+⋅==-- (3.4-1)因此,用)(x m x k n ⋅-除以)(x g ,就得到商)(x Q 和余式)(x r ,即 )()()()()(x g x r x Q x g x m x k n +=⋅- (3.4-2) 这样就得到了)(x r 。
(3)编码输出系统循环码多项式)(x T 为:)()()(x r x m x x T k n +⋅=-),例如,对于)4,7(循环码,若选用1)(3++=x x x g ,信息码1010的编码输出为:1010011。
3.5 循环码的电路设计第一步:移位寄存器数目为k n r -=,反馈连接取决于生成多项式系数。
门1ON ,门2OFF ,信息码元以],,,,[0121m m m m k k ⋯⋯--依次输入编码器,同时通过或门输出,在除法电路的右端输入)(x M 相当于k n x -左乘)(x M 。
第二步:r 次移位后,寄存器中存放的为余项)(x r 的系数,门2ON ,门1OFF 。
第三步:经k n r -=次移位,校验元从编码器输出,编码电路图如下:图3-1 编码电路4. 循环码的SIMULINK仿真设计的( 7,4)循环码,通过simulink仿真,仿真模型如下图所示:图4-1 simulink模型方框图我们可以通过改变参数从而改变其编码,参数如下图所示:图4-2 参数设置输入信息位为1010的波形:图4-3 输入波形对输入进行编码时的参数:图4-4 参数设置编码后的波形:图4-5 输出波形5. 结论5.1 循环码的应用(1)循环码在微机网络系统中的应用(2)循环码在CDMA中的应用(3)循环码在数字通信中的应用(4)循环码在前向纠错中的应用(5)循环码在铁路通讯安全中的应用5.2个人总结这次课程设计我设计了一个循环码产生电路,实现了编码循环,通过自己查阅书籍,上网搜索资料,经过整合研究了解了怎样实现编码循环,设计的过程中使我对循环码的编码原理,编解码方法有了更深的理解,让我对课本的知识的理解更加深刻,这个设计中不仅包括《模拟电子技术基础》里反馈的知识还用到了《数字电子技术基础》里的寄存器和门电路的知识,让我又重新记起了很多有用的东西,设计中使用了matlab软件中的similink对电路进行仿真,matlab对我来说也是新的东西通过老师的指导和自己的努力基本掌握了仿真的原理和过程,我现在充分感到只有理论知识是远远不够的,只有实际动手练习设计才能真正提高自己的水平,在设计中也遇到了很多难题通过和同学讨论最后做出了成果,感到十分高兴,这次的课程设计对我来说是个很大的补充,让我不知不觉中提高了很多,学到了很多。
参考文献[1]樊昌信,曹丽娜,通信原理,国防工业,2006,340~346[2]童诗白,华成英,模拟电子技术基础,高等教育,2006.5,259~260[3]阎石,数字电子技术基础,高等教育,2006.5,66~72,272~277。