内容发布更新时间 : 2024/11/8 17:11:59星期一 下面是文章的全部内容请认真阅读。
一、循环码编码
1.1信道编码理论
1.1.1信道编码的目的
在数字通信系统中由于信道内存在加性噪声及信道传输特性不理想等容易造成码间串扰同时多用户干扰、多径传播和功率限制等也导致错误译码。为了确保系统的误比特率指标通常采用信道编码。信道编码是为了保证信息传输的可靠性、提高传输质量而设计的一种编码。它是在信息码中增加一定数量的多余码元,使码字具有一定的抗干扰能力。 1.1.2信道编码的实质
信道编码的实质就是在信息码中增加一定数量的多余码元(称为监督码元),使它们满足一定的约束关系,这样由信息码元和监督码元共同组成一个由信道传输的码字。举例而言,欲传输k位信息,经过编码得到长为n(n>k)的码字,则增加了 n - k = r 位多余码元,我们定义 R = k / n 为编码效率。 1.1.3 信道编码公式
令信息速率为fb,经过编码以后的速率为ft,定义:R=fb/ft为编码率。则对于任何一个信道,总存在一个截止速率R0,只要R?R0,总可以达到:BER?CR2-nR0,其中CR为某个常数,n为编码的约束长度。
对于等概二进码、AWGN信道,有:
R0?1?log2(1?e?R0Eb/N0)Eb11?ln(1?R0)N0R02?12
1.1.4线性分组码的编译码原理 1、 线性分组码的基本概念
一个[n ,k]线性分组码, 是把信息划成k个码元为一段(称为信息组), 通过编码器变成长为n个 码元的一组, 作为[n, k]线性分组码的一个码字。 若每位码元的取值有q种(q为素数幂), 则共有qk个码字。 n长的数组共有qn组, 在二进制情况下, 有2n个数组。 显然, qn个n维数组(n重)组成一个GF(q)上的n维线性空间。 如果qk(或2k)个码字集合构成了一个k维线性子空间, 则称它是一个[n ,k]线性分组码。即将k维k重信息空间的元素线性映射到n维n重矢量空间(接收矢量/收码) 的k维n重子空间(码空间)。如下图为[7,3]码
2、生成矩阵和校验矩阵 生成矩阵:
?1000?111??0100?110??G??IkQ????0010?101????0001?011?
G称为生成矩阵,因为可以用它产生整个码组A,即有
A??a6a5a4a3a2a1a0???a6a5a4a3?G生成矩阵的性质:具有[IkQ]形式的生成矩阵称为典型生成矩阵。由典型生成矩阵得出的码组A中,信息位的位置不变,监督位附加于其后。这种形式的码组称为系统码。 矩阵G的各行也必须是线性无关的。如果已有k个线性无关的码组,则可以将其用来作为生成矩阵G,并由它生成其余码组。
3
监督矩阵:
?1110?100????PI?H??1101?010r????1011?001??
监督矩阵可用来校验和纠错。
1.2循环码介绍
循环码是线性分组码的一种,所以它具有线性分组码的一般特性,此外还具有循环性。循环码的编码和解码设备都不太复杂,且检(纠)错能力强。它不但可以检测随机的错误,还可以检错突发的错误。(n,k)循环码可以检测长为n-k或更短的任何突发错误,包括首尾相接突发错误。
循环码是一种无权码,循环码编排的特点是相邻两个数码之间符合卡诺图中的邻接条件,即相邻两个数码之间只有一位码元不同,码元就是组成数码的单元。符合这个特点的有多种方案,但循环码只能是表中的那种。循环码的优点是没有瞬时错误,因为在数码变换过程中,在速度上会有快有慢,中间经过其它一些数码形式,称它们为瞬时错误。这在某些数字系统中是不允许的,为此希望相邻两个数码之间仅有一位码元不同,即满足邻接条件,这样就不会产生瞬时错误。循环码就是这样一种编码,它可以在卡诺图中依次循环得到。循环码又称格雷码( Grey Code )。
循环码是采用循环移位特性界定的一类线性分组码。是线性分组码的一个重要子类;BCH码是其主要的一大类;汉明码、R-M码、Golay码、RS码等可变换;纳入循环码内,Goppa码的一个子类也属于循环码;用反馈线性移位寄存器可以容易的实现其编码和得到伴随式;由于数学上的特性,译码方法简单。 1.2.1循环码定义
设C使某(n,k)线性分组码的码字集合,如果对任何
C?(cn?1,cn?2,?,c0)?C,它的循环移位C(1)?(cn?2,cn?3,?,c0,cn?1)也属于C。
4
该码在结构上有另外的限制,即一个码字任意循环移位的结果仍是一个有效码字。 1.2.2循环码的特点
循环码有两个数学特征:
(1)线性分组码的封闭型;
(2)循环性,即任一许用码组经过循环移位后所得到的码组仍为该许用码组集合中的一个码组。如:
若
?an?1an?2???a1a0?为一循环码组,则
?an?2an?3???a0an?1?、?an?3an?4???an?1an?2?、……还是
许用码组。也就是说,不论是左移还是右移,也不论移多少位,仍然是许用的循环码组。
1.2.3 (n.k)循环码的码多项式表示
为了用代数理论研究循环码,可将码组用多项式表示,设码长为n的循环码表示为(an?1 an?2 ? ai ? a1 a0), 其中ai为二进制数,通常把码组中各码元当做二进制的系数,即把上式中长为n的各个分量看做多项式的各项系数,:
T?x??an?1xn?1?an?2xn?2???aixn?i???a1x?a0 (2—1)
则码字与码多项式一一对应,这种多项式称为码多项式。
式中,x的幂次是码元位置的标记。若把一个码组左移i位后的码组记为,
A(i)?(an?1?ian?2?i...an?i?1an?i)(3-4)
其码多项式为
A(i)(x)?an?1?ixn?1?an?i?2xn?2?...?an?1?ix?an?i (3-5)
A(i)(x)可以根据xiA(x)按模xn+1运算得到,即
(3-6) A(i)(x)?xiA(x)mod(xn?1)
xiA(x)?Q(x)(xn?1)? (3-7) A(i)(x)5