一种RS编码器及RS编解码方法与流程

专利查询4月前  42


一种rs编码器及rs编解码方法
技术领域
1.本发明属于数据编码技术领域,具体涉及一种rs编码器及rs编解码方法。


背景技术:

2.随着无线通信领域的快速发展,人们一直在研究低延时、高带宽、高可靠性的数据传输方法,数据传输的可靠性是整个无线通信传输的关键所在。因此在无线传输领域,通常采用前向纠错技术来提高传输的可靠性,通过牺牲一定的传输效率达到纠正错误的目的。
3.rs码是一类前向纠错能力很强的线性分组码,能够纠正随机错误、突发错误以及两者的结合。线性分组码由于代数理论简单,编码解码易于硬件电路实现,广泛应用于各类通信系统。在所有线性分组码中,rs的纠错能力和编码效率最高的,相比于其他线性分组码而言,在同样的编码效率下,rs码的纠错能力最强。特别是在短的中等码长,其性能接近于理论值,在无线通信领域得到广泛的应用。
4.对于rs编码而言,通常采用信息码后面加入校验码的编码方式,完成整个编码的实现。一系列输入的串行数据对应串行信息多项式,校验码对应校验多项式,校验多项式是通过信息多项式除以生成多项式的余数构成。因此对于rs编码而言,就是寻找生成多项式g(x),并且计算获得校验多项式p(x)的过程。
5.rs解码的过程,就是还原原始序列的过程,接收端接收到信息序列,通过计算找出错位位置多项式,并求得错误位置多项式的根,获取错误位置以及错误图样,最后对错误位置进行纠错,完成rs解码的过程。
6.rs编解码的过程涉及的数学理论知识比较多,现有的设计由于编解码效率低,纠错能力差,系统处理延时长,导致能够使用的场景较少。


技术实现要素:

7.本发明目的:
8.针对背景技术中存在的rs编解码纠错能力低,实现效率低,传输延时大的问题,本发明提出一种应用于无线通信系统的rs编解码方法,利用该方法可以快速实现rs的编码和rs的解码,对于伽罗华域gf(28)的rs(35,27)码,能够纠正最大4个符号的错误。
9.本发明解决其技术问题所采用的技术方案是:
10.一个rs编码器,所述编码器用于rs(35,27)编码;每组rs(35,27)数据总长35个符号,包括27个有效符号和8个校验符号,每个符号均用8位二进制值表示;
11.所述编码器包括:八个乘法器m1~m8、八个加法器c1~c8、八个寄存器r0~r7、两个多路选择器mux1、mux2;
12.多路选择器mux1第一输入端连接加法器c8输出端,第二输入端恒为0;mux1输出端分别连接八个乘法器m1~m8其中一个输入端;k1控制多路选择器mux1选通;
13.八个乘法器m1~m8另一个输入端分别为多项式系数g0~g7;
14.乘法器m1输出端连接寄存器r0输入端,乘法器m2~m8输出端分别连接加法器c1~
c7其中一个输入端,寄存器r0~r6输出端分别连接加法器c1~c7另一个输入端;加法器c1~c7输出端分别连接寄存器r1~r7输入端;寄存器r7输出端连接加法器c8一个输入端,加法器c8另一个输入端连接待编码数据;
15.多路选择器mux2第一输入端连接待编码数据,第二输入端连接寄存器r7输出端,mux2输出端输出编码后的数据,k2控制多路选择器mux2的选通。
16.一种rs编码方法,所述方法用于所述的rs编码器,所述方法用于rs(35,27)编码;每组rs(35,27)数据总长35个符号,包括27个有效符号和8个校验符号,每个符号均用8位二进制值表示;
17.所述方法包括以下步骤:
18.步骤一:计算生成多项式系数g0~g7;
19.步骤二:根据生成多项式系数构建编码器;
20.步骤三:八个寄存器均置零;
21.步骤四:两个多路选择器均切换为第一输入端选通;输入待编码数据;
22.步骤五:输出二十七个符号之后,将两个多路选择器均切换为第二输入端选通,输出八个校验符号,完成一组rs(35,27)数据编码。
23.进一步,所述步骤一中,生成多项式g(x)如下:
24.g(x)=(x-α)(x-α2)...(x-α7)(x-α8)
25.=x8+α
176
x7+α
240
x6+α
211
x5+α
253
x4+α
220
x3+α3x2+α
203
x+α
36

