一种级联编码器及实现方法

文档序号:7523337阅读:1187来源:国知局
专利名称:一种级联编码器及实现方法
技术领域
本发明涉及一种级联编码器及实现方法,特别是涉及信道编码部分的一种级联编码器及实现方法。属于通信领域。
背景技术
RS码,即里所码,是一种前向纠错的信道编码。它被广泛的应用于各种商业用途, 最显著的是在⑶、DVD和蓝光光盘上的使用;在数据传输中,它也被用于DSL和WiMAX ;广播系统中DVB和ATSC也闪现着它的身影;在计算机科学里,它是第六层标准RAID的重要成
员ORS编码是一种定义在伽罗华域GF ^1)上的运算。(n = 255,k = 239) RS码可由 GF(28)导出。k表示待编码的信息个数,η表示编码后的数据个数,n-k= 16就是添加的冗余个数。(255,239) RS码能够检测16、纠正8个错误。因为RS码是循环码,所以它的监督码元的生成由生成多项式决定。生成多项式的幂为监督码元数,可取本原元α的连续n-k= 16次幂作为生成多项式的根。因此可以得到(255,239) RS码的生成多项式是g (X) = (Χ- α ) (Χ- α 2)…(Χ- α 15) (Χ- α 16)(1)将g(X)整理成关于X的升幂排列的格式,整理为g (X) = g0+glX+g2X2+··· +g15X15+g16X16 = α 136+ α 24tlX+... + α 121Χ15+Χ16 (2)由于RS码为循环码字,按照循环码的系统编码方法,可得到RS编码。信息多项式为m(X);监督多项式为P(X);商多项式为q(X);那么Xn_km(X) = q(X)g(X)+p(X)(3)可表示为p(X) = Xn"km (X) modg (X),(4)最终码子多项式U(X),表示为U(X) = ρ (X)+Xn^ii(X)。(5)卷积码是1955年由Elias等人提出的,是一种非常有前途的编码方法。卷积码和分组码的根本区别在于,它不是把信息序列分组后再进行单独编码,而是由连续输入的信息序列得到连续输出的已编码序列。同样,在卷积码译码过程中,不仅从此时刻收到的码组中提取译码信息,而且还要利用以前或以后各时刻收到的码组中提取有关信息。而且卷积码的纠错能力随约束长度的增加而增强,差错率则随着约束长度增加而呈指数下降。卷积码是一种常用的差错控制编码,对于卷积码Ov k0, m),表示该卷积码编码器将h比特信息段编成Iitl比特的码组,即每一时刻送至卷积编码器的输入信息元为1 个,相应地卷积编码器输出Iitl个码元,并且输出的Iitl比特码组不仅与当前1 比特信息段有关, 还与之前输入的(m-Ι)个信息段有关联,其中,m为大于1的整数,m(又称约束长度)等于
移位寄存器的个数加1,卷积码用生成序列义g2]:· g; - 来表示输入与输出间的关系,其中,gf表示第K个移位寄存器的输入端到第j个模2加法器输入端的连接线情况,若有连线,则容f=l,若无连线,则容f=0。如图5所示为卷积编码(2,1,7)对应的卷积编码器,1个比特输入对应有2比特输出,约束长度为7,移位寄存器个数为6个,根据各个移位寄存器的输入输出端与各个模2加法器输入端的连接线关系,其生成序列& = (1111001)2,和& = (1011011)2,因此,该卷积编码器生成的多项式为(171,133)8。维特比(Viterbi)算法是目前运用得最广泛的卷积编码的译码算法,Viterbi译码方法主要从2"1-1种(m为卷积编码器约束长度)可能状态中更新最佳状态和传输的最可能位序列,其将接收到的编码信号与内建的参考值做运算,找出最可能的路径,并依此路径还原正确的数据,以完成译码流程。对于(2,1,7)卷积编码,编码过程存在27—1 (64)种可能状态,如图5的卷积编码器,若当前时刻寄存器1-6中的值为000000时,表明当前状态为S0,若此处输入1,则寄存器1-6中的值变为100000时,当前状态从SO转变为Si,以此类推,当寄存器1-6中的值为 111111时,表明当前状态为S63。由此,各状态转移图可由类似蝴蝶形状的蝶形图表示,其中,Si和Si+32构成一对蝶形图,根据不同的输入,蝶形图的两个目的状态分别对应于S2i 和S(2i+1),其中,i为0到31的任一整数。图7所示为i为0的一个蝶形对,如图所示, 若当前状态为S0,则当输入0时,状态SO经由状态转移方向转移至状态S0,输出XY为00, 当输入1时,状态SO经由状态转移方向转移至状态Si,输出XY为11 ;若当前状态为S32, 则当输入0时,状态S32经由状态转移方向转移至状态S0,输出XY为11,当输入1时,状态 S32经由状态转移方向转移至状态Si,输出XY为00。Viterbi译码即为上述卷积编码的逆过程。由此可见,RS码具有较强的抗突发错误能力,而卷积编码具有很好的抗随机干扰性能,因此,为了充分利用他们二者各自的优点,本发明拟将RS码和卷积编码同时应用于一个通信系统之中。基于这方面考虑,构成本发明提供一种级联编码器及实现方法的构思。

