New! View global litigation for patent families

CN101969358A - High-speed parallel RS decoding method for space communication - Google Patents

High-speed parallel RS decoding method for space communication Download PDF

Info

Publication number
CN101969358A
CN101969358A CN 201010297884 CN201010297884A CN101969358A CN 101969358 A CN101969358 A CN 101969358A CN 201010297884 CN201010297884 CN 201010297884 CN 201010297884 A CN201010297884 A CN 201010297884A CN 101969358 A CN101969358 A CN 101969358A
Authority
CN
Grant status
Application
Patent type
Prior art keywords
decoding
rs
parallel
method
system
Prior art date
Application number
CN 201010297884
Other languages
Chinese (zh)
Other versions
CN101969358B (en )
Inventor
崔骞
张拯宁
战勇杰
朱翔宇
Original Assignee
航天恒星科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date

Links

Abstract

The invention relates to a high-speed parallel Reed-Solomon (RS) decoding method for space communication. In the method, two decoding modules RS (255, 223) and RS (255, 239) are configured simultaneously, so that a decoder can configure decoding types on line according to coding parameters to flexibly adapt to two coding formats specified by the consultative committee for space data system (CCSDS) standard; input data is filled and acquired in first in first out (FIFO) by ping-pong operation during deinterlacing and interlacing, a multi-channel parallel pipeline mode is adopted during decoding, and a composite structure ensures the maximization of system performance and realizes the minimization of resources and is suitable for 1 to 8 arbitrary interlacing depths; and measures such as multi-channel parallel RS decoding, the optimization of realization logic of a finite field multiplier, and the like are adopted, so that decoding rate is greatly improved. The method can be directly applied to a high-code-rate remote sensing satellite ground receiving system and can further increase parallelism degree and improve performance when necessary by modular design.

Description

一种用于空间通信的高速并行RS译码方法 RS decoding method for high-speed parallel communications for space

技术领域 FIELD

[0001] 本发明涉及一种用于空间通信的RS编码的高速译码方法,主要用于空间通信地面信道译码器中对解调后数据进行高速RS译码,纠正信道传输错误,也可用于其它应用方向的数据解调接收设备中。 [0001] The present invention relates to a method for high-speed decoding RS encoding space for communication, primarily for space communications terrestrial channel decoder for high-speed data demodulated RS decoding to correct channel transmission errors, can also be used data demodulation in the direction of other applications in the receiving apparatus.

背景技术 Background technique

[0002] RS码是一类具有很强纠错能力的多进制BCH码,也是一类典型的代数几何码。 [0002] RS codes are a class of highly ary BCH code error correction ability, but also a typical class of algebraic geometric codes. 它首先由Reed和Solomon应用MS多项式于1960年构造出来。 It is the first application of MS polynomial by Reed and Solomon constructed in 1960. 用MS多项式构造的RS码是非系统码,而用BCH码构造方法能产生系统码。 MS polynomial constructed with non-systematic RS code codes, and BCH code construction method with energy generation system code. 由于线性码的最大可能的最小距离是校验元的个数加1,而RS码恰好做到这一点,因此,称RS码为极大最小距离可分码(MDS码)。 Since the maximum linear distance of the smallest possible number of check codes are added element 1, and the RS code to do this exactly, and therefore, the RS code is called maximum minimum distance separable codes (MDS code). RS 码特别适合于在衰落信道中使用,以克服突发性差错。 RS code particularly suitable for use in a fading channel, to overcome the burst error. 正由于其优越的性能,RS码在深空通信、数字音视频通信、磁记录介质等领域取得广泛应用,它是目前应用最为广泛的纠错编码。 Precisely because of its superior performance, RS code made widely used in deep space communications, digital audio and video communication, magnetic recording media, etc., which is the most widely used error correction coding.

[0003] 空间通信用RS码为空间数据系统咨询委员会(CCSDS)推荐的RS(255,223)或RS (255, 239)码,这两种码基本编码参数相同,主要是纠错能力不同。 [0003] Space communicate Advisory Committee (of CCSDS) Space Data Systems recommended by the RS code RS (255,223) or RS (255, 239) code, two code encoding substantially the same parameters, mainly the different error correcting capabilities. CCSDS规定RS码可采用的交织深度为1、2、3、4、5、8共6种。 CCSDS predetermined RS code interleaving depth may be employed as 1,2,3,4,5,8 total of six kinds. 在不同的卫星通信系统中往往选用了不同的RS编码类型及不同的交织深度,这就就给空间通信用RS译码器的研制带来了很大的困难。 In various satellite communications systems often selected different types and different RS code interleaving depth, which give a big space communications difficulties triturated RS decoder. 现有RS译码器采用的译码方法一般将解交织与译码过程分别实现,这样做的优点是实现方案简单,缺点是灵活性不够。 RS decoder using conventional decoding methods generally deinterleaving and decoding process are realized, the advantage of this is that a simple implementation, the disadvantage is the lack of flexibility. RS译码器的译码过程需要进行大量的有限域运算,其中乘法运算单元最多而且对译码速度的影响也最大。 Decoder RS ​​decoding process requires a lot of finite field operation, wherein the multiplication means and the most influence on the decoding speed is greatest. 由于目前RS译码器中使用的乘法器没有经过优化, 造成译码器的工作时钟不能太高。 As the current multiplier RS ​​decoder used is not optimized, resulting in the operation clock of the decoder is not too high. 同时,由于遥感卫星数传码速率不断提高,要在兼容不同RS编码格式与交织深度的基础进一步提高码速率难度就更大。 Meanwhile, since remote sensing satellite data transmission code rates increase, to be compatible with different formats RS encoding interleaving depth base code rate is further increased even more difficult.