26.生成多项式系数分别如下:
27.g0=α
36
=8'h25 g1=α
203
=8'he0 g2=α3=8'h08 g3=α
220
=8'hac
28.g4=α
253
=8'h47 g5=α
211
=8'hb2 g6=α
240
=8'h2c g7=α
176
=8'he3;
29.α以二进制表示为00000001。
30.一种rs解码方法,所述方法用于rs(35,27)解码;每组rs(35,27)数据总长35个符号,包括27个有效符号和8个校验符号,每个符号均用8位二进制值表示;所述方法包括以下步骤:
31.步骤一:根据每组编码后的rs(35,27)数据和伽罗华域元素α计算伴随多项式;并根据伴随多项式计算错误位置多项式的系数;
32.步骤二:根据错误位置多项式的系数和伽罗华域元素计算错误位置多项式的根;
33.步骤三:根据错误位置多项式的根生成错误位置矩阵;
34.步骤四:根据错误位置矩阵和伴随多项式计算错误位置;
35.步骤五:根据错误位置和错误位置多项式的根进行纠错,输出解码数据。
36.进一步,所述步骤一中,通过伴随多项式生成器计算伴随多项式;所述伴随多项式生成器包括:八个伴随加法器、八个伴随乘法器和八个伴随寄存器;
37.八个伴随加法器的一个输入端均连接待解码数据,另一个输入端分别连接八个伴随乘法器输出端;八个伴随加法器输出端分别连接八个伴随寄存器输入端,八个伴随寄存器输出端分别连接八个伴随乘法器一个输入端,八个伴随乘法器另一个输入端分别固定为α.α2……
α8;八个伴随寄存器初始值置零;
38.伴随多项式系数计算过程如下:将每组rs(35,27)数据从高到低依次输入所述伴随式生成器,当每组rs(35,27)数据中的所有符号均再输入完成之后,八个伴随寄存器中的
值为伴随多项式的系数s1~s8。
39.进一步,所述步骤一中,错误位置多项式计算过程如下:
40.依次令j=1.2.
……
.8;代入下式得到八个关于错误位置多项式系数σ1~σ8的式子;根据八个式子求解错误位置多项式系数;
41.s
j+t
+σ1s
j+t-1
+...+σ
t
sj=0
42.其中,t=8;sy=0,y=9.10.
……
16。
43.进一步,所述步骤二中,错误位置多项式的根通过错误位置多项式生成器计算;
44.所述错误位置多项式生成器包括:八个错误乘法器、八个错误寄存器、一个错误加法器;八个错误寄存器初始值置零;
45.八个错误乘法器第一输入端分别为σ1~σ8,第二输入端分别为α.α2……
α8;八个错误乘法器输出端分别连接八个错误寄存器输入端,八个错误寄存器输出端连接八个错误乘法器第三输入端;
46.八个错误寄存器输出端还均与错误加法器输入端连接;
47.错误位置多项式的根计算过程如下,重复执行以下计算过程:八个错误乘法器每执行一次乘法之后,错误加法器执行一次加法,总计执行八次,
48.若第n次错误加法器计算和为零,则xn=αn为错误位置多项式的根。
49.进一步,所述步骤三中,错误位置矩阵如下:
[0050][0051]
进一步,所述步骤四中,根据以下公式计算错误位置yi:
[0052][0053]
有益效果:
[0054]
本发明针对应用于无线通信传输中的rs(35,27)码,提出了一种高效的编码和解码方法,通过在信息码流的基础上增加校验码,采用并行的传输方案,能够快速实现每35个传输符号纠正4个传输符号的错误,在牺牲一定的编码效率的前提条件下,可以获得较高的纠错效率,应用前景十分广泛。
附图说明
[0055]
图1为rs(35,27)编码和解码的总体方案示意图;
[0056]
图2为rs编码器示意图;
[0057]
图3为rs解码器示意图;
[0058]
图4为伴随多项式生成器示意图;
[0059]
图5为错误位置多项式生成器示意图;
[0060]
图6为校正示意图。
具体实施方式
[0061]
本发明提出一种应用于无线通信系统的rs编解码方法,利用该方法可以快速实现rs的编码和rs的解码,对于伽罗华域gf(28)的rs(35,27)码,能够纠正最大4个符号的错误。
[0062]
本发明实例中应用于无线通信系统rs编解码方法系统组成如图1所示。该方法包括编码方法和解码方法,编码方法完成对发送的码流进行编码,通过在信息码的后面添加校验码的方法,完成rs(35,27)的编码。在无线通信系统中,信号传输会叠加噪声,数据有可能会发生错误,rs(35,27)解码的过程就是找到传输过程中的错误,包括错误发生的位置和错误的数值,随后纠正错误位置的值,实现解码纠错的功能。rs(35,27)表示每组数据包括27个有效符号、8个校验符号、总长35个符号。
[0063]
对于rs(35,27)编码而言,通过搭建具体的编码器实施电路结构,能够快速实现对输入27个数据符号,每个数据符号位宽8位的码流进行编码。在具体实现中,首先,通过gf(28)本原多项式p(x)构建生成多项式g(x),通过有限域元素的计算,包括有限域的加法和乘法运算,获得生成多项式g(x)的系数;其次,通过g(x)的系数构建编码结构电路;然后,通过状态开关控制编码电路的输出;最后该编码电路先输出信息序列,随后输出校验序列,完成整个编码过程。
[0064]
对于rs(35,27)解码而言,本发明的工作内容主要包括如下几个方面:首先根据接收到的35个符号长度,计算得到的接收多项式r(x),并计算伴随多项式sj(x);然后根据伴随式多项式求得错误位置多项式δ(x);随后用搜索算法求得错误位置多项式的根,获取错误位置数,确定错误位置;接下来在找到错误位置的前提下,计算错位位置的错误值,并获得错误图样;最后在错误位置上修正错误图样,完成数据流的解码。
[0065]
一方面,rs(35,27)编码的工作集中在计算校验码,每27个信息符号计算8个校验符号,计算的详细过程如图2所示。对于图中g0,g1,g2,g3,g4,g5,g6,g7的具体系数,需要介绍伽罗华域gf(28)中的相关概念。首先计算伽罗华域gf(28)的本原多项式,gf(28)有限域内的元素组成,通过本原多项式构建生成多项式,生成多项式的系数就是图中g0,g1,g2,g3,g4,g5,g6,g7的值。gf(28)有限域的本原多项式为p(x)=x8+x4+x3+x2+1,生成多项式及其系数如下所示。
[0066]
g(x)=(x-α)(x-α2)...(x-α7)(x-α8)
[0067]
=x8+α
176
x7+α
240
x6+α
211
x5+α
253
x4+α
220
x3+α3x2+α
203
x+α
36
[0068]
g0=α
36
=8'h25 g1=α
203
=8'he0 g2=α3=8'h08 g3=α
220
=8'hac
[0069]
g4=α
253
=8'h47 g5=α
211
=8'hb2 g6=α
240
=8'h2c g7=α
176
=8'he3。
[0070]
具体的编码电路如图2所示,包括八个乘法器m1~m8,八个加法器c1~c8,八个寄存器r0~r7,两个多路选择器mux1、mux2。多路选择器mux1第一输入端连接加法器c8输出端,第二输入端恒为0;mux1输出端分别连接八个乘法器m1~m8其中一个输入端;八个乘法器m1~m8另一个输入端分别为多项式系数g0~g7;乘法器m1输出端连接寄存器r0输入端,乘法器m2~m8输出端分别连接加法器c1~c7其中一个输入端,寄存器r0~r6输出端分别连接加法器c1~c7另一个输入端;加法器c1~c7输出端分别连接寄存器r1~r7输入端;寄存
器r7输出端连接加法器c8一个输入端,加法器c8另一个输入端连接待编码数据;多路选择器mux2第一输入端连接待编码数据,第二输入端连接寄存器r7输出端,mux2输出端输出编码后的数据,。
[0071]
串行待编码的数据流经过该编码装置,通过多路选择器开关k1,k2进行输出切换,依次输出27个数据符号和8个校验符号,完成rs编码。
[0072]
编码过程如下所示:1、初始状态时,r0,r1,r2,r3,r4,r5,r6,r7均置为零,多路选择器k1,k2选择下方的输入有效。2、第一阶段,随着时钟节拍,将信息多项式m(x)的各系数从高到低依次输入。在这一阶段,输出端将信息码元直接输出,同时信息码元依次进入该编码模块,在第26个时钟节拍之后得到余数,余数也是校验码元,此时8个寄存器中存储的正是校验码元。3、第二阶段,将输入m(x)设置为零,选择多路选择器k1和k2均选择上方的输入有效,后续通过移位寄存器移出校验多项式r(x)的各系数,即为校验码元。
[0073]
另一方面,rs解码工作如图3所示,主要包括对编码后输入的码流进行缓存,计算相对应的伴随式,获取错误位置多项式,并通过求解错误位置多项式的根获取具体错误位置,计算该错误位置下出错的错误值,形成最终的错误图样,对接收端进行纠错修正,完成解码的功能。
[0074]
所述方法包括以下步骤:
[0075]
步骤一:根据每组编码后的rs(35,27)数据和伽罗华域元素α计算伴随多项式;并根据伴随多项式计算错误位置多项式的系数;
[0076]
步骤二:根据错误位置多项式的系数和伽罗华域元素计算错误位置多项式的根;
[0077]
步骤三:根据错误位置多项式的根生成错误位置矩阵;
[0078]
步骤四:根据错误位置矩阵和伴随多项式计算错误位置;
[0079]
步骤五:根据错误位置和错误位置多项式的根进行纠错,输出解码数据。
[0080]
rs解码计算伴随式的工作如图4所示,通过伴随多项式生成器计算伴随多项式;所述伴随多项式生成器包括:八个伴随加法器、八个伴随乘法器和八个伴随寄存器;八个伴随加法器的一个输入端均连接待解码数据,另一个输入端分别连接八个伴随乘法器输出端;八个伴随加法器输出端分别连接八个伴随寄存器输入端,八个伴随寄存器输出端分别连接八个伴随乘法器一个输入端,八个伴随乘法器另一个输入端分别固定为α.α2……
α8。
[0081]
计算伴随式的公式是通过信息码元与有限域,图中的实施方案是该公式的具体实现,通过累加的形式完成伴随式的计算。首先图中寄存器初始值全为零,接收到的码元从高位码元到低位码元依次输入到该模块,随着时钟周期的节拍,每个时钟周期依次写入对应码元。随后在模块内部每个码元会进行一次乘法和加法操作并将结果存入寄存器中进行缓存,下一个时钟周期可以继续使用。最后当输入完最后一个码元c0,各个寄存器的值就是相对应的伴随式的值。
[0082]
rs解码错误位置多项式的计算如图5所示,对于错误位置的计算,采用搜索错误位置多项式的根来进行。为了求解错误位置数,引入错误位置多项式σ(x)=(1-x1x)(1-x2x)...(1-x
t
x),它的第i个根所以求错误位置就是求解错误位置多项式的根。图中系数就是对应错误位置多项式的系数,对于系数的计算,需要用到伴随式的计算结果,通过伴随式可以求解具体的系数,s
j+t
+σ1s
j+t-1
+...+σ
t
sj=0,j=1,2,...,t,t
=8。
[0083]
依次令j=1.2.
……
.8;代入下式得到八个关于错误位置多项式系数σ1~σ8的式子;根据八个式子求解错误位置多项式系数;
[0084]sj+t
+σ1s
j+t-1
+...+σ
t
sj=0
[0085]
其中,t=8;sy=0,y=9.10.
……
16。
[0086]
获取到错误位置多项式的系数之后,接下来的工作就是查找错误位置多项式的根,通过全局搜索获得根值。
[0087]
错误位置多项式的根通过错误位置多项式生成器计算;
[0088]
所述错误位置多项式生成器包括:八个错误乘法器、八个错误寄存器、一个错误加法器;八个错误寄存器初始值置零;
[0089]
八个错误乘法器第一输入端分别为σ1~σ8,第二输入端分别为α.α2……
α8;八个错误乘法器输出端分别连接八个错误寄存器输入端,八个错误寄存器输出端连接八个错误乘法器第三输入端;
[0090]
八个错误寄存器输出端还均与错误加法器输入端连接;
[0091]
错误位置多项式的根计算过程如下,重复执行以下计算过程:八个错误乘法器每执行一次乘法之后,错误加法器执行一次加法,总计执行八次,
[0092]
若第n次错误加法器计算和为零,则xn=αn为错误位置多项式的根。
[0093]
rs解码错误位置值的计算,可以通过错误位置值,以及相关伴随式计算得到,具体公式如下所示。其中xi对应错误位置,yi对应错误位置的值,si对应伴随式。
[0094][0095]
rs结果校正如图6所示,在获取到错误位置和错误位置对应的值,就能够组成错误图样,纠错的过程就是把原始接收到的码流与错误图样进行有限域内的加法计算,此过程就是一个纠错的过程。