发明内容
本发明的目的在于提供一种级联编码器及实现方法,也即本发明是将RS编码器与卷积编码器通过交织器连接,设计了一种级联编码器及实现方法,并将其应用于OFDM通信系统之中。重点是RS编码器和卷积译码器的设计实现。具体技术方案是本发明提供的一种级联编码器,其特征在于所述的级联编码器是由编码器和解码器通过交织器连接而成,所述的编码器依次由RS编码器、外交织器、卷积编码器和内交织器连接构成;所述的解码器则依次由内解交织器、卷积解码器、外解交织器和RS译码器连接构成;其中,(I)RS编码器选用LFSR移位结构,SP (η-k)阶移位寄存器的系统编码;(》RS译码器采用与RS编码器相同的本原多项式,参数与编码器相同;(3)卷积编码器采用(2,1,7)卷积编码器,其x、y状态转移多项式为(171,133,);(4)卷积译码器是基于Viterbi算法设计的Viterbi译码器;(5)交织器为简单的行列交织器,以抵抗OFDM系统中信道的突发成片错误,把一组的成片错误分散到不同的分组中。级联编码器、解码器的实现框图如下图1所示,
5
1. IRS 编码器对RS编码器的实现,选用比较容易实现的LFSR移位结构,S卩(n_k)阶移位寄存器的系统编码,如图2所示。图2为(255,239) RS编码的16阶位寄存器的系统编码器实现框图,图2所示的寄存器的每个状态具有8bit的码元。系数,g2,…,&4,g15是生成多项式的系数。图2结构的一个实现难点就是生成多项式的系数与输入信息的伽罗华域乘法运算。本发明对于伽罗华域的乘法器的实现是通过如下的方法转化为两组数据的异或操作实现,使复杂的乘法运算简化为易于硬件实现的简单的异或操作。 RA =Ctogdi^Chgd1 +... +Ongd1RB=Bogd^hgd1+... +hgd1因此,RC=RAXRB=( a0gd°+algd1+... +a7gd7)X(b0gd°+blgd1+... +b7gd7)= a0 b0gd0+(aib0+a0bi)gdi+(a2bo+aibi+aob2)go2+... +a-jb-jgd14=^gci+digd1+... +d7gd7+e0g^+eigd9+... +e6gd14又因为,a8=a°+a2+a3+o4RC=CQgd0+Cxgd1 +... +Cngd1因此,整理多项式并比较相同项的系数可以得到c0 = d0+e0+e4+e5+e6 C1 = d1+e2+e5+e6c2 = d2+e0+e2+e4+e5 C3 = d3+e0+e1+e3+e4C4 = d4+e0+e1+e2+e6 C5 = C^eJeJe3c6 = d6+e2+e3+e4 C7 = d7+e3+e4+e5所以,在RS编码器乘法模块中,首先使用两个8位的寄存器,一个存储生成多项式的系数RA,另外一个存储待乘的输入数据RB。另外,还需要一个15位的寄存器用来存放相乘运算的中间变量RAxRB,首先,根据系数相同的规则,可以通过简单的异或操作得到dQ,
Cl1,......,d7,e0,ei,......,e6的数值,然后,根据上述的系数对应规则,同样可以通过异或
操作得到(V C1,......,C7的数值,最终把数据的15位表达式转化为8位的乘法结果RC,
实现了对乘法运算的简化操作。1. 2RS 译码器RS译码器采用与RS编码器相同的本原多项式,参数也与编码器相同,具体实现框图如图3所示。由图3可见,RS解码主要分为错误检测(Error Detection)和错误纠正(Error Correction)两个过程。具体可分为如下三个步骤1),伴随多项式的计算;伴随多项式的计算是整个RS译码过程中的第一步,也是最重要的一步。其设计的难点在于接收到的数据的流水操作以及送入伴随多项式计算模块的数据的乘法操作。伴随多项式的计算拟采用如图4所示的结构实现。图4中所示的rQ,ri,……,r254对应255个伽罗华域的数据,依次送入伴随多项式的实现结构,做伽罗华域的乘法运算即可实现对伴随多项式的计算,最终可以得到16个校验信息&,S1;……,S15。(详见实施例2)2),确定错误位置多项式和错误估值函数;伴随式S (χ)的计算就是用来求解关键方程S(X) σ (χ) = ω (x)modx2t的,求解关键方程,可以得到错误位置多项式σ (χ) = σ 乂+σ t_lXH+... +σ 0和错误值多项式ω (χ) = cot_lXH+... + colX+co0。3),求解错误位置数和错误数值,并进行纠正。这一过程的处理方法主要有两类,一个是R)rney提出的计算方法,另外一类是是由Berlekamp在R)rney的基础之上稍作修改提出的方法。在此不做详细的介绍。2. 1卷积编码器本发明采用(2,1,7)卷积编码器,其X、Y状态转移多项式为(171,133)。每个时钟周期输入1个bit信息,输出2个bit信息。所述卷积编码器结构如图5所示。卷积编码器的设计与译码器相比较为简单。只需要按照生成多项式对输入的数据逐位的异或即可。例如,本发明使用的卷积编码器,其生成序列& = (1111001)2和& = (1011011)2,因此,对应1位的输入信息,输出信息X和Y分别由输入信息按照A和&的规则相异或得到。2. 2卷积译码器所述的额卷积译码器是基于Viterbi算法设计Viterbi译码器。Viterbi译码器的框图如图6所示。由图6可见,译码器主要由三个单元构成1),分支度量计算(bmg)单元;分支度量值计算单元,用于接收输入的两路数据,并根据状态转移蝶形对的状态转移规则,对接收到的两路数据进行计算,得到各状态的分支度量值;2),加比选计算(acs)单元;加比选单元,用于利用上述分支度量值计算单元计算得到的分支度量值,对各状态前一时刻的路径度量值进行加比选ACS处理,其中,上述加比选单元由8个并行执行的加比选模块组成,其中,每个加比选模块处理的4个状态转移蝶形对的相应分支具有相同的输入输出特性;3),回溯输出译码结果(trace back)单元。回溯输出译码结果单元涉及三个部分的设计存储单元、最大值搜索单元和回溯输出单元。存储单元,用于存储经上述加比选单元处理后得到的各状态的路径度量值及上述路径度量值的状态转移关系标记;最大值搜索单元,用于对上述存储单元存储的各状态的路径度量值进行比较,搜索出最大的路径度量值;回溯输出单元,用于根据上述存储单元存储的状态转移关系标记,对上述最大的路径度量值进行回溯,并输出译码结果。3交织器OFDM系统中交织器的主要作用是抵抗信道的突发成片错误。交织器的设计目的就是把一组的成片错误分散到不同的分组之中。在这里我们选用实现较为简单的行列交织器。系统设计的时候,发射端,RS编码输出的数据按列写入交织器,CC编码器(即卷积编码器)按行读取交织器内的数据;接收端,CC译码器按行向交织器写入译码后数据,RS译码器按列读取待译码数据。示意图1中的外交织器和内交织器分别如图9和图10所示。因为解交织器的操作与交织器的操作类似,因此,只需要给出外交织器和内交织器示意图即可。图9中的数字表示寄存器的地址值。由图可以看出,整个寄存器的大小为0到观79 总共观80个地址空间。在数据输入的时候,我们从A端口按照地址递增45的顺序写入,即 第一次写入第0地址位置,第二次写入第45地址位置,第三次写入第90地址位置,……,直至从第0地址位置写到第观79地址位置,把寄存器写满。然后,读取数据的时候,我们使用端口 A和B同时读取。端口 A读取寄存器上半部分地址空间内存储的数据,端口 B读取寄存器下半部分地址空间内存储的数据。读取的时候,按行顺序读取,即从第0地址位置读取到第44地址位置,从第45地址位置读取到第89地址位置,从第90地址位置读取到第134 地址位置,……,直至把寄存器读空为止。图10中的数字表示寄存器的地址值。由图可以看出,整个寄存器的大小为0到 1471总共1472个地址空间。对于寄存器的写操作,我们使用端口 A和端口 B同时进行。端口 A写寄存器的上半部分,端口 B写寄存器的下半部分。从图中可以看出,寄存器上半部分的地址空间为0到735总共736个地址值,下半部分地址空间为736到1471总共也是736 个地址值。端口 A的写地址按照23的值递增,即第一次写入第0地址位置,第二次写入第 23地址位置,第三次写入第46地址位置,……,直至从第0地址位置写到第735地址位置, 把寄存器上半部分写满。端口 B的写地址只需将每个端口 A的写地址加上736即可。读寄存器只通过端口 A读取。读取寄存器的时候,按行顺序读取,即从第0地址位置读取到第 22地址位置,从第23地址位置读取到第45地址位置,从第46地址位置读取到第68地址位置,……,直至把寄存器读空为止。总之,本发明所述的级联编码器的实现方式是按照先做RS编码,接着做卷积编码,再做卷积解码,最后是做RS译码的顺序实现的。本发明通过计算机matlab仿真与具体硬件实现结果同时验证,可以得到同样的系统参数条件下,不同的编码方法的增益值具有较大的差异。其中级联编码器具有最好的性能。在中低误码率条件下,级联编码器比RS编码器和卷积编码器单独编码有大约2dB编码增益,最大值可达4dB左右。在中高误码率条件下,卷积码器与级联码器性能相接近。因此,本发明的级联编码器的引入,使得OFDM系统性能具有显著的提高。