[0004] 目前各类通信系统中常见的通常都是低码速率的RS译码器,一般码速率在几十兆bit/s ;空间通信用RS译码器单通道最高译码速度目前为470Mbps左右,而且不能同时兼容RS(255,223)和RS(255,239)码,能够适应的交织深度一般为固定值。 [0004] Currently various types of communications systems are generally common in low bit rate decoder of the RS, the code rate is generally in the tens of megabytes bit / s; space a single-channel communication with the RS decoder is currently decoding speed maximum 470Mbps right and left, and not compatible with RS (255,223) and RS (255,239) code, interleaving depth is generally able to adapt to a fixed value.

发明内容 SUMMARY

[0005] 本发明的技术解决问题是:克服现有技术的不足,提供了一种用于空间通信的RS 编码的高速译码方法,此译码方法可同时兼容RS(255,223)和RS(255,239)码及(1_8)的任意交织深度,且译码速度远高于现有技术。 [0005] The techniques of the present invention is to solve the problem: to overcome the deficiencies of the prior art by providing a method of decoding a high-speed RS-encoded for communication with the space, this method is compatible with both RS decoding (255,223) and RS (255,239) and an arbitrary code (1_8) interleaving depth, and the decoding much faster than the prior art.

[0006] 本发明的技术解决方案是: [0006] The technical solution of the invention is:

[0007] —种用于空间通信的高速并行RS译码方法,步骤如下: [0007] - Speed ​​Parallel seed RS decoding method for space communications, the following steps:

[0008] (1)设置译码过程的参数,所述参数包括直通状态参数、交织深度参数、总帧长、译码类型参数; Parameter [0008] (1) Set the decoding process, the parameters include parameters bar state, interleaving depth parameters, the total frame length, coding type parameters;

[0009] (2)根据步骤(1)中设置的直通状态参数判断译码过程是否是直通状态,若是直通状态,则将输入数据直接输出;若不是直通状态,则进入步骤(3);[0010] (3)由帧长计数器对输入数据进行计数,根据步骤(1)中设置的总帧长判断帧长计数器的计数结果是否等于总帧长,若不等于总帧长,则将数据写入第i个输入FIFO中,同时帧长计数器的计数结果加1,之后进入步骤(4);若等于总帧长,则读取所有输入FIFO中的数据之后进入步骤(5);所述i为1到交织深度参数之间的自然数,且i的初始值为1 ; [0009] (2) according to step (1) through the status parameter is determined whether the decoding process is provided through state, if the bar state, then the input data directly outputted; bar state if not, the process proceeds to step (3); [ 0010] (3) by the frame length counter for counting the input data, according to step (1) the counting result of the total frame length set in the frame length counter determines the total frame length is equal to, if not equal to the total frame length, the data write the i-th input FIFO while the counting result of the frame length counter is incremented by 1, then go to step (4); then when the frame length equal to the total, all input data is read into the FIFO in step (5); the i 1 is a natural number to interleave depth parameter, and the initial value of i is 1;

[0011] (4)判断i是否等于交织深度参数,若等于,则将i初始化为1之后返回步骤(3); 若不等于,则将i+Ι赋值给i之后返回步骤(3); [0011] (4) determines whether the parameter i is equal to the interleaving depth, if equal, then i is initialized to return to step (3) after 1; if not equal, then i + i after iota assignment returns to the step (3);

[0012] (5)根据译码类型参数判断使用哪一种译码模块进行RS译码,若译码类型参数为255/223,则使用RS223译码模块进行RS译码,将译码之后的数据输入第j个输出FIFO中, 之后进入步骤(6);若译码类型参数为255/239,则使用RS239译码模块进行RS译码,将译码之后的数据输入第j个输出FIFO中,之后进入步骤(6);所述j为1到交织深度参数之间的自然数,且j的初始值为1 ; [0012] (5) is determined according to the type of coding parameters used for RS decoding module which decodes, when the coding type parameter is 255/223, using RS decoding RS223 decoding module, the decoding after the j-th output data input FIFO, then proceeds to step (6); if the coding type parameter is 255/239, RS239 is used for RS decoding module decodes the j-th output FIFO data input after decoding , then proceeds to step (6); j is 1 to the natural number between interleaving depth parameter, and the initial value of j is 1;

[0013] (6)判断第j个输出FIFO是否为空,若为空,则进入步骤(7);若不为空,则从第j 个输出FIFO中读取数据并输出,之后进入步骤(8); [0013] (6) determining the j-th output FIFO is empty, if it is empty, the process proceeds to step (7); if not empty, the j-th output from the FIFO and outputs the read data, then proceeds to step ( 8);

[0014] (7)判断j是否等于交织深度参数,若不等于,则则将j+Ι赋值给j之后返回步骤(6);若等于,则返回步骤(2); [0014] (7) determines whether the parameter j is equal to the interleaving depth, if not equal, then j + Ι assignment returns to step (6) is then j; if equal, return to step (2);

[0015] (8)判断j是否等于交织深度参数,若等于,则将j初始化为1之后返回步骤(6); 若不等于,则将j+Ι赋值给j之后返回步骤(6)。 [0015] (8) determines whether the parameter j is equal to the interleaving depth, if equal, then returns to step (6) after the initialization of j. 1; if not equal, then processing returns to step j + Ι (6) after the assignment to j.

[0016] 所述步骤(5)中使用RS223译码模块进行RS译码和使用RS239译码模块进行RS 译码按照如下步骤进行: [0016] The step (5) using RS223 RS decoding module for decoding and using RS decoding RS239 decoding module in accordance with the following steps:

