基于MATLAB的维特比译码算法的仿真研究+程序(4)_毕业论文

毕业论文移动版

毕业论文 > 数学论文 >

基于MATLAB的维特比译码算法的仿真研究+程序(4)


循环码是一种无权码,循环码编排的特点是相邻两个数码之间符合卡诺图中的邻接条件,即相邻两个数码之间只有一位码元不同,码元就是组成数码的单元。符合这个特点的有多种方案,但循环码只能是表中的那种。循环码的优点是没有瞬时错误,因为在数码变换过程中,在速度上会有快有慢,中间经过其它一些数码形式,称它们为瞬时错误。这在某些数字系统中是不允许的,为此希望相邻两个数码之间仅有一位码元不同,即满足邻接条件,这样就不会产生瞬时错误。循环码就是这样一种编码,它可以在卡诺图中依次循环得到。循环码又称格雷码( Grey Code )。
循环码最大的特点就是码字的循环特性,所谓循环特性是指:循环码中任一许用码组经过循环移位后,所得到的码组仍然是许用码组。也就是说,不论是左移还是右移,也不论移多少位,仍然是许用的循环码组。
2.3    卷积码
分组码以孤立码块为单位编译码。从信息论的角度,信息流割裂成孤立块后丧失了分组间的相关信息,信息流切割得越碎(码字越短),丧失的信息必然越多。从另一角度,编码定理已指出分组码长n越大越好,但译码运算量随n指数上升的事实又限制了n的进一步增大。于是想到,在码长n有限时,能否将有限个分组间前后相关信息添加到码字里从而等效地增加码长?译码时能否利用前面已译码及前后相关性作为更正确译码的参考?这些想法导致了由埃利斯(Elias,1995)最早提出的卷积码的产生。
卷积码与以前各章所讨论的分组码不相同。分组码编码时,本组中的个校验元仅与本组的k个信息元有关,而与其它各组码元无关,分组码译码时,也仅从本码组中的码元内提取有关译码信息,而与其它各组无关。但是在卷积码编码中,本组的个校验元不仅与本组的个信息元有关,而且还与以前各时刻输入至编码器的信息组有关。
正由于在卷积码的编码过程中充分利用了各级之间的相关性,且和也较小,因此,在与分组码同样的码率R和设备复杂性条件下,无论从理论上还是从实际上均已证明卷积码的性能至少不比分组码差,且实现最佳和准最佳译码也较分组码容易。
卷积码一般用(n0, k0, m)来表示,n0为码长,k0为信息位,m为编码存储,m+1为编码约束度,码率R = k0/n0。卷积码的编码可以通过由移位寄存器组成的网络结构实现。图2.2.5.1给出了一个二进制(2,1,2)非系统卷积码的编码框图。
在图2.2.5.1中,为移位寄存器。编码时,在某一时刻k送入编码器一个信息比特,同时移位寄存器中的数据(和中存储的数据分别是时刻和 时刻的输入和)右移一位,编码器根据移位寄存器的输出(和)和编码器输入,按照编码器中所确定的规则进行运算,生成该时刻的两个输出码元和。由图2.2.5.1的编码器结构图可知,该卷积码的编码规则如下。
2.5.1  (2,1,2)非系统卷积码的编码器
 输出码字为:
可见,任一时刻k的编码输出不仅与当前时刻的输入有关,而且与时刻和时刻的输入和有关;同时,k时刻的输入信息元还影响接下来时刻和时刻的编码输出和,例如
 
2.3.1    卷积码的编码
通常卷积码的编码电路可以看做一个有限状态的线性电路,因此也可以利用状态图来描述编码过程。编码器寄存器在任一时刻所存储的数据取值称为编码器的一个状态,以来表示。对于图2.2.5.1所示的二进制卷积码,编码器中包含两个寄存器,因此,共有种可能状态 (责任编辑:qin)