图1 级联编码器、解码器示意框图;图 2 (255,239) RS 码的 LFSR 编码图;图3 :RS解码器结构;
图4 伴随多项式的实现结构;图5 1卷积编码器(状态从右向左看入);图 6 =Viterbi 译码框图;图7 状态转移蝶形对的示意图;图8 =Viterbi解码器实施流程示意图;图9:外交织器示意图;图10:内交织器示意图。
具体实施例方式通过下面实施例的描述,进一步说明本发明的实质性特点和显著的进步,但本发明决非仅局限于实施例。实施例1 如图2结构的编码器的具体实现时,采用16个上述的基于异或操作的乘法器并行计算,可以快速流水实现RS编码器。具体的(255,239) RS码的16阶位寄存器的系统编码形成系统码字的实现步骤如下a),开关1在开始的k个时钟周期内合上,使消息码元进入移位寄存器的(n-k) 级。对于(255,239) RS 码,k 取 239,(n-k)取 255-239 = 16。这一步可以分解为三个过程执行第一个过程输入待编码的数据;总共需要输入239个位宽为8的数据。第二个过程对输入的数据做伽罗华域的乘法运算;对每一个输入的数据,进行一次伽罗华域的乘法运算。第三个过程用第三步得到的乘法结果更新寄存器的内容;将乘法得到的结果, 与寄存器原来存储的数据相加,用得到的新的结果替换原先的寄存器值,存入寄存器之中。b),开关2在开始的k个时钟周期内处于下面的位置,使得消息码元同时直接传输到一个输出寄存器中。等第k个消息码元传输到输出寄存器,开关1断开,开关2移到上面位置。随后的(n-k)个时钟周期用于清除移位寄存器中的监督码元,这可以通过将其移到输出寄存器而完成。当(n-k)个寄存器的值全部输出以后,我们就完成了一次编码,得到了需要的码字。全部的时钟周期数等于n,输出寄存器存储的内容就是码字多项式p(X)+Xn-km(X),p(X)和m(X)分别表示监督码元和消息码元多项式形式。实施例2 图4中D单元存储的是临时的数据,由上到下分别为定义为S' 0, S' ……,S' 15,S' 0,S' 1;……,S' 15初始值为OdfS'。与α1相乘,得到结果tempi =S' QXa1JfS' 1与α2相乘,得到结果temp2 = S' ^ α2,……,将S' 15与α 16相乘,得到结果templ6 = S' 15Χ α16。输入rQ的时候,由上到下分别更新S' 0,S' 1;……,
S' 15为"ο = r0+templ, S' ! = r。+temp2,......,S' 15 = r。+templ6。得到新的 S' 0,
S' 1;……,S' 15以后,继续使用上边的方法更新tempi,temp2,……,templ6,将新得到的S'。与α1相乘,得到结果templ = S' ^X α\将新得到的S'工与α2相乘,得到结果 temp2 = S' ^ α2,……,将新得到的S' 15与α 16相乘,得到结果templ6 = S' 15Χ α “5。
9接着,输入T1的时候,由上到下分别更新S' 0,S' 1;……,S' JS' O = T^tempLS'工 =r1+temp2,……,S' 15 =巧+tempie。得到新的S'。,S' 1;……,S' 15以后,继续使用上边的方法更新tempi,temp2,……,templ6,将新得到的S ‘ ^与α1相乘,得到结果 tempi = S' 一 α1,将新得到的S' i与α 2相乘,得到结果temp2 = S' ^ α2,……,将新得到的S' 15与α 16相乘,得到结果templ6 = S' 15Χ α “5。如此重复,直至rQ,巧,……, r254按顺序全部输入图4的结构以后,D单元存储的内容即为我们需要的16个校验信息&,
S” ......‘ S15O同样,对于本结构中的乘法运算同样适用编码器中设计的乘法器的实现方法。实施例3 卷积解码器的实施流程(图8)2201、接收输入的两路数据;原始数据是通过卷积编码后会被分成并行的两路数据(包含信道软信息,即编码后数据和信道噪声的叠加)后通过信道传输到维特比译码器中进行解码。2202、对接收到的两路数据进行计算,得到各状态的分支度量值;根据状态转移蝶形对的状态转移规则,对接收到的两路数据进行计算,得到各状态的分支度量值。由于原始数据在(2,1,7)卷积编码器处理的过程中,有64种可能状态出现,因此, 维特比译码过程需要针对64种可能的状态(对应于32个状态转移蝶形对)进行计算并搜索出最大概率路径,以还原出原始的数据。维特比在接收到输入的两路数据后,对两路数据进行计算,以求得各状态的分支
度量值。通过观察状态转移蝶形对发现,每条分支对应的两个软判决符号只存在四种组合00,01,11,10。假设输入的两路数据为X1Y1,则相应的分支度量值的计算以下存在四种
结果BMll = X1+Y1 ;BMlO = Xl-Yl ;BMOl = -Xl+Yl = -(Xl-Yl) = -BMlO ;BMOO = -Xl-Yl = - (Xl+Yl) = -BMll ;可见,通过计算两路数据的和与差,便可计算得到所有分支的分支度量值。因此,本发明实施例中优化了分支度量值的计算方法,进一步提高了分支度量值的计算速度,其具体实现方法如下根据状态转移蝶形对的状态转移规则,得到每个状态的两条分支的软判决符号 dld2 ;若某分支的dld2为11,则将接收的两路数据相加,并将得到的值作为该分支分支
度量值;若某分支的dld2为10,则将接收的两路数据相减,并将得到的值作为该分支分支
度量值;若某分支的dld2为00,则将接收的两路数据相加后取反,并将得到的值作为该分
支分支度量值;若某分支的dld2为01,则将接收的两路数据相减后取反,并将得到的值作为该分支分支度量值。通过上述方法可更快地完成各状态的分支度量值的计算。2203、根据各状态的转移关系进行ACS处理;通过采用分时复用的方式,每个周期完成8个状态转移蝶形对的ACS处理,经过4 个周期完成所有32个状态转移蝶形对的ACS处理。在实际应用中,维特比译码器的ACS处理过程可由8个加比选模块并行完成,通过预先设置每个加比选模块所要处理的状态转移蝶形对,使每个加比选模块每个周期处理一个状态转移蝶形对,利用分时复用实现8个加比选模块的并行执行,缩短ACS处理时长,提高整体的译码速度。 单个加比选模块中的ACS处理过程如下假设该加比选模块当前处理的状态转移蝶形对为如图7所示的状态转移蝶形对。 则加比选模块首先将步骤2202得到的状态S0、S1的分支度量值(每个状态包含两条分支, 即存在两个分支度量值),与状态S0、S1前一时刻的路径度量值相加,得到状态S0、S1当前时刻的路径度量值;状态SO比较其两条分支的路径度量值,选择较大的路径度量值保留, 同样的,状态Sl比较其两条分支的路径度量值,选择较大的路径度量值保留,完成该状态转移蝶形对的ACS处理。由图5的编码器可看出,移位寄存器的第4位对编码的结果没有影响,即状态Si 和 S(i+8)、S(i+16)和 S(i+16+8)、S(i+32)和 S(i+32+8)以及 S(i+48)和 S(i+48+8) (i <8)是等效的。在此规律的基础上,本发明实施例对传统的加比选单元进行的改进,采用 8个加比选模块并行计算的方式实施,其中,采用分时复用的方式实现8个加比选模块的并行运作,每个周期由8个加比选模块共同完成8个状态转移蝶形对(16个状态)的ACS处理。其中,每个加比选模块处理4个状态转移蝶形对,且4个状态转移蝶形对的相应分支具有相同的输入输出特性。假设一个状态转移蝶形对采用起始状态中较低的状态进行标记,如将图7所示的状态转移蝶形对标记为B0,则32个状态转移蝶形对可对应标记为B0,B1,B2,···.,B31。则加比选模块对应处理的状态转移蝶形的设置可如表1 表 1
加比选模块状态转移蝶形对
ACSOBO, B8, B19, B27
ACSlBi, B9, B18, B26
ACS2B2, BIO, B17, B25
ACS3B3, Bll, B16, B24
ACS4B4, B12, B23, B31
ACS5B5, B13, B22, B30
权利要求
1.一种级联编码器,其特征在于所述的级联编码器是由编码器和解码器通过交织器连接而成,所述的编码器依次由RS编码器、外交织器、卷积编码器和内交织器连接构成;所述的解码器则依次由内解交织器、卷积解码器、外解交织器和RS译码器连接构成;其中,(I)RS编码器选用LFSR移位结构,S卩(n-k)阶移位寄存器的系统编码;(2)RS译码器采用与RS编码器相同的本原多项式,参数与编码器相同;(3)卷积编码器采用(2,1,7)卷积编码器,其x、y状态转移多项式为(171,133,);(4)卷积解码器是基于Viterbi算法设计的Viterbi译码器;(5)交织器为简单的行列交织器,以抵抗OFDM系统中信道的突发成片错误,把一组的成片错误分散到不同的分组中。
2.按权利要求1所述的级联编码器,其特征在于(1)中所述的系统编码器为所示 (225,239) RS码的16阶位寄存器,所述的寄存器的每个状态具有Sbit的码元,系数&,gl, g2……g14,g15是生成多项式的系数。
3.按权利要求2所述的级联编码器,其特征在于生成多项式的系数与输入信息的伽罗华域乘法运算是通过转化为两组数据的异或操作实现的,将复杂的乘法运算简化为易于硬件实现的简单的异域操作。
4.按权利要求1所述的级联编码器,其特征在于( 中的RS译码器的译码分为错误检测和错误纠正两个过程,具体分为以下三步a)伴随多项式的计算最终得到16个校验信息;b)确定错误位置多项式和错误估算函数;c)求解错误位置和错误数值,并进行纠正。
5.按权利要求1所述的级联编码器,其特征在于(3)中所述的卷积编码器中每个时钟周期输入1个bit信息,输出2bit信息;只需按照生成多项式对输入的数值逐位的异或即可。
6.按权利要求1所述的级联编码器,其特征在于(4)中所述的解码器由分支度量计算单元、加比选计算单元和回溯输出译码结果单元组成;其中回溯输出译码结果单元涉及存储单元、最大值搜索单元和回溯输出单元。
7.按权利要求1所述的级联编码器,其特征在于(5)中所述的交织器的发射端,RS编码输出的数据按列写入外交织器,卷积编码器按行读取外交织器内的数据;接收端,卷积解码器按行向内交织器写入译码后数据,RS译码器按列读取待译码数据。
8.按权利要求7所述的级联编码器,其特征在于(1)整个外交织器的大小为0到观79总共观80个地址空间;在数据输入的时候,从A 端口按照地址递增45的顺序写入,即第一次写入第0地址位置,第二次写入第45地址位置,第三次写入第90地址位置,……,直至从第0地址位置写到第观79地址位置,把交织器写满;然后,读取数据的时候,使用端口 A和B同时读取;端口 A读取寄存器上半部分地址空间内存储的数据,端口 B读取寄存器下半部分地址空间内存储的数据;读取的时候,按行顺序读取,即从第0地址位置读取到第44地址位置,从第45地址位置读取到第89地址位置,从第90地址位置读取到第134地址位置,……,直至把寄存器读空为止;(2)整个内交织器的大小为0到1471总共1472个地址空间;对于寄存器的写操作, 使用端口 A和端口 B同时进行;端口 A写寄存器的上半部分,端口 B写寄存器的下半部分;内交织器上半部分的地址空间为0到735总共736个地址值,下半部分地址空间为736到 1471总共也是736个地址值;端口 A的写地址按照23的值递增,即第一次写入第0地址位置,第二次写入第23地址位置,第三次写入第46地址位置,……,直至从第0地址位置写到第735地址位置,把寄存器上半部分写满;端口 B的写地址只需将每个端口 A的写地址加上736即可;读寄存器只通过端口 A读取;读取寄存器的时候,按行顺序读取,即从第0地址位置读取到第22地址位置,从第23地址位置读取到第45地址位置,从第46地址位置读取到第68地址位置,……,直至把寄存器读空为止。
9.实现由权利要求1-7中任一项所述的级联编码器的方法,其特征在于按照先做RS编码,接着做卷积编码,再做卷积解码,最后是做RS译码的顺序实现的。
10.按权利要求9所述的实现方法,其特征在于A.卷积解码器的实施流程为(a)接收输入的两路数据;(b)对接收的两路数据进行计算,得到各状态的分支度量值;(c)根据各状态的转移关系进行加比选处理;(d)存储各状态的路径度量值及各路径度量值的状态转移关系标记;(e)比较上述存储的各状态的路径度量值,搜索出最大的路径度量值;(f)回溯输出译码结果;B.RS编码的实现步骤a),开关(1)在开始的k个时钟周期内合上,使消息码元进入移位寄存器的(n-k)级。 对于(255,239) RS码,k取239,(n-k)取255-239 = 16 ;这一步又可分解为三个过程执行第一个过程输入待编码的数据;总共需要输入239个位宽为8的数据;第二个过程对输入的数据做伽罗华域的乘法运算;对每一个输入的数据,进行一次伽罗华域的乘法运算;第三个过程用第三步得到的乘法结果更新寄存器的内容;将乘法得到的结果,与寄存器原来存储的数据相加,用得到的新的结果替换原先的寄存器值,存入寄存器之中;b),开关(2)在开始的k个时钟周期内处于下面的位置,使得消息码元同时直接传输到一个输出寄存器中,等第k个消息码元传输到输出寄存器,开关1断开,开关(2)移到上面位置;随后的(n-k)个时钟周期用于清除移位寄存器中的监督码元,通过将其移到输出寄存器而完成;当(n-k)个寄存器的值全部输出以后,完成了一次编码,得到了需要的码字;其中,时钟周期数等于n,输出寄存器存储的内容就是码字多项式p(X) +Xn"km(X).P(X)和m(X)分别表示监督码元和消息码元多项式形式。
全文摘要
本发明涉及一种级联编码器及实现方法,其特征在于所述的级联编码器是由编码器和解码器通过交织器连接而成,所述的编码器依次由RS编码器、外交织器、卷积编码器和内交织器连接构成;所述的解码器则依次由内解交织器、卷积解码器、外解交织器和RS译码器连接构成;实现方法是按照先做RS编码,接着做卷积编码,再做卷积解码,最后是做RS译码的顺序实现的。级联编码器引入OFDM系统,使其性能显著提高。
文档编号H03M13/23GK102523006SQ20111045823
公开日2012年6月27日 申请日期2011年12月31日 优先权日2011年12月31日
发明者施玉松, 朱磊基, 汪涵, 王营冠, 邢涛 申请人:中国科学院上海微系统与信息技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1