[0017] (a)将接收到的数据存入接收序列缓存中等待纠错处理,同时,将所述接收到的数据用Horner算法计算伴随式S,之后进入步骤(b); [0017] (a) the received data sequence stored in the receive buffer to wait for the error correction process, at the same time, the received data is calculated using S Horner syndrome algorithm then proceeds to step (B);

[0018] (b)使用RiBM算法由步骤(a)中得到的伴随式S求得错误位置多项式和错误值多项式,之后进入步骤(c); [0018] (b) used by the algorithm RiBM step (a) obtained in the syndrome S calculated error position polynomial and error value polynomial, then proceeds to step (C);

[0019] (c)利用步骤(b)中得到的错误位置多项式使用钱搜索算法计算错误位置,同时利用步骤(b)中得到的错误值多项式使用Forney算法计算错误值,之后根据所述错误位置和错误值对步骤(a)中接收序列缓存中等待纠错处理的数据进行纠错处理并输出。 Error location [0019] (c) using the step (b) using the polynomial obtained in the error position Chien search algorithm, while the use of step (b) the error values ​​obtained using the error value polynomial calculated Forney algorithm, according to the error location after and a reception error value in step (a) the error correction data cache waiting processing sequence, and outputs an error correction process.

[0020] 所述Horner算法、RiBM算法、钱搜索算法和Forney算法中所使用的乘法计算按照如下公式实现: [0020] Horner the multiplication algorithm, the algorithm RIBM, money and Forney algorithms search algorithm used in the calculation implemented in the following formula:

[0021] [0021]

Figure CN101969358AD00051

[0022]其中,C 为A 禾Π B 的乘积,A = Yj α,.a' a' e {0,1} ,B = «' 6 {0,1} , A 的向量 [0022] wherein, C is the product of A Wo Π B, A = Yj α, .a 'a' e {0,1}, B = « '6 {0,1}, vector A

?=1 ? 1 =

