搜索 图片 地图 Play YouTube Gmail 云端硬盘 日历 更多 »
登录
屏幕阅读器用户请注意:点击此链接可进入无障碍模式。阅读器在无障碍模式下具有同样的基本功能,但可让用户获得更好的体验。

专利

  1. 高级专利搜索
公开号CN101969358 A
发布类型申请
专利申请号CN 201010297884
公开日2011年2月9日
申请日期2010年9月29日
优先权日2010年9月29日
公告号CN101969358B
公开号201010297884.3, CN 101969358 A, CN 101969358A, CN 201010297884, CN-A-101969358, CN101969358 A, CN101969358A, CN201010297884, CN201010297884.3
发明者崔骞, 张拯宁, 战勇杰, 朱翔宇
申请人航天恒星科技有限公司
导出引文BiBTeX, EndNote, RefMan
外部链接:  中国国家知识产权局, 欧洲专利数据库 (Espacenet)
High-speed parallel RS decoding method for space communication
CN 101969358 A
摘要
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.
权利要求(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译码,若译码类型参数为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)。 High-speed parallel RS decoding method for space communications, characterized by the following steps: (1) the decoding process parameter settings, the parameters including through state parameters, interleaving depth parameters, total frame length decoding type parameter ; (2) according to step (1) through state parameter is determined whether the decoding process is set in a through state, if the bar state, the input data is directly output; if not through state, then proceeds to step (3); (3) by the frame length counter for counting the input data, according to step (1) is set in the counting result of the total frame length is determined whether the frame length counter is equal to the total frame length, if not equal to the total frame length, the data is written to the i-th input the FIFO, while the frame length counter counting result is incremented by 1, after entering the step (4); if equal to the total frame length is read after all of the input data in the FIFO advances to step (5); wherein i is 1 to interleaving depth natural number between initial parameters, and i is a value of 1; (4) determines whether i is equal to the interleaving depth parameters, if equal, then i is initialized to 1 returns to the step (3); if not equal, then i + 1 Returns after assigned to i step (3); (5) which is determined using the RS decoder according to the decoding module decoding type parameter, if the decoding type parameter is 255/223, the decoder module using RS223 RS Translation code, the data input to a decoder after the j-th output of the FIFO, and then proceeds to step (6); if decoding type parameter is 255/239, using RS239 RS decoding module decodes the data after decoding j-th output FIFO input, after which flow proceeds to step (6); wherein j is a natural number of 1 to interleaving depth parameters, and j is the initial value of 1; if (6) determines 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 read data FIFO and outputs, after the routine proceeds to step (8); if (7) determines the parameter j is equal to the interleaving depth, if not equal, then it will be assigned to j + 1 j after returning to step (6); if equal, the process returns to step (2); if (8) determines the parameter j is equal to the interleaving depth, if equal, then j is initialized to 1 to return Step (6); if not equal, it will return to step j + 1 is assigned to j after (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 decoding and RS decoding module using RS239 RS Decoding according to the following steps: (a) the received data into the receive buffer waiting sequence error correcting process, at the same time, the received data using the Horner algorithm to calculate the syndrome S, then proceeds to step (b); (b) using RiBM algorithm by step (a) obtained in the syndrome S is obtained error position polynomial and error value polynomial, then proceeds to step (c); the error position (c) with step (b) using the polynomial obtained in the money computing the error location search algorithm, while the use of step (b) the error value polynomial obtained using the Forney algorithm to calculate an error value, then the sequence waits for the cache data according to the error correction processing said error position and error value received in step (a) error correction processing and outputs.
  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, 3. The two high-speed parallel RS decoding method for space communications claim, characterized in that said Horner multiplication algorithm, RiBM algorithm, Chien search algorithm and Forney algorithm used in the calculation according to the following equation to achieve : C = AB = d + QTe = Lb + QTUb, ml m-1 where, C is the product of A and B M = «'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, ρ (α) for GF (2m) primitive polynomial domain, α-oriented original roots of the polynomial, α f = [αω, αω + 1, ..., α2 " 1-1] 1.
说明  翻译自中文

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

技术领域 FIELD

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

背景技术 BACKGROUND

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

[0003] 空间通信用RS码为空间数据系统咨询委员会(CCSDS)推荐的RS(255,223)或RS (255, 239)码,这两种码基本编码参数相同,主要是纠错能力不同。 [0003] The recommended space communications code with RS Advisory Committee for Space Data Systems (CCSDS) RS (255,223) or RS (255, 239) yards, two yards basic encoding the same parameters, the main difference is the error correction capability. CCSDS规定RS码可采用的交织深度为1、2、3、4、5、8共6种。 CCSDS RS code can be specified interleaving depth for a total of six kinds of 1,2,3,4,5,8. 在不同的卫星通信系统中往往选用了不同的RS编码类型及不同的交织深度,这就就给空间通信用RS译码器的研制带来了很大的困难。 In different satellite communication systems often choose different types of RS coding and interleaving of different depths, which gave space communications has brought great difficulties with the development of RS decoder. 现有RS译码器采用的译码方法一般将解交织与译码过程分别实现,这样做的优点是实现方案简单,缺点是灵活性不够。 Conventional RS decoder decoding method employed generally deinterleaving and decoding process are realized, the advantage of this is that a simple implementation, the disadvantage is the lack of flexibility. RS译码器的译码过程需要进行大量的有限域运算,其中乘法运算单元最多而且对译码速度的影响也最大。 RS decoder decoding process requires a lot of finite field arithmetic, where the multiplication unit up and also on the maximum decoding speed. 由于目前RS译码器中使用的乘法器没有经过优化, 造成译码器的工作时钟不能太高。 Due to the current multiplier RS decoder used is not optimized, resulting in the decoder operating clock can not be too high. 同时,由于遥感卫星数传码速率不断提高,要在兼容不同RS编码格式与交织深度的基础进一步提高码速率难度就更大。 Also, because the remote sensing satellite data transmission code rate continues to improve, to be compatible with different encoding formats RS depth interleaving basis to further improve the code rate is even more difficult.

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

发明内容 SUMMARY

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

[0006] 本发明的技术解决方案是: [0006] technical solutions of the present invention are:

[0007] —种用于空间通信的高速并行RS译码方法,步骤如下: [0007] - the kind of high-speed parallel RS decoding method for space communications, as follows:

[0008] (1)设置译码过程的参数,所述参数包括直通状态参数、交织深度参数、总帧长、译码类型参数; Parameter [0008] (1) Set the decoding process, the parameters include bar state parameters, interleaving depth parameters, the total frame length, the type of decoding 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 state parameter is determined whether the decoding process is set in a through state, if the bar state, the input data is directly output; if not through state, then proceeds to step (3); [ 0010] (3) by the frame length counter for counting the input data, according to step (1) is set in the counting result of the total frame length is determined whether the frame length counter is equal to the total frame length, if not equal to the total frame length, the data is written the i-th input FIFO while the frame length counter counting result is incremented by 1, then proceeds to step (4); then, if equal to the total frame length, all the input data is read into the FIFO in step (5); the i is a natural number of 1 to interleaving depth parameters, and the initial value of i is 1;

[0011] (4)判断i是否等于交织深度参数,若等于,则将i初始化为1之后返回步骤(3); 若不等于,则将i+Ι赋值给i之后返回步骤(3); [0011] (4) to determine the parameter i is equal to the interleaving depth, if equal, then i is initialized to a return to step (3); if not equal, then i + Ι assignment after i return to 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) which is determined using RS decoding module decodes based on the decoded type parameter, if the decoding type parameter is 255/223, the decoder module using RS223 RS decoding, the decoded after the j-th input data in the output FIFO, after entering step (6); if decoding type parameter is 255/239, using RS239 RS decoding module decodes the data input to a decoder after the j-th output in the FIFO , then proceeds to step (6); wherein j is a natural number of 1 to interleaving depth parameters, and j is the initial value of 1;

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