技术特征:
1.一个rs编码器,其特征在于:所述编码器用于rs(35,27)编码;每组rs(35,27)数据总长35个符号,包括27个有效符号和8个校验符号,每个符号均用8位二进制值表示;所述编码器包括:八个乘法器m1~m8、八个加法器c1~c8、八个寄存器r0~r7、两个多路选择器mux1、mux2;多路选择器mux1第一输入端连接加法器c8输出端,第二输入端恒为0;mux1输出端分别连接八个乘法器m1~m8其中一个输入端;k1控制多路选择器mux1选通;八个乘法器m1~m8另一个输入端分别为多项式系数g0~g7;乘法器m1输出端连接寄存器r0输入端,乘法器m2~m8输出端分别连接加法器c1~c7其中一个输入端,寄存器r0~r6输出端分别连接加法器c1~c7另一个输入端;加法器c1~c7输出端分别连接寄存器r1~r7输入端;寄存器r7输出端连接加法器c8一个输入端,加法器c8另一个输入端连接待编码数据;多路选择器mux2第一输入端连接待编码数据,第二输入端连接寄存器r7输出端,mux2输出端输出编码后的数据,k2控制多路选择器mux2的选通。2.一种rs编码方法,所述方法用于权利要求1中所述的rs编码器,其特征在于:所述方法用于rs(35,27)编码;每组rs(35,27)数据总长35个符号,包括27个有效符号和8个校验符号,每个符号均用8位二进制值表示;所述方法包括以下步骤:步骤一:计算生成多项式系数g0~g7;步骤二:根据生成多项式系数构建编码器;步骤三:八个寄存器均置零;步骤四:两个多路选择器均切换为第一输入端选通;输入待编码数据;步骤五:输出二十七个符号之后,将两个多路选择器均切换为第二输入端选通,输出八个校验符号,完成一组rs(35,27)数据编码。3.根据权利要求2所述的rs编码方法,其特征在于:所述步骤一中,生成多项式g(x)如下:g(x)=(x-α)(x-α2)...(x-α7)(x-α8)=x8+α
176
x7+α
240
x6+α
211
x5+α
253
x4+α
220
x3+α3x2+α
203
x+α
36
;生成多项式系数分别如下:g0=α
36
=8'h25 g1=α
203
=8'he0 g2=α3=8'h08 g3=α
220
=8'hacg4=α
253
=8'h47 g5=α
211
=8'hb2 g6=α
240
=8'h2c g7=α
176
=8'he3;α以二进制表示为00000001。4.一种rs解码方法,其特征在于:所述方法用于rs(35,27)解码;每组rs(35,27)数据总长35个符号,包括27个有效符号和8个校验符号,每个符号均用8位二进制值表示;所述方法包括以下步骤:步骤一:根据每组编码后的rs(35,27)数据和伽罗华域元素α计算伴随多项式;并根据伴随多项式计算错误位置多项式的系数;步骤二:根据错误位置多项式的系数和伽罗华域元素计算错误位置多项式的根;步骤三:根据错误位置多项式的根生成错误位置矩阵;步骤四:根据错误位置矩阵和伴随多项式计算错误位置;
步骤五:根据错误位置和错误位置多项式的根进行纠错,输出解码数据。5.根据权利要求4所述的rs解码方法,其特征在于:所述步骤一中,通过伴随多项式生成器计算伴随多项式;所述伴随多项式生成器包括:八个伴随加法器、八个伴随乘法器和八个伴随寄存器;八个伴随加法器的一个输入端均连接待解码数据,另一个输入端分别连接八个伴随乘法器输出端;八个伴随加法器输出端分别连接八个伴随寄存器输入端,八个伴随寄存器输出端分别连接八个伴随乘法器一个输入端,八个伴随乘法器另一个输入端分别固定为α.α2……
α8;八个伴随寄存器初始值置零;伴随多项式系数计算过程如下:将每组rs(35,27)数据从高到低依次输入所述伴随式生成器,当每组rs(35,27)数据中的所有符号均再输入完成之后,八个伴随寄存器中的值为伴随多项式的系数s1~s8。6.根据权利要求5所述的rs解码方法,其特征在于:所述步骤一中,错误位置多项式计算过程如下:依次令j=1.2.
……
.8;代入下式得到八个关于错误位置多项式系数σ1~σ8的式子;根据八个式子求解错误位置多项式系数;s
j+t
+σ1s
j+t-1
+...+σ
t
s
j
=0其中,t=8;s
y
=0,y=9.10.
……
16。7.根据权利要求6所述的rs解码方法,其特征在于:所述步骤二中,错误位置多项式的根通过错误位置多项式生成器计算;所述错误位置多项式生成器包括:八个错误乘法器、八个错误寄存器、一个错误加法器;八个错误寄存器初始值置零;八个错误乘法器第一输入端分别为σ1~σ8,第二输入端分别为α.α2……
α8;八个错误乘法器输出端分别连接八个错误寄存器输入端,八个错误寄存器输出端连接八个错误乘法器第三输入端;八个错误寄存器输出端还均与错误加法器输入端连接;错误位置多项式的根计算过程如下,重复执行以下计算过程:八个错误乘法器每执行一次乘法之后,错误加法器执行一次加法,总计执行八次,若第n次错误加法器计算和为零,则x
n
=α
n
为错误位置多项式的根。8.根据权利要求7所述的rs解码方法,其特征在于:所述步骤三中,错误位置矩阵如下:9.根据权利要求8所述的rs解码方法,其特征在于:所述步骤四中,根据以下公式计算错误位置y
i


技术总结
本发明属于数据编码技术领域,具体涉及一种RS编码器及RS编解码方法,所述编码方法包括以下步骤:步骤一:计算生成多项式系数g0~g7;步骤二:根据生成多项式系数构建编码器;步骤三:八个寄存器均置零;步骤四:两个多路选择器均切换为第一输入端选通;输入待编码数据;步骤五:输出二十七个符号之后,将两个多路选择器均切换为第二输入端选通,输出八个校验符号,完成一组RS(35,27)数据编码。完成一组RS(35,27)数据编码。完成一组RS(35,27)数据编码。


技术研发人员:李玉亮 李建华 蓝武 李科连 刘昌健 胡逸 游彬 谢锦涛 李浔 曹珊 徐明萌 吴皓晨 廖晓明 胡朝纲 奚乐厚
受保护的技术使用者:江西洪都航空工业集团有限责任公司
技术研发日:2021.12.03
技术公布日:2022/3/8

最新回复(0)