表示为 a=[ ? He expressed as a = [? S1 ? S1? '''? '' '? aIIi-J «0 0 0 αλ α0 0 L = α2 «1 α0[0023] am-2 am-3 ...[0024] Q为满足 X '= :Q- aIIi-J «0 0 0 αλ α0 0 L = α2« 1 α0 [0023] am-2 am-3 ... [0024] Q is satisfied X '=: Q-

Figure CN101969358AD00052

原多项式的根,α '= [am, am+1,…,a 2mIτ本发明与现有技术相比的有益效果是: Root of primitive polynomial, α '= [am, am + 1, ..., beneficial effects compared with the prior art the present invention is a 2mIτ:

[0025] (1)本发明通过同时部署RS (255,223)及RS (255,239)两种译码模块,使译码器可以根据编码参数在线配置译码类型,灵活适应CCSDS标准规定的上述两种编码格式; [0025] (1) of the present invention is deployed by RS (255,223) and RS (255,239) two decoding modules, so that the decoder can decode line configuration according to the type of encoding parameters, the flexibility to adapt standards CCSDS both encoding format;

[0026] (2)本发明通过在解交织与交织过程中采用乒乓操作完成输入数据在FIFO中的填充和获取,而在译码过程中采用多路并行流水的方式,通过这种复合结构保证了系统性能的最大化和实现资源的最小化,并且可以适应1至8的任意交织深度; [0026] (2) the present invention by using a ping-pong operation is completed and the acquisition of input data in the FIFO is filled in the process of deinterleaving and interleaving, and by way of multi-channel parallel flow of the decoding process, this composite structure to ensure maximize system performance and minimization of resources, and can accommodate any 1-8 interleaving depth;

[0027] (3)本发明通过采取多路并行RS译码、优化有限域乘法器的实现逻辑等措施,大大提高了译码速率,可以直接应用于高码速率遥感卫星地面接收系统,通过采用模块化设计,在需要时可以进一步增加并行度提高性能。 [0027] (3) By adopting the present invention, multi-channel parallel RS decoding, optimized finite field multiplier implemented logic and other measures, greatly improving the coding rate can be directly applied to a high code rate sensing satellite ground system receiving, through the use of modular design, can be further increased if necessary parallelism to improve performance.

附图说明 BRIEF DESCRIPTION

[0028] 图1为本发明RS码译码器组成示意图; [0028] FIG 1 RS code decoder schematic composition of the present invention;

[0029] 图2是本发明RS译码器处理流程图; [0029] FIG. 2 of the present invention is a process flow diagram RS decoder;

[0030] 图3是本发明高速并行RS译码方法流程图。 [0030] FIG. 3 of the present invention is a high-speed parallel RS decoding method flowchart.

具体实施方式 detailed description

[0031] 下面结合附图对本发明的具体实施方式进行进一步的详细描述。 Drawings of embodiments of the present invention will be further described in detail [0031] below in conjunction.

[0032] RS码是一种信道编码格式,它属于线性分组码。 [0032] RS code is a channel coding format, which is a linear block code. 由于RS码是建立在有限域代数的基础上构建的,很适合用于多进制调制系统。 Since the RS code is based on a finite field algebra constructed, it is suitable for M-ary modulation system. RS码的主要用途是克服衰落信道中产生的突发性错误,它还常常作为内码与卷积码级联使用,以便获得更大的编码增益。 The main purpose is to overcome the RS code burst error generated fading channel, it is often used as an inner code concatenated with a convolutional code, in order to obtain a larger coding gain. 由于空间通信中由于经常遇到闪电等引发的突发性错误,所以RS很适合在空间通信中使用。 Due to space communications often encountered due to burst errors caused by lightning, so RS is suitable for use in space communications. 伴随着空间通信技术的发展,数据传输码速率不断提高,RS译码速率也需要相应提高以适应发展需求。 With the development of communication technology space, data transmission code rates increase, RS coding rate also requires a corresponding increase to meet the development requirements. 本发明主要解决RS译码器实现中如何提高译码速率的问题,通过采用本发明提出的译码方法,可以大幅度提高译码速率,兼容RS (255,223)及RS (255,239)两种编码格式,并且适应1至8的任意交织深度,能够直接应用于高码速率遥感卫星地面接收系统。 The main problem of the present invention is implemented in the RS decoder how to improve the coding rate by using the decoding method proposed in the present invention, can greatly increase the coding rate, compatible with RS (255,223) and RS (255,239) two coding formats, and to accommodate any 1-8 interleaving depth, can be directly applied to a high code rate remote sensing satellite ground receiving system.

[0033] 如图1所示为本发明RS码译码器组成示意图,本发明译码部分采用8路并行结构,每一路均包括输入FIFO,输出FIFO,译码类型选通器,译码核组成,这样可以译码速度大大加快并且可以根据实际译码需要选择交织深度,且适应1至8的任意交织深度。 [0033] FIG RS decoder schematic diagram of the composition of the invention shown in FIG. 1, the present invention employs a decoding section 8 parallel configuration, each input channel includes the FIFO, the FIFO output, the decoding type of strobe, decode core composition, which can greatly accelerate the decoding speed and the actual decoding can interleaving depth selected according to need, and to adapt to any 1-8 interleaving depth.

[0034] 本发明高速并行RS译码方法如图3所示,按照如下步骤进行: [0034] The present invention is a high speed parallel RS decoding method shown in Figure 3, follow the steps below:

[0035] (1)设置译码过程的参数,所述参数包括直通状态参数、交织深度参数、总帧长、译码类型参数;直通状态参数是为了在RS译码器使用时更加灵活方便,不需要RS译码时选择直通即可将数据不经译码直接输出;交织深度参数为1至8的任意自然数;总帧长根据实际通信协议确定即可;译码类型参数指通信系统中使用的RS编码格式具体为RS (255,233) 或RS (255,239)码的哪一种。 [0035] (1) parameter set coding process, the parameters include parameters bar state, interleaving depth parameters, the total frame length, coding type parameters; bar state when the parameter is provided to RS decoder more flexible and convenient to use, RS decoder does not need to select the data through to the output directly without decoding; interleaving depth parameters is an arbitrary natural number from 1 to 8; total frame length can be determined based on the actual communication protocol; coding type parameter refers to a communications system the particular format is RS-encoded RS (255,233) or RS (255,239) code which.

[0036] (2)根据步骤(1)中设置的直通状态参数判断译码过程是否是直通状态,若是直通状态,则将输入数据直接输出;若不是直通状态,则进入步骤(3)。 [0036] (2) according to step (1) through state parameter set is determined whether the decoding process through state, if the bar state, then the input data directly outputted; bar state if not, the process proceeds to step (3).

[0037] 步骤3和步骤4描述的是交织部分的过程,属于乒乓操作。 [0037] Steps 3 and 4 are part of the process described interleaving operation belonging to ping-pong.

[0038] (3)由帧长计数器对输入数据进行计数,根据步骤(1)中设置的总帧长判断帧长计数器的计数结果是否等于总帧长,若不等于总帧长,则将数据写入第i个输入FIFO中,同时帧长计数器的计数结果加1,之后进入步骤(4);若等于总帧长,则读取所有输入FIFO中的数据之后进入步骤(5);所述i为1到交织深度参数之间的自然数,且i的初始值为1 ;通过该步骤完成解交织过程,将交织数据恢复为单路RS编码的输出格式。 [0038] (3) by the frame length counter for counting the input data, according to step (1) the counting result of the total frame length set in the frame length counter determines the total frame length is equal to, if not equal to the total frame length, the data writing an i-th input FIFO while the counting result of the frame length counter is incremented by 1, then go to step (4); then when the frame length equal to the total, all input data is read into the FIFO in step (5); the i is a natural number between interleaved to a depth parameter, and the initial value of i is 1; deinterleaving process is completed by this step, data recovery is interleaved RS coding single output format. 帧长计数器就是用来计量数据帧长的一个计数器。 A frame length counter is a counter for metering data frame length.

[0039] (4)判断i是否等于交织深度参数,交织深度参数是第一步的时候设置好的,若等于,则将i初始化为1之后返回步骤(3);若不等于,则将i+Ι赋值给i之后返回步骤(3)。 [0039] (4) determines the parameter i is equal to the interleaving depth, interleaving depth parameters are set when a good first step, if equal, then i is initialized returns to step (3) after 1; if not equal, then i after return to assign Ι + i step (3).

[0040] (5)根据译码类型参数判断使用哪一种译码模块进行RS译码,若译码类型参数为255/223,则使用RS223译码模块进行RS译码,将译码之后的数据输出给第j个输出FIFO 中,之后进入步骤(6);若译码类型参数为255/239,则使用RS239译码模块进行RS译码,将译码之后的数据输出给第j个输出FIFO中,之后进入步骤(6);所述j为1到交织深度参数之间的自然数,且j的初始值为1 ;该步骤通过调用对应RS类型的译码器实现RS译码, RS译码过程包括5个模块,如附图2所示。 [0040] (5) is determined according to the type of coding parameters used for RS decoding module which decodes, when the coding type parameter is 255/223, using RS decoding RS223 decoding module, the decoding after the j-th output data to the output FIFO, then proceeds to step (6); if the coding type parameter is 255/239, RS239 decoding module is used for RS decoding, the decoded data output after the output to the j th the FIFO, then proceeds to step (6); said j is a natural number between 1 to interleaving depth parameters, and the initial value of j is 1; the step of RS decoder RS ​​type by calling a corresponding decoder, translated RS transcoding process includes five modules, as shown in Figure 2.

[0041] 1)用Horner算法由接收到的计算得到伴随式; [0041] 1) with Horner algorithm received from the calculated syndrome;

[0042] 2)用RiBM算法由Si用关键方程求解算法求得错误位置多项式和错误值多项式; [0042] 2) Si RiBM algorithm used by the algorithm to obtain the key equation error location polynomial and error value polynomial;

[0043] 3)用钱搜索法求得错误位置多项式的根,得到错误位置数,确定错误位置; [0043] 3) Chien search method determined by the error location polynomial roots, to give the number of error location, determining an error location;

[0044] 4)用Forney算法由错误值多项式求得错误值,得到错误值; [0044] 4) Forney algorithm using the error value polynomial calculated error value, to obtain an error value;

[0045] 5)最后由输入数据在对应错误位置处减去错误值,完成纠错。 [0045] 5) Finally, by subtracting the error value at the error location corresponding to the input data, the error correction is completed.

[0046] 设接收序列多项式为R(X) = ^1Xn-1+. . . +riX+r0,则考虑到译码算法的数据输入情况,伴随式可以由Horner算法计算,可以表示为: ... [0046] provided for the received sequence polynomial R (X) = ^ 1Xn-1 + + riX + r0, consider the case where the input data decoding algorithm, Horner syndrome can be calculated from the algorithm can be expressed as:

[0047] Si = Riam^j-1 ) = (···((〜_<。+卜1 + rN_2) W1 + 〜_3 + …+ 巧+ r0 [0047] Si = Riam ^ j-1) = (··· ((~ _ <. + BU 1 + rN_2) W1 + ~_3 + ... + + r0 Qiao

[0048] i = 1,2, ...Dl [0048] i = 1,2, ... Dl

[0049] 求解伴随式的Horner算法、求解关键方程的RiBM算法、求解错误位置的“钱搜索法”和求解错误值的Forney算法已经有比较完善的研究成果,属于本领域的公知技术。 [0049] solving the syndrome of Horner algorithm, the algorithm for solving RiBM key equation, solving the wrong location "money Search Law" and Forney algorithm error value already has an excellent research, belongs to the well-known technique in the art. 但是应用这几种算法计算的过程中,会涉及到很多乘法运算,换句话说,大量的乘法运算的速度也就决定了这几种算法的执行速度,因此,本发明设计了一种新的乘法运算的方法,极大的加快了这几种算法的运算速度,从而从整体上提高了译码的速度。 However, application of this process in some algorithm, involves a lot of multiplications, in other words, a large number of multiplication speed also determines the execution speed of these types of algorithms, therefore, the present invention contemplates a new the method of multiplication, greatly accelerated the speed of operation of these types of algorithms, thereby increasing the decoding speed as a whole.

[0050] 下面几个步骤属于解交织部分的过程,属于乒乓操作。 [0050] The following process steps belonging deinterleaving section belonging to ping-pong operation.

[0051] (6)判断第j个输出FIFO是否为空,若为空,则进入步骤(7);若不为空,则从第i 个输出FIFO中读取数据并输出,之后进入步骤(8)。 [0051] (6) determining the j-th output FIFO is empty, if it is empty, the process proceeds to step (7); if not empty, i-th output from the FIFO and outputs the read data, then proceeds to step ( 8).

[0052] (7)判断j是否等于交织深度参数,若不等于,则则将j+Ι赋值给j之后返回步骤(6);若等于,则返回步骤(2)。 [0052] (7) determines whether the parameter j is equal to the interleaving depth, if not equal, then the processing returns to step j + Ι (6) after the assignment to the j; if equal, return to step (2).

[0053] (8)判断j是否等于交织深度参数,若等于,则将j初始化为1之后返回步骤(6); 若不等于,则将j+Ι赋值给j之后返回步骤(6)。 [0053] (8) determines whether the parameter j is equal to the interleaving depth, if equal, then returns to step (6) after the initialization of j. 1; if not equal, then processing returns to step j + Ι (6) after the assignment to j.

[0054] 所述Horner算法、RiBM算法、钱搜索算法和Forney算法中所使用的乘法计算按照如下公式实现: [0054] Horner the multiplication algorithm, the algorithm RIBM, money and Forney algorithms search algorithm used in the calculation implemented in the following formula:

[0055] [0055]

Figure CN101969358AD00071

[0056]其中,C 为A 和B 的乘积,2 = e{0,l} ,B = ^biU1 ie {0,1},A 的向量表 [0056] wherein, C is the product of A and B, 2 = e {0, l}, B = ^ biU1 ie {0,1}, the vector table A

Figure CN101969358AD00072

示为a = [a。 Shown as a = [a. ,Ei1, ..., am_JT ;B 的向量表示为b = [b0, b” ...,IvJt,[0057] , Ei1, ..., am_JT; vector B is expressed as b = [b0, b "..., IvJt, [0057]

Figure CN101969358AD00081

[0058] [0058]

的内容,因此α为本原多项式的根,也就是已知内容,α '= [αω, αω+1,…,α 2111_屮因此, 从上面这些条件,可以求出Q的取值,进而求出乘积。 Content, therefore [alpha] is a primitive polynomial roots, is known content, α '= [αω, αω + 1, ..., α 2111_ Cao Thus, these conditions from the above, the value Q can be obtained, and further obtained product.

[0059] 两个伽罗华域上的元素乘法的实现较为困难,软件实现时可以用查对数表和反对数表的方法实现;在硬件实现中则用组合逻辑来实现。 [0059] Multiplication implemented on both the Galois Field is difficult, can be achieved using methods and check number table antilog table is implemented in software; combinational logic is implemented with hardware implementations. 在RS码的代数译码器中,有限域乘法器是应用最多且时延最大的部件,其计算时延决定了译码器的工作时钟频率。 In algebraic RS code decoder, it is the most widely used finite field multiplier and the maximum delay member calculates the clock frequency determines the delay of the decoder. 如何实现有限域乘法器,降低其运算时延,改善RS码译码器的性能,是RS码译码器实现过程中要考虑的一个关键问题。 How finite field multiplier, reducing the computational time delay, to improve the performance of the RS code decoder, a key issue is the RS decoder implementation process to be considered. 有限域中的其它运算,例如除法、求逆都可以用乘法器间接实现。 Other finite field arithmetic, such as division, inversion can be achieved indirectly multiplier. 在工程实践中,最常用的有限域乘法器是自然基乘法器和对偶_自然基乘法器。 In engineering practice, the most commonly used finite field multiplier is a multiplier for Nature and the natural base multiplier duality _.

[0060] 有限域乘法器从实现结构上来说可以分为比特串行乘法器和比特并行乘法器两种。 [0060] from finite field multiplier implemented structurally divided into bit serial multiplier and two kinds of bit-parallel multiplier. 比特串行乘法器结构实现上比较简单,面积复杂度为O (m),但是由于运算按比特进行, 高速实现难度较大。 Bit serial multiplier to achieve a relatively simple structure, the area of ​​complexity is O (m), but since the operation performed bitwise, difficult to achieve high speed. 比特并行乘法器通过电路连接,直接实现输出多位运算的结果,可以显著提高处理速度,面积复杂度为0(m2)。 Bit parallel multiplier circuit is connected via a direct multi-bit operation result output achieved, can significantly increase the processing speed, complexity of the area 0 (m2). 此外就是串并结合的混合(Hybrid)结构。 There is also the binding string and mixed (the Hybrid) structure. 除去实现结构的影响,有限域乘法器实现的复杂度主要与域的基底密切相关。 Effect removed to achieve the structure, complexity of the finite field multiplier implemented primarily closely related to the substrate domain.

[0061] 本方法采用的低复杂度比特并行有限域乘法算法,它的主要设计思想是做一个类似LU分解的处理,大大降低了硬件实现复杂度,并且结构规则,处理速度快。 [0061] This method uses a low complexity bit-parallel finite field multiplication method, its main idea is to make a LU decomposition process similar to greatly reduce hardware implementation complexity, and the structure rules, fast processing speed. 其原理介绍如下。 The principle is described below.

[0062] 设ρ(α )为GF(2m)域的本原多项式,α为本原多项式的根,Α,B为C = AB中的元'' ,am_JT ;类似的,B的向量表示为 [0062] provided ρ (α) of GF (2m) domain primitive polynomial, the polynomial is a primitive root [alpha], [alpha], B is C = AB in the element '', am_JT; Similarly, the vector B is represented as

,VJt引入GF(2m)中的变量α IP (ml) Xm阶矩阵Q,满足 , VJt introduction of GF (2m) variables α IP (ml) Xm order matrix Q, to meet the

素,W = ZaW' Μ0,1}。 Su, W = ZaW 'Μ0,1}. A 的向量表示为a = [a0,ai; b = [b0, b,, Vector A is represented as a = [a0, ai; b = [b0, b ,,

[0063] [0063]

[0064] [0064]

[0065] [0065]

[0066] [0067] [0066] [0067]

Figure CN101969358AD00082

其中 among them

α ' = [am, am+1, .··,a 2m^1]T α '= [am, am + 1,. ··, a 2m ^ 1] T

引入矩阵: The introduction of the matrix:

Figure CN101969358AD00083

[0068] [0068]

Figure CN101969358AD00091

[0069]设: [0069] provided:

[0070] d = Lb [0070] d = Lb

[0071] e = Ub [0071] e = Ub

[0072] 则可以证明得出: [0072] it can prove results:

[0073] C = AB = d+QTe [0073] C = AB = d + QTe

[0074] 经过大量仿真及工程测试,使用该方法可使RS译码速率达到1. 2Gbit/s,优于目前文献中发表的同类型译码器的性能指标,在需要时本发明还可以进一步通过增加并行度提高性能。 [0074] After extensive testing and engineering simulation using RS coding rate which can reach 1. 2Gbit / s, the performance index is superior to the same type of decoder is currently published in the literature, the present invention if necessary may further improve performance by increasing parallelism.

[0075] 本发明说明书中未作详细描述的内容属于本领域的公知技术。 [0075] The content of the description of the present invention is not described in detail belong to the well-known technique in the art.

Claims (3)

  1. 一种用于空间通信的高速并行RS译码方法,其特征在于步骤如下:(1)设置译码过程的参数,所述参数包括直通状态参数、交织深度参数、总帧长、译码类型参数;(2)根据步骤(1)中设置的直通状态参数判断译码过程是否是直通状态,若是直通状态,则将输入数据直接输出;若不是直通状态,则进入步骤(3);(3)由帧长计数器对输入数据进行计数,根据步骤(1)中设置的总帧长判断帧长计数器的计数结果是否等于总帧长,若不等于总帧长,则将数据写入第i个输入FIFO中,同时帧长计数器的计数结果加1,之后进入步骤(4);若等于总帧长,则读取所有输入FIFO中的数据之后进入步骤(5);所述i为1到交织深度参数之间的自然数,且i的初始值为1;(4)判断i是否等于交织深度参数,若等于,则将i初始化为1之后返回步骤(3);若不等于,则将i+1赋值给i之后返回步骤(3);(5) RS speed parallel decoding method for space communications, characterized by the following steps: (1) the coding process parameter setting, the parameters include parameters bar state, interleaving depth parameters, the total frame length, coding type parameter ; (2) according to step (1) through the status parameter is determined whether the decoding process is provided through state, if the bar state, then the input data directly outputted; bar state if not, the process proceeds to step (3); (3) a frame length counter for counting the input data, according to step (1) the counting result of the total frame length set in the frame length counter determines the total frame length is equal to, if not equal to the total frame length, the data is written an i-th input the FIFO, while the counting result of the frame length counter is incremented by 1, then go to step (4); if the frame length equal to the total, then all input data into the FIFO is read in step (5); i is 1 to the interleaving depth the initial natural number parameter i and a value of 1; if (4) is determined parameter i is equal to the interleaving depth, if equal, then i is initialized to return to step (3) after 1; if not equal, then i + 1 after assigning returns to step i (3); (5) 据译码类型参数判断使用哪一种译码模块进行RS译码,若译码类型参数为255/223,则使用RS223译码模块进行RS译码,将译码之后的数据输入第j个输出FIFO中,之后进入步骤(6);若译码类型参数为255/239,则使用RS239译码模块进行RS译码,将译码之后的数据输入第j个输出FIFO中,之后进入步骤(6);所述j为1到交织深度参数之间的自然数,且j的初始值为1;(6)判断第j个输出FIFO是否为空,若为空,则进入步骤(7);若不为空,则从第j个输出FIFO中读取数据并输出,之后进入步骤(8);(7)判断j是否等于交织深度参数,若不等于,则则将j+1赋值给j之后返回步骤(6);若等于,则返回步骤(2);(8)判断j是否等于交织深度参数,若等于,则将j初始化为1之后返回步骤(6);若不等于,则将j+1赋值给j之后返回步骤(6)。 According coding type parameter which is determined using RS decoding module decodes, when the coded parameter 255/223 type, RS223 is used for RS decoding module decodes the j-th input of output data after the decoding the FIFO, then proceeds to step (6); if the coding type parameter is 255/239, RS239 is used for RS decoding module decodes the input data after decoding the j-th output in the FIFO, then proceeds to step (6 ); j is 1 to the natural number between interleaving depth parameter, and the initial value of j is 1; if (6) determining the j-th output FIFO is empty, if it is empty, the process proceeds to step (7); if is empty, the j-th output from the FIFO and outputs the read data, then proceeds to step (8); if (7) determines the interleaving depth parameter j is equal to, if not equal, then it is assigned to the j + 1 j returns after step (6); if equal, return to step (2); if (8) is determined parameter j is equal to the interleaving depth, if equal, then the processing returns to step j is initialized to (6) after 1; if not equal, then j + after returning to step j 1 assignments to (6).
  2. 2.根据权利要求1所述一种用于空间通信的高速并行RS译码方法,其特征在于,所述步骤(5)中使用RS223译码模块进行RS译码和使用RS239译码模块进行RS译码按照如下步骤进行:(a)将接收到的数据存入接收序列缓存中等待纠错处理,同时,将所述接收到的数据用Horner算法计算伴随式S,之后进入步骤(b);(b)使用RiBM算法由步骤(a)中得到的伴随式S求得错误位置多项式和错误值多项式,之后进入步骤(c);(c)利用步骤(b)中得到的错误位置多项式使用钱搜索算法计算错误位置,同时利用步骤(b)中得到的错误值多项式使用Forney算法计算错误值,之后根据所述错误位置和错误值对步骤(a)中接收序列缓存中等待纠错处理的数据进行纠错处理并输出。 1 according to the high-speed parallel RS decoding method for space communications claim, wherein said step (5) using RS223 decoding module for decoding and using RS decoding module RS239 RS decoding steps as follows: (a) the received data into error correction process buffer to wait for reception sequence, while the syndrome S of the received data calculated by Horner algorithm then proceeds to step (B); (b) using RiBM algorithm from step (a) obtained in the syndrome S calculated error position polynomial and error value polynomial, then proceeds to step (c); error position (c) using the step (b) using the polynomial obtained in the money calculating an error position search algorithm, while the use of step (b) the error values ​​obtained using the error value polynomial calculated Forney algorithm, a received sequence after waiting for the error correction process buffer data in step (a) in accordance with the error location and error value and outputs an error correction process.
  3. 3.根据权利要求2所述一种用于空间通信的高速并行RS译码方法,其特征在于,所述Horner算法、RiBM算法、钱搜索算法和Forney算法中所使用的乘法计算按照如下公式实现:C = AB = d+QTe = Lb+QTUb,ml m-1其中,C为A和B的乘积M = «' e{0,l} ,B = Yj^a' α'e {θ,ΐ},A的向量表示为(=1 /=1a = [a0, Ei1,…,Bdi-Jt ;B 的向量表示为b = [b。,Id1, ...,bm_JT, 2 according to the method of high-speed parallel RS decoding for space communications claim, wherein said multiplication algorithm Horner, RIBM algorithm, and the Forney algorithm Chien search algorithm used is calculated according to the following equation implemented : C = AB = d + QTe = Lb + QTUb, ml m-1 where, C is the product of m a and B = « 'e {0, l}, B = Yj ^ a' α'e {θ, ΐ }, the vector a is represented as (= 1 / = 1a = [a0, Ei1, ..., Bdi-Jt; vector B is expressed as b = [b, Id1, ..., bm_JT,.
    Figure CN101969358AC00031
    Q为满足α tZQ^amodp(Ci)的矩阵,ρ(α)为GF (2m)域的本原多项式,α为本原多项式的根,α f = [αω,αω+1,…,α2"1-1]1。 Q is satisfied α tZQ ^ amodp (Ci) of the matrix, ρ (α) of GF (2m) domain primitive polynomial, α is a primitive polynomial roots, α f = [αω, αω + 1, ..., α2 " 1-1] 1.
CN 201010297884 2010-09-29 2010-09-29 High-speed parallel RS decoding method for space communication CN101969358B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010297884 CN101969358B (en) 2010-09-29 2010-09-29 High-speed parallel RS decoding method for space communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010297884 CN101969358B (en) 2010-09-29 2010-09-29 High-speed parallel RS decoding method for space communication

Publications (2)

Publication Number Publication Date
CN101969358A true true CN101969358A (en) 2011-02-09
CN101969358B CN101969358B (en) 2012-12-26

Family

ID=43548465

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010297884 CN101969358B (en) 2010-09-29 2010-09-29 High-speed parallel RS decoding method for space communication

Country Status (1)

Country Link
CN (1) CN101969358B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102361460A (en) * 2011-07-28 2012-02-22 航天恒星科技有限公司 General high speed parallel cycle interleaving Viterbi decoding method
CN102938653A (en) * 2012-11-13 2013-02-20 航天恒星科技有限公司 Parallel RS decoding method achieved through graphics processing unit (GPU)
CN103929209A (en) * 2014-04-09 2014-07-16 西安电子科技大学 High-performance combined RS processor based on FPGA

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040071223A1 (en) * 2002-10-15 2004-04-15 Ko Young Jo Channel encoding/decoding method and multiple-antenna communication transmitting/receiving system performing the same
CN101262305A (en) * 2008-04-23 2008-09-10 中兴通讯股份有限公司 A Reed-Solomon code coding method and device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040071223A1 (en) * 2002-10-15 2004-04-15 Ko Young Jo Channel encoding/decoding method and multiple-antenna communication transmitting/receiving system performing the same
CN101262305A (en) * 2008-04-23 2008-09-10 中兴通讯股份有限公司 A Reed-Solomon code coding method and device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张拯宁等: "《CCSDS-RS(255,223)码高速译码器的硬件实现研究》", 《中国空间科学技术》, 31 October 2009 (2009-10-31), pages 75 - 83 *
张拯宁等: "《CCSDS标准Reed-Solomon码编码参数的研究》", 《航天器工程》, 31 July 2009 (2009-07-31), pages 49 - 53 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102361460A (en) * 2011-07-28 2012-02-22 航天恒星科技有限公司 General high speed parallel cycle interleaving Viterbi decoding method
CN102361460B (en) 2011-07-28 2013-10-16 航天恒星科技有限公司 General high speed parallel cycle interleaving Viterbi decoding method
CN102938653A (en) * 2012-11-13 2013-02-20 航天恒星科技有限公司 Parallel RS decoding method achieved through graphics processing unit (GPU)
CN102938653B (en) * 2012-11-13 2016-06-01 航天恒星科技有限公司 Rs parallel decoding method utilizing a graphics processor achieved gpu
CN103929209A (en) * 2014-04-09 2014-07-16 西安电子科技大学 High-performance combined RS processor based on FPGA

Also Published As

Publication number Publication date Type
CN101969358B (en) 2012-12-26 grant

Similar Documents

Publication Publication Date Title
US7313583B2 (en) Galois field arithmetic unit for use within a processor
US6263470B1 (en) Efficient look-up table methods for Reed-Solomon decoding
Lee High-speed VLSI architecture for parallel Reed-Solomon decoder
US20040153942A1 (en) Soft input soft output decoder for turbo codes
US20030188253A1 (en) Method for iterative hard-decision forward error correction decoding
Schmidt et al. Collaborative decoding of interleaved Reed–Solomon codes and concatenated code designs
Lee et al. A high-speed pipelined degree-computationless modified Euclidean algorithm architecture for Reed-Solomon decoders
CN102882533A (en) Low density parity check (LDPC) serial encoder in digital terrestrial multimedia broadcasting (DTMB) and based on lookup table and coding method
US20040078410A1 (en) Galois field multiplier array for use within a finite field arithmetic unit
Jiang A practical guide to error-control coding using Matlab
US20030188248A1 (en) Apparatus for iterative hard-decision forward error correction decoding
CN101610229A (en) Joint LDPC encoding recursive MSK modulation and demodulation system and method therefor
JP2000183758A (en) Decoding device, decoding method, encoding device and encoding method
US7343472B2 (en) Processor having a finite field arithmetic unit utilizing an array of multipliers and adders
EP1102406A2 (en) Apparatus and method for decoding digital data
Lee et al. Two-parallel Reed-Solomon based FEC architecture for optical communications
US20030140301A1 (en) Intra-decoder component block messaging
CN101013931A (en) Method and apparatus for channel coding and interleaving in mobile media broadcast
CN101453221A (en) Mapper based on bit weaving code modulation system and mapping process thereof
CN101534127A (en) Encoding and decoding method for improving decoding efficiency by pilot frequency information and device thereof
Mamidi et al. Instruction set extensions for Reed-Solomon encoding and decoding
CN101848002A (en) Iterative decoding device of RS (Reed-solomon) cascading grid modulation code and decoding method thereof
US6735737B2 (en) Error correction structures and methods
CN101277119A (en) Method for complexing hardware of Reed Solomon code decoder as well as low hardware complex degree decoding device
Wong et al. Implementation of convolutional encoder and Viterbi decoder using VHDL

Legal Events

Date Code Title Description
C06 Publication
C10 Entry into substantive examination
C14 Grant of patent or utility model