[0014] (7)判断j是否等于交织深度参数,若不等于,则则将j+Ι赋值给j之后返回步骤(6);若等于,则返回步骤(2); [0014] (7) to determine the parameter j is equal to the interleaving depth, if not equal, you will be assigned after j + Ι j to return to step (6); if equal, then 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 j is initialized to 1, after returning to step (6); if not equal, then the process returns to step j + Ι after j is assigned to (6).

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

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

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

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

[0020] 所述Horner算法、RiBM算法、钱搜索算法和Forney算法中所使用的乘法计算按照如下公式实现: [0020] The Horner algorithm, RiBM algorithm, Chien search algorithm and Forney algorithms used in the realization of the multiplication is calculated as follows:

[0021] [0021]

Figure CN101969358AD00051

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

?=1 ? = 1

表示为 a=[ ? Is 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 to meet X '=: Q-

Figure CN101969358AD00052

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

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

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

[0027] (3)本发明通过采取多路并行RS译码、优化有限域乘法器的实现逻辑等措施,大大提高了译码速率,可以直接应用于高码速率遥感卫星地面接收系统,通过采用模块化设计,在需要时可以进一步增加并行度提高性能。 [0027] (3) of the present invention by taking multiple parallel RS decoder, optimized implementation logic finite field multiplier measures, greatly improving the decoding speed, high bit rate can be directly applied to remote sensing satellite ground receiving system, through the use of modular design, when needed to increase the degree of parallelism can be further improved performance.

附图说明 Brief Description

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

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

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

具体实施方式 DETAILED DESCRIPTION

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

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

[0033] 如图1所示为本发明RS码译码器组成示意图,本发明译码部分采用8路并行结构,每一路均包括输入FIFO,输出FIFO,译码类型选通器,译码核组成,这样可以译码速度大大加快并且可以根据实际译码需要选择交织深度,且适应1至8的任意交织深度。 [0033] Figure 1 shows the composition of the invention schematic RS decoder decoding part of the invention in an 8-channel parallel structure, each channel includes an input FIFO, the output FIFO, decoding type strobe, decoder core composition, which can greatly accelerate the decoding speed and the interleaving depth can be selected according to actual coding, and adaptation 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, in accordance with the following steps:

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

[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, the input data is directly output; if not through state, then proceeds to step (3).

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

[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) is set in the counting result of the total frame length is determined whether the frame length counter is equal to the total frame length, if not equal to the total frame length, the data is written to the i-th input FIFO while the frame length counter counting result is incremented by 1, then proceeds to step (4); then, if equal to the total frame length, all the input data is read into the FIFO in step (5); the depth parameter i is a natural number between 1 to interleaving, and the initial value i to 1; deinterleaving process is completed by this step, the interleaved data recovery for single RS encoded output format. 帧长计数器就是用来计量数据帧长的一个计数器。 Frame length counter is a counter for metering data frame length.

[0039] (4)判断i是否等于交织深度参数,交织深度参数是第一步的时候设置好的,若等于,则将i初始化为1之后返回步骤(3);若不等于,则将i+Ι赋值给i之后返回步骤(3)。 [0039] (4) to determine the parameter i is equal to the interleaving depth, interleaving depth parameter is the first step to set a good time, if equal, then i is initialized to return after step 1 (3); if not equal, then i + Ι return after assignment to 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) which is determined using RS decoding module decodes based on the decoded type parameter, if the decoding type parameter is 255/223, the decoder module using RS223 RS decoding, the decoded after Data output to the j-th output in the FIFO, then proceeds to step (6); if decoding type parameter is 255/239, using RS239 RS decoding module decodes the data and outputs the decoded subsequent to the j-th output 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 by calling the corresponding type of decoder RS, RS translation transcoding process includes five modules, as shown in Figure 2.

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

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

[0043] 3)用钱搜索法求得错误位置多项式的根,得到错误位置数,确定错误位置; [0043] 3) search method to obtain money the root of the error location polynomial, get the wrong number of positions to determine the error location;

[0044] 4)用Forney算法由错误值多项式求得错误值,得到错误值; [0044] 4) obtained by Forney polynomial algorithm error value from the error value, get an error value;

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

[0046] 设接收序列多项式为R(X) = ^1Xn-1+. . . +riX+r0,则考虑到译码算法的数据输入情况,伴随式可以由Horner算法计算,可以表示为: ... [0046] to the received sequence polynomial R (X) = ^ 1Xn-1 + + riX + r0, consider the case of the data input decoding algorithm, the syndrome can be calculated by the Horner 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 + ... + clever + r0

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

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

[0050] 下面几个步骤属于解交织部分的过程,属于乒乓操作。 [0050] The following steps are part of the process of de-interleaving, belong to the ping-pong operation.

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

[0052] (7)判断j是否等于交织深度参数,若不等于,则则将j+Ι赋值给j之后返回步骤(6);若等于,则返回步骤(2)。 [0052] (7) to determine whether j is equal to the interleaving depth parameters, if not equal, then it will return to step j + Ι after assignment to j (6); if equal, then 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 j is initialized to 1, after returning to step (6); if not equal, then the process returns to step j + Ι after j is assigned to (6).

[0054] 所述Horner算法、RiBM算法、钱搜索算法和Forney算法中所使用的乘法计算按照如下公式实现: [0054] The Horner algorithm, RiBM algorithm, Chien search algorithm and Forney algorithms used in the realization of the multiplication is calculated as follows:

[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}, A vector table

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, and therefore α-oriented original roots of the polynomial, which is known content, α '= [αω, αω + 1, ..., α 2111_ Che Therefore, these conditions from the above, the value Q can be obtained, and then product obtained.

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

[0060] 有限域乘法器从实现结构上来说可以分为比特串行乘法器和比特并行乘法器两种。 [0060] finite field multiplier from a structural point of realization can be divided into bit-serial multiplier and two kinds of bit-parallel multiplier. 比特串行乘法器结构实现上比较简单,面积复杂度为O (m),但是由于运算按比特进行, 高速实现难度较大。 Bit-serial multiplier structure is relatively simple to achieve, area complexity is O (m), but due to operations carried out by bit, high-speed implementation difficult. 比特并行乘法器通过电路连接,直接实现输出多位运算的结果,可以显著提高处理速度,面积复杂度为0(m2)。 Bit parallel multiplier is connected through the circuit, the output of the direct result of a number of operations to achieve, can significantly improve the processing speed, an area of complexity is 0 (m2). 此外就是串并结合的混合(Hybrid)结构。 There is also a combination of serial and mixed (Hybrid) structure. 除去实现结构的影响,有限域乘法器实现的复杂度主要与域的基底密切相关。 Removing achieve impact structure, the complexity of finite field multipliers is closely related to the main base region.

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

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

,VJt引入GF(2m)中的变量α IP (ml) Xm阶矩阵Q,满足 , VJt introduction of GF (2m) in a variable α 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 expressed 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] can prove drawn:

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

[0074] 经过大量仿真及工程测试,使用该方法可使RS译码速率达到1. 2Gbit/s,优于目前文献中发表的同类型译码器的性能指标,在需要时本发明还可以进一步通过增加并行度提高性能。 [0074] After extensive simulation and engineering test, using this method allows the RS decoding rate up to 1. 2Gbit / s, better than the current published literature, the same type of decoder performance when needed to the present invention can be further improve performance by increasing the degree of parallelism.

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

专利引用
引用的专利 申请日期公开日 申请人专利名
CN101262305A *2008年4月23日2008年9月10日中兴通讯股份有限公司A Reed-Solomon code coding method and device
US20040071223 *2002年12月23日2004年4月15日Ko Young JoChannel encoding/decoding method and multiple-antenna communication transmitting/receiving system performing the same
非专利引用
参考文献
1 *张拯宁等: "《CCSDS-RS(255,223)码高速译码器的硬件实现研究》", 《中国空间科学技术》, 31 October 2009 (2009-10-31), pages 75 - 83
2 *张拯宁等: "《CCSDS标准Reed-Solomon码编码参数的研究》", 《航天器工程》, 31 July 2009 (2009-07-31), pages 49 - 53
被以下专利引用
引用专利 申请日期公开日 申请人专利名
CN102361460A *2011年7月28日2012年2月22日航天恒星科技有限公司General high speed parallel cycle interleaving Viterbi decoding method
CN102361460B2011年7月28日2013年10月16日航天恒星科技有限公司General high speed parallel cycle interleaving Viterbi decoding method
CN102938653A *2012年11月13日2013年2月20日航天恒星科技有限公司Parallel RS decoding method achieved through graphics processing unit (GPU)
CN102938653B *2012年11月13日2016年6月1日航天恒星科技有限公司一种利用图形处理器gpu实现的并行rs译码方法
CN103929209A *2014年4月9日2014年7月16日西安电子科技大学High-performance combined RS processor based on FPGA
分类
国际分类号H04L1/00
法律事件
日期代码事件说明
2011年2月9日C06Publication
2011年3月23日C10Entry into substantive examination
2012年12月26日C14Grant of patent or utility model