CN112367087B - 一种高速rs译码器 - Google Patents
一种高速rs译码器 Download PDFInfo
- Publication number
- CN112367087B CN112367087B CN202011391342.2A CN202011391342A CN112367087B CN 112367087 B CN112367087 B CN 112367087B CN 202011391342 A CN202011391342 A CN 202011391342A CN 112367087 B CN112367087 B CN 112367087B
- Authority
- CN
- China
- Prior art keywords
- error
- polynomial
- module
- register
- output
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000007781 pre-processing Methods 0.000 claims abstract description 44
- 238000012937 correction Methods 0.000 claims abstract description 31
- 208000011580 syndromic disease Diseases 0.000 claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 10
- 238000004364 calculation method Methods 0.000 claims description 108
- 239000011159 matrix material Substances 0.000 claims description 46
- 238000010845 search algorithm Methods 0.000 claims description 25
- 238000013500 data storage Methods 0.000 claims description 9
- 238000012804 iterative process Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 abstract description 8
- 230000005540 biological transmission Effects 0.000 abstract description 6
- 238000000034 method Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 229940050561 matrix product Drugs 0.000 description 6
- 238000003491 array Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明针对高速传输的通信系统,提供了一种实现硬件资源少,速度快的高速RS译码器,包括伴随多项式运算模块、欧几里得算法模块、钱搜索和福尼算法模块,以及纠错模块;伴随多项式运算模块用于对输入的p*m bit接收码进行处理,得到n‑k个伴随子si i∈[0,n‑k‑1],从而得到包含n‑k项的伴随多项式;欧几里得算法模块用于计算x2t与所述伴随多项式的最大公约数,通过n‑k次迭代生成错误位置多项式和错误值多项式;2t=n‑k;钱搜索和福尼算法模块用于对所述错误位置多项式和错误值多项式进行数据预处理、并行分流为p路数据,计算p路数据的错误图样;纠错模块用于对所述p*m bit接收码和所述p路数据的错误图样按高低位进行异或操作,完成纠错并输出。
Description
技术领域
本发明涉及通信中的译码领域,具体涉及一种高速RS译码器。
背景技术
随着光纤通信技术的发展与普及,光网络的性能迎来了新的挑战。由于现实中的各种需求,光网络需要满足距离远,速率高,存储大的要求,但是伴随满足这些需求的同时会产生大量的误码,对接收器的纠错能力是一个巨大的挑战,所以前向纠错技术(FEC)就变得十分重要。而Reed-Solomon码(RS码)属于一种性能优良的前向纠错技术,并且特别适合纠正突发错码,因此广泛应用于无线通讯,光通讯,存储系统等方面。RS译码器中包括伴随多项式计算,关键方程计算,错误图样计算以及纠错过程,随着通信系统传输速率的提高,译码器的硬件资源需求和延时越来越大。目前RS现有并行译码电路在RS(544,514)码长、8路并行情况下,吞吐量可达36Gbit/s;在RS(255,239)码长、3路并行情况下,吞吐量为11.4Gbit/s。但是现有的并行译码电路设计没有提出在数据高速传输情况下针对长码的译码方案。因此,在高速率的通信系统中如何设计出一款高速且硬件资源少的译码电路就成为了必须要解决的问题。
发明内容
本发明针对高速传输的通信系统,提供了一种实现硬件资源少,速度快的高速RS译码器,由于处理数据效率较高,因而本发明可以应对长码。
本发明的技术方案是:
一种高速RS译码器,其特殊之处在于:
包括伴随多项式运算模块、欧几里得算法模块、钱搜索和福尼算法模块,以及纠错模块;
伴随多项式运算模块用于对输入的p*m bit接收码进行处理,得到n-k个伴随子sii∈[0,n-k-1],从而得到包含n-k项的伴随多项式;
欧几里得算法模块用于计算x2t与所述伴随多项式的最大公约数,通过n-k次迭代生成错误位置多项式和错误值多项式;2t=n-k;
钱搜索和福尼算法模块用于对所述错误位置多项式和错误值多项式进行数据预处理、并行分流为p路数据,计算p路数据的错误图样;
纠错模块用于对所述p*m bit接收码和所述p路数据的错误图样按高低位进行异或操作,完成纠错并输出。
进一步地,伴随多项式运算模块包括p路并行的伴随子预处理模块、伴随多项式计算模块和输出控制模块;
p路并行的伴随子预处理模块用于对当前输入的p路m bit数据均乘以α0,α1,...,αn-k-1,再与下次输入的p路mbit数据进行累加,经P次迭代后将n-k个结果输出至伴随多项式计算模块;
伴随多项式计算模块由多路选择器、数据存储器及n-k个伽罗华域乘法器构成;
多路选择器用于根据伴随子预处理模块输出的p个计算结束标志信号,单周期内仅选通其中一路伴随子预处理模块的结果输出;
数据存储器存储用于存储以p为倍数的伽罗华域乘法因子
n-k个伽罗华域乘法器用于将所述以p为倍数的伽罗华域乘法因子,与经多路选择器所选择的伴随子预处理模块的输出结果相乘;
输出控制模块接收n-k个伽罗华域乘法器的计算结果并对其依次累加,完成伴随多项式计算,输出包含n-k项伴随多项式。
进一步地,欧几里得算法模块为由多级结构相同的欧几里得算法基础模块级联构成的L级流水线结构;
单个欧几里得算法基础模块包括除法模块、错误值多项式计算模块和错误位置多项式计算模块;
除法模块用于计算产生商q;
错误值多项式计算模块由错误值寄存器、错误值备用寄存器、错误值乘法矩阵和迭代次数计数器构成;错误值寄存器用于存储当前计算使用的错误值;错误值备用寄存器用于存储迭代过程中需要赋值给错误值寄存器的数值;错误值乘法矩阵的输入是来自错误值寄存器的数据ωinner_i(i∈[0,n-k-1],i∈z)和除法模块输出的商q,输出是它们的乘积;
错误位置多项式计算模块由错误位置寄存器、错误位置备用寄存器、错误位置异或寄存器和错误位置乘法矩阵构成;错误位置寄存器用于存储当前计算使用的错误位置信息;错误位置备用寄存器用于存储迭代过程中需要赋值给错误位置寄存器的数值;错误位置异或寄存器用于计算错误位置乘法矩阵的输出值与错误位置备用寄存器的输出值的异或结果并存储;错误位置乘法矩阵的输入是来自错误位置寄存器的数据λinner_i(i∈[0,n-k-1],i∈z)和除法模块输出的商q,输出是它们的乘积。
迭代次数计数器用于累计除法模块、错误值多项式计算模块、错误位置多项式计算模块的迭代次数,当计数值为3*(n-k)时,错误值寄存器和错误位置寄存器将错误值多项式和错误位置多项式输出。
进一步地,除法模块由数据存储器、第一寄存器、第二寄存器和伽罗华域乘法器构成;
数据存储器用于存储伽罗华域不同次幂本原元αi(i∈[0,n-1]);
第一寄存器、第二寄存器分别用于存储除数多项式最高项系数的倒数和存储被除数多项式的最高项系数;
伽罗华域乘法器用于将第一寄存器、第二寄存器的输出值相乘,得到商q。
进一步地,钱搜索和福尼算法模块包括初始化模块以及p个钱搜索算法和福尼算法计算模块;
初始化模块包括错误值输入寄存器、错误位置输入寄存器、计数器一、输入选择器、伽罗华域数据存储单元、第一乘法矩阵、计数器二、输出选择器、错误值输出寄存器和错误位置输出寄存器;
错误值输入寄存器和错误位置输入寄存器分别用于存储所述欧几里得算法模块输出的含有n-k项的错误位置多项式和含有n-k项的错误值多项式;
计数器一用于控制所述输入选择器输出到第一乘法矩阵的参数,前p个输出为错误值多项式系数,后p个输出为错误位置多项式系数;
第一乘法矩阵用于将接收到的错误值多项式系数与所述伽罗华域数据存储单元中的p个数组相乘,以及将接收到的错误位置多项式系数与所述伽罗华域数据存储单元中的p个数组相乘;
计数器二用于控制所述输出选择器将第一乘法矩阵的初始化结果,对应存储在所述错误值输出寄存器或者错误位置输出寄存器中;
所述错误值输出寄存器和错误位置输出寄存器分别用于存储p组错误值初始化结果和p组错误位置初始化结果。
进一步地,单个钱搜索算法和福尼算法计算模块包括错误位置多项式输入寄存器、错误值多项式输入寄存器、第二乘法矩阵、第三乘法矩阵、第一加法器、第二加法器、第三加法器和除法器;
错误位置多项式输入寄存器、错误值多项式输入寄存器分别用于存储所述初始化模块输出的错误位置多项式系数和错误值多项式系数;
第二乘法矩阵用于将错误位置多项式输入寄存器中的数据对应按顺序乘以伽罗华域本原元的递增次幂;
第三乘法矩阵用于将错误值多项式输入寄存器中的数据对应按顺序乘以伽罗华域本原元的递增次幂;
第一加法器用于基于第二乘法矩阵的输出结果,计算错误位置多项式偶数项之和以及错误位置多项式奇数项之和;
第二加法器用于基于第三乘法矩阵的输出结果,计算错误值多项式各项之和;
除法器用于将所述错误值多项式各项之和除以错误位置多项式奇数项之和,得到错误图样。
进一步地,单个钱搜索算法和福尼算法计算模块还包括错误数计数器;所述错误数计数器用于根据错误位置多项式偶数项之和以及错误位置多项式奇数项之和,计算错误数量;
所述钱搜索和福尼算法模块还包括加法器;所述加法器用于根据p个钱搜索算法和福尼算法计算模块输出的错误数量值,计算总错误数量。
本发明的优点是:
1.本发明设计实现了高速RS译码器,提高了译码过程的吞吐量与处理速度。
在现有并行译码电路中,以RS(544,514)为例,该码长下总消息符号个数为544,其中信码符号个数为514,校验码符号个数为30,纠错能力为15个符号,每个符号位宽为10bit,以8路并行的方式实现;其综合后的电路时序为446MHZ,资源使用为20014个LUT,吞吐量为36Gbit/s。
本发明电路中,以RS(1023,847)码为例,该码长下总消息符号个数为1023,其中信码符号个数为847,校验码符号个数为176,纠错能力为88个符号,每个符号位宽为10bit,以7路并行的方式实现;其综合后的电路时序为454MHZ,资源使用为93312个ALMs,约等于373248个LUT(1个ALM等于4个LUT),吞吐量为32Gbit/s。
虽然本发明中的吞吐量比现有的并行译码电路低,资源比它大一些,但是本发明所使用的码长较长,校验码长度是其5.9倍,纠错能力也是其5.9倍,但占用的硬件资源仅是其18.6倍,显而易见,本发明确实比现有并行译码电路效率更高。
2.本发明实现的电路与现有的并行译码电路相比,大大降低了硬件资源。
基于本发明实现的RS(255,223)译码器在9路并行情况下占用资源为32174ALMs;在已有并行译码电路中,RS(255,239)码长3路并行情况下占用资源为28968ALMs;经过对比发现尽管本设计占用资源是已有并行电路的1.1倍,但本设计并行度是其3倍,计算时长是其1/3倍,因此可以得出“本发明与现有的并行译码电路相比,大大降低了硬件资源”的结论。另外本发明也实现了应用于长码的并行译码电路设计,RS(1023,847)译码器在7路并行情况下占用资源为93312ALMs。
设定义在伽罗华域GF(2m)上的码字的分组长度为n=2m-1,m为每个符号的位宽(mbit),信码长度为k,则可以表示为RS(n,k),校验长度为n-k,最小距离为d=n-k+1,纠错能力为设本发明译码电路的并行度为p。
在伴随多项式计算阶段,本发明以p路m bit数据并行输入,p个基本计算单元每周期使用的伽罗华域乘法器数量为n-k个,伴随多项式计算模块处理一个块消息花费周期为n/p;在欧几里得算法阶段,本发明的输入数据为(n-k)*mbit,每次迭代使用的伽罗华域乘法器数量为5*(n-k)个,处理一个块消息花费周期为3*(n/p);在钱搜索算法和福尼算法计算阶段,本发明的输入数据为2*(n-k)*mbit,每次迭代使用的伽罗华域乘法器数量为(n-k)*p个,处理一个块消息花费的周期为2*(n/p)。
附图说明
图1是本发明RS译码器的顶层结构。
图2是本发明RS译码器中伴随多项式运算模块并行结构图。
图3是本发明RS译码器中伴随多项式预处理单元结构示意图。
图4是本发明RS译码器中欧几里得算法模块电路整体结构示意图。
图5是本发明RS译码器中欧几里得算法模块基本单元示意图。
图6是本发明RS译码器中钱搜索算法和福尼算法模块并行结构图。
图7是本发明RS译码器中钱搜索算法和福尼算法初始化模块结构示意图。
图8是本发明RS译码器中钱搜索算法和福尼算法计算模块结构示意图。
具体实施方式
设定义在伽罗华域GF(2m)上的码字的分组长度为n=2m-1,m为每个符号的位宽(mbit),信码长度为k,则可以表示为RS(n,k),校验长度为n-k,最小距离为d=n-k+1,纠错能力为例如,RS(1023,847)的分组长度n=1023,每个符号的位宽m=10bit,信码长度k=847,校验长度n-k=176,最小距离d=n-k+1=177,纠错能力为t=88。
以下结合附图和实例对本发明作详细说明。
如图1所示,本发明提供了一种适用于不同码长RS码的并行译码器,其结构包括:伴随多项式运算模块、欧几里得算法模块、钱搜索和福尼算法模块,以及纠错模块。
首先,p*m bit接收码输入伴随多项式运算模块,经过n/p个周期的计算,输出n-k个m bit数据si(i∈[0,n-k-1])和表示该块消息完成伴随多项式运算阶段的done_syndrom标志信号;
接着,该n-k个si(i∈[0,n-k-1])数据作为欧几里得算法模块的输入,done_syndrom信号作为欧几里得算法模块的启动信号,使欧几里得算法模块开始计算错误位置多项式和错误值多项式,经过3*(n/p)个计算周期,欧几里得算法模块将错误位置多项式和错误值多项式以及标志着该块消息完成欧几里得算法阶段的done_Euclide标志信号输出;
接着,错误位置多项式和错误值多项式及done_Euclide标志信号进入钱搜索和福尼算法计算模块计算,经过2p+(n/p-1)个周期,钱搜索和福尼算法模块将错误数量和错误图样以及标志着该块消息完成钱搜索算法和福尼算法阶段的done_chien标志进行输出;
最后,错误图样与接收码输入纠错模块,完成纠错。
1.伴随多项式运算模块结构及相应算法
伴随多项式运算模块如图2所示,包括p路并行的伴随子预处理模块、伴随多项式计算模块和输出控制模块;
p路并行的伴随子预处理模块用于对数据进行预处理操作。如图3所示,预处理是对当前输入的p路mbit数据均乘以α0,α1,...,αn-k-1,再与下次输入的p路mbit数据进行累加,经p次迭代后将n-k个结果输出至伴随多项式计算模块;
伴随多项式计算模块由多路选择器、数据存储器(rom)及n-k个伽罗华域乘法器组成;多路选择器受伴随子预处理模块输出的p个计算结束标志信号控制,单周期内仅有一个计算结束标志信号有效,举例来说,若计算结束标志信号1有效,其余计算结束标志信号无效,则多路选择器选择第1路伴随子预处理模块的结果输出(多路选择器每一轮输出的结果有n-k项,分别送入n-k个伽罗华域乘法器中);数据存储器存储以p为倍数的伽罗华域乘法因子n-k个伽罗华域乘法器将以p为倍数的伽罗华域乘法因子与经多路选择器所选择的伴随子预处理模块的输出结果相乘;多路选择器总共输出轮数据,n-k个伽罗华域乘法器将多路选择器第一轮输出的n-k个数都乘以α0p,将多路选择器第二轮输出的n-k个数都乘以αp,将多路选择器第三轮的n-k个数都乘以α3p,以此类推,将多路选择器第轮输出的n-k个数都乘以输出控制模块接收n-k个伽罗华域乘法器的计算结果并对其依次累加,完成伴随多项式计算。
伴随多项式结构如式1所示:
s(x)=s0+s1x+s2x2+...+sn-k-1xn-k-1 式1
本发明的伴随多项式运算模块需要的计算结果是式1每一项的系数si(i∈[0,n-k-1],i∈z),si为伴随子,在RS(n,k)码长下,对应的伴随多项式由n-k个伴随子组成,si的计算原理如式2,式3所示:
Si=r0(αi)0+r1(αi)1+r2(αi)2+...+rn-1(αi)n-1(0≤i≤n-k-1,i∈z) 式2
式3是式2中n-k个伴随子的展开表示,ri为接收码,即编码后经信道由译码器接收到的码字,α为伽罗华域中的本原元。为了实现伴随多项式p路并行电路,对式2进行化简,结果如下:
式4将n项数据以p为单位分割为份,分段处理。伴随子预处理过程包含p个伴随子预处理模块,各伴随子预处理模块计算过程一致,都是对不同的输入数据ri乘以α0,α1,...,αn-k-1,构成式3中列方向的数据形式,以输入数据r0,r1,r2,...,rp-1为例,p个伴随子预处理模块的计算结果为:
式5的形式对应式3中前p列数据的形式,该过程称为预处理过程;预处理之后依据数据传输的先后顺序由多路选择器根据p个预处理单元输出的有效计算结束标志信号决定输出给后续n-k个伽罗华域乘法器的一组预处理数据,而数据存储器中存储着对应预处理块需要的α次幂,也由p个预处理单元输出的有效计算结束标志信号控制,输出对应多路选择器输出的数据需要的剩余α次幂,例如:利用n-k个伽罗华域乘法器将数据存储器输出的α次幂与多路选择器输出的预处理数据相乘,最后在输出控制模块对依次输出的相乘结果进行叠加,得到n-k个伴随子si i∈[0,n-k-1],从而得到包含n-k项的伴随多项式。
2.欧几里得算法模块结构及相应算法
欧几里得算法模块采用伽罗华域除法器计算x2t与伴随多项式的最大公约数,通过n-k次迭代产生错误位置多项式和错误值多项式。
除法计算通过实现,其中a表示x2t,b表示伴随多项式,通过查表法获取,二者相乘后的结果即为除法计算后得到的商;迭代过程是以当前得到的商依次乘以除数得到的多项式与被除数相减,得到余数多项式,之后令余数多项式做除数,当前除数作为被除数,再次进行求商运算。例如以A(x)=anxn+an-1xn-1+...+ax为被除数,以B(x)=bnxn+bn -1xn-1+...+bx为除数,以C(x)=cnxn+cn-1xn-1+...+cx为余数,可以得到:
式6中作为第一次迭代的商值,依次乘以除数B(x),得到的乘积作为减数,被除数A(x)作为被减数,两者相减得到余式C(x)=cn-1xn-1+...+cx+0。之后令C(x)做除数,B(x)做被除数,再次进行求商运算,得到第二次迭代的商q`和新的余式C`(x),以此类推继续迭代,共迭代n-k次:
欧几里得算法模块顶层结构如图4所示,为由多级欧几里得算法基础模块(Euclide_unit1,Euclide_unit2,…,Euclide_unitx)构成的L级流水线结构,每一级欧几里得算法基础模块结构相同,第一级欧几里得算法基础模块的输入为n-k个伴随子si(i∈[0,n-k-1])和伴随多项式运算模块结束标志信号(sync);第一级欧几里得算法基础模块输出的n-k项错误位置寄存器值、n-k项错误位置备用寄存器值,n-k项错误位置乘法矩阵乘积、n-k项错误值寄存器值、n-k项错误值备用寄存器值、n-k项错误值乘法矩阵乘积、n-k项错误位置异或寄存器值和商分别送入第二级欧几里得算法基础模块的相应端口,第一级欧几里得算法基础模块的结束标志信号done1与第二级欧几里得算法基础模块的同步端相连;第二级欧几里得算法基础模块输出的n-k项错误位置寄存器值、n-k项错误位置备用寄存器值,n-k项错误位置乘法矩阵乘积、n-k项错误值寄存器值、n-k项错误值备用寄存器值、n-k项错误值乘法矩阵乘积、n-k项错误位置异或寄存器值和商分别送入第三级欧几里得算法基础模块的相应端口,第二级欧几里得算法基础模块的结束标志信号done2与第三级欧几里得算法基础模块的同步端相连;…;第L-1级欧几里得算法基础模块输出的n-k项错误位置寄存器值、n-k项错误位置备用寄存器值,n-k项错误位置乘法矩阵乘积、n-k项错误值寄存器值、n-k项错误值备用寄存器值、n-k项错误值乘法矩阵乘积、n-k项错误位置异或寄存器值和商分别送入第L级欧几里得算法基础模块的相应端口,第L-1级欧几里得算法基础模块的的结束标志信号donex-1与第L级欧几里得算法基础模块的同步端相连;第L级欧几里得算法基础模块的输出为错误值多项式ω_i(i∈[0,n-k-1],i∈z)和错误位置多项式λ_i(i∈[0,n-k-1],i∈z),以及块消息完成欧几里得算法阶段的done_Euclide标志信号;流水线的总级数L取决于校验码符号数n-k和块消息的传输周期s,即:(向上取整),其中常数3代表本发明中做一次最小公约数的计算需要3个周期,以RS(1023,847)为例,流水线级数
单个欧几里得算法基础模块具体的功能结构如图5所示,包括除法模块、错误值多项式计算模块、错误位置多项式计算模块和迭代次数计数器;除法模块用于计算产生商q,除法模块由数据存储器(Rom)、两个寄存器(图5中的D)和伽罗华域乘法器构成;数据存储器用于存储伽罗华域不同次幂本原元αi(i∈[0,n-1]),与数据存储器(Rom)相连的寄存器存储除数多项式最高项系数的倒数,另一个寄存器存储被除数多项式的最高项系数,伽罗华域乘法器用于将两个寄存器的输出值相乘,得到商q;错误值多项式计算模块由错误值寄存器、错误值备用寄存器和错误值乘法矩阵构成;错误值寄存器用于存储当前计算使用的错误值;错误值备用寄存器用于存储迭代过程中需要赋值给错误值寄存器的数值;错误值乘法矩阵的输入是来自错误值寄存器的数据ωinner_i(i∈[0,n-k-1],i∈z)和除法模块输出的商q,输出是它们的乘积;错误位置多项式计算模块由错误位置寄存器、错误位置备用寄存器、错误位置异或寄存器和错误位置乘法矩阵构成;错误位置寄存器用于存储当前计算使用的错误位置信息;错误位置备用寄存器用于存储迭代过程中需要赋值给错误位置寄存器的数值;错误位置异或寄存器用于计算错误位置乘法矩阵的输出值与错误位置备用寄存器的输出值的异或结果并存储;错误位置乘法矩阵的输入是来自错误位置寄存器的数据λinner_i(i∈[0,n-k-1],i∈z)和除法模块输出的商q,输出是它们的乘积。
当接收到伴随多项式运算模块的输出数据,欧几里得算法模块开始对数据进行初始化,初始化过程如式8所示:
将输入的n-k个伴随子si赋给错误值寄存器;而错误值备用寄存器的第n-k-1项初始化为1,其余n-k-1个数据初始化为0;令错误位置备用寄存器以及错误位置异或寄存器中存储的n-k项数据初始化为0,错误值寄存器中的第0个数据初始化为1,其余n-k-1个数据初始化为0;初始化结束后开始图5中欧几里得算法的迭代,步骤一:图5中除法模块用于计算产生商q;步骤二:错误值乘法矩阵计算商q与错误值寄存器输出的n-k个ωinner_i(i∈[0,n-k-1])系数的乘积ωMultq_i(i∈[0,n-k-1]),错误位置乘法矩阵计算商q与错误位置寄存器输出的n-k个λinner_i(i∈[0,n-k-1])系数的乘积λMultq_i(i∈[0,n-k-1]);步骤三:将得到的n-k个ωMultq_i(i∈[0,n-k-1])输入错误值寄存器和错误值备用寄存器,n-k个λMultq_i(i∈[0,n-k-1])输入错误位置寄存器、错误位置备用寄存器及错误位置异或寄存器。后续运算过程为:
步骤四:重复步骤一至步骤三n-k-1次,待图5中迭代次数计数器(count)计数到3*(n-k)时,错误值寄存器和错误位置寄存器将错误值多项式ωinner(x)和错误位置多项式λinner(x)输出至钱搜索和福尼算法模块。
3.钱搜索和福尼算法模块结构
钱搜索和福尼算法模块用于对欧几里得算法模块输出的错误位置多项式和错误值多项式进行计算,得到错误图样。
钱搜索算法和福尼算法电路功能类似,都是计算多项式在位置α-i上的值,以钱搜索为例,就是要计算错误位置多项式λ(x)在x=α-i上的值,如果λ(α-i)=0,则表示在ri位置发生了错误。
如图6所示,钱搜索和福尼算法模块包括初始化模块和p个钱搜索算法和福尼算法计算模块。
初始化模块的结构如图7所示,功能是对当前输入的数据预处理及并行分流,具体初始化流程是:先将欧几里得算法模块输出的含有n-k项的错误位置多项式和含有n-k项的错误值多项式存储进各自的寄存器,之后由计数器count控制选择输出到第一乘法矩阵的参数,前p个输出为错误值多项式系数,后P个输出为错误位置多项式系数。故先进行错误值多项式的初始化:由错误值多项式依次乘以伽罗华域数据存储单元中的p个数组,每个数组中的数据有n-k个,相邻两个数组之间的伽罗华域数据相差次幂;每次乘法运算花费三个时钟周期,故待第一次和数组相乘的结果输出时,计数器count已计数到4,因此错误值的初始化输出依次从count=4,到count=p+3,分为p路输出。
错误位置多项式的初始化与错误值多项式初始化的过程相同,只是输入数据是错误位置多项式系数而不是错误值多项式系数。
待错误位置多项式和错误值多项式初始化完成时,将p组数据(从初始化模块输出的是2p组数据,将第一路错误位置初始化结果和第一路错误值初始化结果一起输入至钱搜索算法和福尼算法计算模块1,后续p-1路数据的输入以此类推)输入至钱搜索算法和福尼算法计算模块1~p,进行后续阶段数据的处理。
p个钱搜索算法和福尼算法计算模块的结构相同,如图8所示,展示了单个钱搜索算法和福尼算法计算模块的基本结构:图8左端输入的是经过初始化模块处理的错误位置多项式系数和错误值多项式系数,经过各自寄存器存储之后变为λreg_i,ωreg_i(i∈[0,n-k-1])参与后续运算,在第二乘法矩阵和第三乘法矩阵中分别完成的操作为:λreg_i,ωreg_i对应按顺序乘以伽罗华域本原元的递增次幂,例如:
其中,k为迭代次数,
如式10所示,计算过程共需要求和次迭代,每迭代一次输出一次,输出的结果用于求和计算,不同的是:错误位置多项式按奇数项和偶数项区分求和,而错误值多项式是集体求和,例如:
ωsum=ωmult_0+ωmult_1+ωmult_2+...+ωmult_n-k-1 式11
求和之后再根据运算公式得到错误数量和错误值。错误数量是根据错误位置的奇数项之和与偶数项之和是否相等来判定的,在第k次迭代时,若奇数之项和与偶数项之和相等,则错误数计数器加一,共判断次,伪代码如下:
错误图样是利用错误值多项式第k次迭代的总和,除以错误位置多项式第k次迭代的奇数项之和得到的,如式12所示:
因此,经过p个钱搜索算法和福尼算法计算模块便得到了p路错误数量值和错误图样。图7中加法器的作用是对这p路错误数量值进行求和,得到总错误数量,用于向用户反馈信道质量。
p个钱搜索算法和福尼算法计算模块的原理一致,只是输入数据不同,和伴随多项式计算模块异曲同工,缩短了迭代周期(n>n/p)。
4.纠错模块
纠错模块的输入信号是译码器输入的p*m bit接收码和钱搜索和福尼算法模块输出的错误图样,将两个输入数据按高低位进行异或操作,完成纠错并输出。
实施例:
本实施例以RS(1023,847)码长为例,对于RS(1023,847),每一个符号大小为m=10bit,总符号数n=1023,信码符号数k=847,相应的校验码符号数为n-k=176,纠错能力t=88个符号数。
本实施例按实际应用场景的需求经过计算得到并行分路的数量p为7,具体计算过程不在此赘述。故译码器输入数据位宽为7*10=70bit。因为输入数据还用于纠错模块,所以决定了钱搜索和福尼算法模块输出并行度。
伴随多项式运算模块中对输入的70bit数据进行分流后,进行了并行伴随子计算,得到176个伴随子,运算周期约为147。
欧几里得算法用伴随多项式进行辗转相除,经过176次迭代得到两组数据:错误位置多项式和错误值多项式。
钱搜索和福尼算法模块对176项系数的错误位置多项式和176项系数的错误值多项式进行计算,得到错误图样和错误数量。
以RS(1023,847)为例描述图2伴随多项式模块,顶层由7路并行的伴随子预处理模块、伴随多项式计算模块和输出控制模块组成;7路并行的伴随子预处理模块用于对数据进行预处理操作,如图3所示,预处理对输入数据均乘以α0,α1,...,α175,再与下次输入数据进行累加,经7次迭代后将176个结果输出至伴随多项式计算模块;伴随多项式计算模块由多路选择器,数据存储器及176个伽罗华域乘法器组成,多路选择器由预处理模块输出的7个计算结束标志信号控制;数据存储器存储以7为倍数的伽罗华域乘法因子(α7i(i∈[0,145]));伽罗华域乘法器将以7为倍数的伽罗华域乘法因子与伴随子预处理模块输出结果相乘;输出控制模块接收伽罗华域乘法单元的计算结果对其依次累加,完成伴随多项式计算。
RS(1023,847)码长下的伴随多项式结构如式13所示:
s(x)=s0+s1x+s2x2+...+s175x175 式13
伴随多项式运算模块需要的计算结果是式13每一项的系数si(i∈[0,175],i∈z),si为伴随子,在RS(1023,847)码长下,对应的伴随多项式由176个伴随子组成,si的计算原理如式14,式15所示:
Si=r0(αi)0+r1(αi)1+r2(αi)2+...+r1022(αi)1022(0≤i≤175,i∈z) 式14
式15是式14中176个伴随子的展开表示,ri为接收码,即编码后经信道由译码器接收到的码字,α为伽罗华域中的本原元。为了实现伴随多项式7路并行电路,对式14进行化简,结果如下:
式16将1023项数据以7为单位分割为147份,分段处理。伴随子预处理过程包含7个伴随子预处理模块,各模块计算过程一致,都是对不同的输入数据ri乘以α0,α1,...,α175,构成式15中列方向的数据形式,以输入数据r0,r1,r2,...,r6为例,7个伴随子预处理模块的计算结果为:
式17的形式对应式15中前7列数据的形式,该过程称为预处理过程;预处理之后依据数据传输的先后顺序由多路选择器根据7个伴随子预处理单元输出的有效结束标志信号决定输出给伽罗华域乘法器的一组预处理数据,而数据存储器中存储着对应预处理块数据需要的α次幂,也由7个伴随子预处理单元输出的结束标志信号控制,输出对应多路选择器输出的数据需要的剩余α次幂,例如:α7,α14,α21,...,α145*7。伽罗华域乘法器将数据存储器输出的α次幂与多路选择器输出的预处理数据相乘,最后在输出控制模块对依次输出的相乘结果进行叠加,得到176个伴随子。
以RS(1023,847)为例描述图4、图5中欧几里得算法模块结构与功能。
图4为欧几里得算法模块电路整体结构示意图,若以RS(1023,847)为例,流水线的总级数即该码长下欧几里得算法模块由4个欧几里得算法基础模块构成。欧几里得算法模块采用伽罗华域除法器计算x176与伴随多项式s(x)的最大公约数,通过176次迭代产生错误位置多项式和错误值多项式。除法计算通过实现,其中a表示x176,b表示伴随多项式s(x),通过查表法获取,二者相乘后的结果即为除法计算后得到的商;迭代过程是以当前得到的商依次乘以除数得到的多项式与被除数相减,得到余数多项式,之后令余数多项式做除数,当前除数作为被除数,再次进行求商运算。欧几里得算法基础模块具体功能结构如图5所示,共有五种数据存储单元,分别为错误值寄存器,错误值备用寄存器,错误位置寄存器,错误位置备用寄存器以及错误位置异或寄存器;共有两个乘法矩阵,分别是错误值乘法矩阵和错误位置乘法矩阵,错误值乘法矩阵的输入是错误值寄存器的数据ωinner_i(i∈[0,175],i∈z)和商q,错误位置乘法矩阵的输入是错误位置寄存器的数据λinner_i(i∈[0,175],i∈z)和商q;求商结构位于图5中的除法模块,由存储伽罗华域不同次幂本原元(αi,i∈[0,1022],i∈z)的数据存储器和一个伽罗华域乘法器构成。
当接收到伴随多项式运算模块的输出数据,欧几里得算法模块开始对数据进行初始化,初始化过程如式18所示:
将输入的176个伴随子赋给错误值寄存器;而错误值备用寄存器第176项初始化为1,其余175个数据初始化为0;错误位置备用寄存器以及错误位置异或寄存器中存储的数据的176个数据都初始化为0,错误值寄存器中的第0个数据初始化为1,其余175个数据初始化为0;初始化结束后开始进行图5中欧几里得算法的迭代过程,步骤一:图5中除法模块计算产生商q;步骤二:分别计算商q与错误值寄存器输出176个ωinner_i系数的乘积ωMultq_i及商q与错误位置寄存器输出176个λinner_i系数的乘积λMultq_i;步骤三:将176个ωMultq_i(i∈[0,175])输入错误值寄存器和错误值备用寄存器,176个λMultq_i(i∈[0,175])输入错误位置寄存器、错误位置备用寄存器及错误位置异或寄存器。后续运算过程为:
步骤四:重复步骤一至步骤三175次,待图5中迭代次数计数器count计数到3*176=528时,将错误值多项式ωinner(x)和错误位置多项式λinner(x)输出至钱搜索和福尼算法模块。
结合图6描述RS(1023,847)钱搜索和福尼算法模块并行结构,RS(1023,847)钱搜索和福尼算法模块并行结构包含预处理模块和7个钱搜索算法和福尼算法计算单元。结合图7初始化模块和图8钱搜索算法和福尼算法计算模块与RS(1023,847)的应用场景来说:钱搜索和福尼算法模块包括初始化模块和计算模块1~7。初始化模块的结构如图7所示,功能是对当前输入的数据预处理及并行分流,具体流程是:先将欧几里得算法模块输出的含有176项的错误位置多项式和含有176项的错误值多项式存储进各自的寄存器,之后由计数器count控制选择输出到第一乘法矩阵的参数,前7个输出为错误值多项式系数,后7个输出为错误位置多项式系数。故先进行错误值多项式的初始化:由错误值多项式依次乘以伽罗华域数据存储单元中的7个数组,每个数组中的数据有176个,相邻两个数组之间的伽罗华域数据相差α147;每次乘法运算花费三个时钟周期,故待第一次和数组相乘的结果输出时,计数器count已计数到4,因此错误值的初始化输出依次从count=4,到count=10,分为七路输出;错误位置多项式的初始化与错误值多项式初始化的过程相同,只是输入数据是错误位置多项式系数而不是错误值多项式系数。待错误位置多项式和错误值多项式初始化完成时,将7组数据(从初始化模块输出的是14组数据,将第一路错误位置初始化结果和第一路错误值初始化结果一起输入至钱搜索算法和福尼算法计算模块1,后续6路数据的输入以此类推)输入至钱搜索算法和福尼算法计算模块1~7,进行后续阶段数据的处理。7个钱搜索算法和福尼算法计算模块结构相同,如图8所示,展示了其基本结构:图8左端是经过初始化模块处理的错误位置多项式系数和错误值多项式系数,经过各自寄存器存储之后变为λreg_i,ωreg_i参与后续运算,在乘法矩阵中完成的操作为:λreg_i,ωreg_i对应按顺序乘以伽罗华域本原元的递增次幂,例如:
其中,k为迭代次数,k∈[1,147];
如式20所示,计算过程共需要147次求和迭代,每迭代一次输出一次,输出的结果用于求和计算,不同的是:错误位置多项式按奇数项和偶数项区分求和,而错误值多项式是集体求和,例如:
求和之后再根据运算公式得到错误数量和错误值。错误数量是根据错误位置的奇数项和与偶数项和是否相等来判定的,在第k次迭代时,若奇数项和与偶数项和相等,则错误数计数器加一,共判断147次,伪代码如下:
错误值是利用错误值多项式第k次迭代的总和除以错误位置多项式第k次迭代的奇数和得到的,如式22所示:
因此,经过7个钱搜索算法和福尼算法计算模块便得到了7路错误数量值和错误值。图7中加法器的作用是对这7路错误数量进行求和,得到总错误数量。在后续纠错过程中应用到的只有错误值,错误数量用于向用户反馈信道质量。这7个钱搜索算法和福尼算法计算模块它们的计算原理一致,只是输入数据不同,和伴随多项式计算模块异曲同工,缩短了迭代周期(n>n/p)。
最后的纠错过程就是错误图样和接收码的异或操作,需要注意的是:因为钱搜索和福尼算法模块对数据进行分割,钱搜索和福尼算法模块数据的输出形式为(error_outi为钱搜索和福尼算法模块的输出端口):
例如输出数据时,第一拍时钟输出d146,d293,d440,...,d1022,第二拍时钟输出d145,d292,d439,...,d1021,剩下数据的输出方式以此类推。接收码的数据排列为:r0,r1,r2,...,r1022所以不能与接收码直接异或,应将错误值进行存储,按接收码的排列顺序从存储器中取出,再进行对应的异或操作,纠错过程如下式所示:
d0∧r0,d1∧r1,d2∧r2,d3∧r3,...,d1022∧r1022 式24
1023个符号经过纠错后得到译码结果,译码器后续处理是将1023个符号按照数据先后关系进行拼接,之后将拼接后的结果和总错误数量进行输出。
Claims (6)
1.一种高速RS译码器,其特征在于:
包括伴随多项式运算模块、欧几里得算法模块、钱搜索和福尼算法模块,以及纠错模块;
伴随多项式运算模块用于对输入的p*m bit接收码进行处理,得到n-k个伴随子sii∈[0,n-k-1],从而得到包含n-k项的伴随多项式;
欧几里得算法模块用于计算x2t与所述伴随多项式的最大公约数,通过n-k次迭代生成错误位置多项式和错误值多项式;2t=n-k;
欧几里得算法模块为由多级结构相同的欧几里得算法基础模块级联构成的L级流水线结构;
单个欧几里得算法基础模块包括除法模块、错误值多项式计算模块和错误位置多项式计算模块;
除法模块用于计算产生商q;
错误值多项式计算模块由错误值寄存器、错误值备用寄存器、错误值乘法矩阵和迭代次数计数器构成;错误值寄存器用于存储当前计算使用的错误值;错误值备用寄存器用于存储迭代过程中需要赋值给错误值寄存器的数值;错误值乘法矩阵的输入是来自错误值寄存器的数据ωinner_i(i∈[0,n-k-1],i∈z)和除法模块输出的商q,输出是它们的乘积;
错误位置多项式计算模块由错误位置寄存器、错误位置备用寄存器、错误位置异或寄存器和错误位置乘法矩阵构成;错误位置寄存器用于存储当前计算使用的错误位置信息;错误位置备用寄存器用于存储迭代过程中需要赋值给错误位置寄存器的数值;错误位置异或寄存器用于计算错误位置乘法矩阵的输出值与错误位置备用寄存器的输出值的异或结果并存储;错误位置乘法矩阵的输入是来自错误位置寄存器的数据λinner_i(i∈[0,n-k-1],i∈z)和除法模块输出的商q,输出是它们的乘积;
迭代次数计数器用于累计除法模块、错误值多项式计算模块、错误位置多项式计算模块的迭代次数,当计数值为3*(n-k)时,错误值寄存器和错误位置寄存器将错误值多项式和错误位置多项式输出;
钱搜索和福尼算法模块用于对所述错误位置多项式和错误值多项式进行数据预处理、并行分流为p路数据,计算p路数据的错误图样;
纠错模块用于对所述p*m bit接收码和所述p路数据的错误图样按高低位进行异或操作,完成纠错并输出。
2.根据权利要求1所述的高速RS译码器,其特征在于:
伴随多项式运算模块包括p路并行的伴随子预处理模块、伴随多项式计算模块和输出控制模块;
p路并行的伴随子预处理模块用于对当前输入的p路m bit数据均乘以α0,α1,...,αn-k-1,再与下次输入的p路mbit数据进行累加,经P次迭代后将n-k个结果输出至伴随多项式计算模块;
伴随多项式计算模块由多路选择器、数据存储器及n-k个伽罗华域乘法器构成;
多路选择器用于根据伴随子预处理模块输出的p个计算结束标志信号,单周期内仅选通其中一路伴随子预处理模块的结果输出;
数据存储器存储用于存储以p为倍数的伽罗华域乘法因子
n-k个伽罗华域乘法器用于将所述以p为倍数的伽罗华域乘法因子,与经多路选择器所选择的伴随子预处理模块的输出结果相乘;
输出控制模块接收n-k个伽罗华域乘法器的计算结果并对其依次累加,完成伴随多项式计算,输出包含n-k项的伴随子多项式。
3.根据权利要求2所述的高速RS译码器,其特征在于:
除法模块由数据存储器、第一寄存器、第二寄存器和伽罗华域乘法器构成;
数据存储器用于存储伽罗华域不同次幂本原元αi(i∈[0,n-1]);
第一寄存器、第二寄存器分别用于存储除数多项式最高项系数的倒数和存储被除数多项式的最高项系数;
伽罗华域乘法器用于将第一寄存器、第二寄存器的输出值相乘,得到商q。
4.根据权利要求3所述的高速RS译码器,其特征在于:
钱搜索和福尼算法模块包括初始化模块以及p个钱搜索算法和福尼算法计算模块;
初始化模块包括错误值输入寄存器、错误位置输入寄存器、计数器一、输入选择器、伽罗华域数据存储单元、第一乘法矩阵、计数器二、输出选择器、错误值输出寄存器和错误位置输出寄存器;
错误值输入寄存器和错误位置输入寄存器分别用于存储所述欧几里得算法模块输出的含有n-k项的错误位置多项式和含有n-k项的错误值多项式;
计数器一用于控制所述输入选择器输出到第一乘法矩阵的参数,前p个输出为错误值多项式系数,后p个输出为错误位置多项式系数;
第一乘法矩阵用于将接收到的错误值多项式系数与所述伽罗华域数据存储单元中的p个数组相乘,以及将接收到的错误位置多项式系数与所述伽罗华域数据存储单元中的p个数组相乘;
计数器二用于控制所述输出选择器将第一乘法矩阵的初始化结果,对应存储在所述错误值输出寄存器或者错误位置输出寄存器中;
所述错误值输出寄存器和错误位置输出寄存器分别用于存储p组错误值初始化结果和p组错误位置初始化结果。
5.根据权利要求4所述的高速RS译码器,其特征在于:
单个钱搜索算法和福尼算法计算模块包括错误位置多项式输入寄存器、错误值多项式输入寄存器、第二乘法矩阵、第三乘法矩阵、第一加法器、第二加法器、第三加法器和除法器;
错误位置多项式输入寄存器、错误值多项式输入寄存器分别用于存储所述初始化模块输出的错误位置多项式系数和错误值多项式系数;
第二乘法矩阵用于将错误位置多项式输入寄存器中的数据对应按顺序乘以伽罗华域本原元的递增次幂;
第三乘法矩阵用于将错误值多项式输入寄存器中的数据对应按顺序乘以伽罗华域本原元的递增次幂;
第一加法器用于基于第二乘法矩阵的输出结果,计算错误位置多项式偶数项之和以及错误位置多项式奇数项之和;
第二加法器用于基于第三乘法矩阵的输出结果,计算错误值多项式各项之和;
除法器用于将所述错误值多项式各项之和除以错误位置多项式奇数项之和,得到错误图样。
6.根据权利要求5所述的高速RS译码器,其特征在于:
单个钱搜索算法和福尼算法计算模块还包括错误数计数器;所述错误数计数器用于根据错误位置多项式偶数项之和以及错误位置多项式奇数项之和,计算错误数量;
所述钱搜索和福尼算法模块还包括加法器;所述加法器用于根据p个钱搜索算法和福尼算法计算模块输出的错误数量值,计算总错误数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011391342.2A CN112367087B (zh) | 2020-12-01 | 2020-12-01 | 一种高速rs译码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011391342.2A CN112367087B (zh) | 2020-12-01 | 2020-12-01 | 一种高速rs译码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112367087A CN112367087A (zh) | 2021-02-12 |
CN112367087B true CN112367087B (zh) | 2024-01-30 |
Family
ID=74536699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011391342.2A Active CN112367087B (zh) | 2020-12-01 | 2020-12-01 | 一种高速rs译码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112367087B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114095039B (zh) * | 2021-10-18 | 2023-11-28 | 深圳市紫光同创电子有限公司 | 一种支持码字同步的伴随式计算方法及计算电路 |
CN114157396A (zh) * | 2021-12-03 | 2022-03-08 | 江西洪都航空工业集团有限责任公司 | 一种rs编码器及rs编解码方法 |
CN116667923B (zh) * | 2023-07-31 | 2023-12-01 | 苏州联讯仪器股份有限公司 | 一种信号传输误码率确定方法及相关组件 |
CN116781214B (zh) * | 2023-08-22 | 2023-12-08 | 珠海星云智联科技有限公司 | 一种解码模块生成方法、设备以及可读存储介质 |
CN117200809B (zh) * | 2023-11-06 | 2024-04-12 | 浙江大学 | 用于纠两个误码的rs码的低功耗钱搜索和错误估值电路 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9722792D0 (en) * | 1996-10-29 | 1997-12-24 | Daewoo Electronics Co Ltd | Reed-solomon decoder for use in advanced television |
FR2762163A1 (fr) * | 1997-04-15 | 1998-10-16 | Mitsubishi Electric Corp | Dispositif de decodage pour la correction d'erreurs d'un code reed-solomon etendu et dispositif de correction d'erreurs de codes reed-solomon a simple ou double extension |
CN102970049A (zh) * | 2012-10-26 | 2013-03-13 | 北京邮电大学 | 基于钱搜索算法和福尼算法的并行电路及rs译码电路 |
CN107733570A (zh) * | 2017-09-27 | 2018-02-23 | 西安邮电大学 | 基于代数交织器的星座映射方法和映射方式的搜索方法 |
CN107947802A (zh) * | 2017-12-26 | 2018-04-20 | 西安邮电大学 | 速率兼容低密度奇偶校验码编译码的方法及编译码器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4767266B2 (ja) * | 2008-01-17 | 2011-09-07 | 株式会社日立製作所 | 演算ユニット、エラー訂正復号回路及び誤り位置多項式の演算方法 |
-
2020
- 2020-12-01 CN CN202011391342.2A patent/CN112367087B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9722792D0 (en) * | 1996-10-29 | 1997-12-24 | Daewoo Electronics Co Ltd | Reed-solomon decoder for use in advanced television |
FR2762163A1 (fr) * | 1997-04-15 | 1998-10-16 | Mitsubishi Electric Corp | Dispositif de decodage pour la correction d'erreurs d'un code reed-solomon etendu et dispositif de correction d'erreurs de codes reed-solomon a simple ou double extension |
CN102970049A (zh) * | 2012-10-26 | 2013-03-13 | 北京邮电大学 | 基于钱搜索算法和福尼算法的并行电路及rs译码电路 |
CN107733570A (zh) * | 2017-09-27 | 2018-02-23 | 西安邮电大学 | 基于代数交织器的星座映射方法和映射方式的搜索方法 |
CN107947802A (zh) * | 2017-12-26 | 2018-04-20 | 西安邮电大学 | 速率兼容低密度奇偶校验码编译码的方法及编译码器 |
Non-Patent Citations (1)
Title |
---|
基于FPGA的串行RS+Viterbi级联译码器的设计与实现;向征;池中明;刘兴钊;;上海航天(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112367087A (zh) | 2021-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112367087B (zh) | 一种高速rs译码器 | |
Lee | High-speed VLSI architecture for parallel Reed-Solomon decoder | |
JP5300170B2 (ja) | 順方向のチェンサーチ方式のリードソロモンデコーダ回路 | |
CN101478314B (zh) | 一种里德-所罗门编码译码器及其译码的方法 | |
KR920000828B1 (ko) | 가로아체(Galois field)연산장치 | |
US7313583B2 (en) | Galois field arithmetic unit for use within a processor | |
US7343472B2 (en) | Processor having a finite field arithmetic unit utilizing an array of multipliers and adders | |
CN101277119B (zh) | 里德所罗门码解码器硬件复用方法及其低硬件复杂度解码装置 | |
CN107239362B (zh) | 一种并行crc校验码的计算方法及系统 | |
US7403964B2 (en) | Galois field multiplier array for use within a finite field arithmetic unit | |
MXPA04007076A (es) | Mensajeria en bloque de componente intra-decodificador. | |
CN114063973B (zh) | 伽罗华域乘法器及纠删编解码系统 | |
US5272661A (en) | Finite field parallel multiplier | |
CN101257312A (zh) | 一种解码伴随式的计算方法、电路及解码器 | |
CN112468160B (zh) | 一种基于钱搜索算法和福尼算法的并行电路 | |
US6263471B1 (en) | Method and apparatus for decoding an error correction code | |
CN101834616B (zh) | 里德-索罗蒙解码器实现方法 | |
Zhang | VLSI architectures for Reed–Solomon codes: Classic, nested, coupled, and beyond | |
EP0991196B1 (en) | Method of correcting lost data and circuit thereof | |
Zhang et al. | Systematically re-encoded algebraic soft-decision Reed–Solomon decoder | |
US7539719B2 (en) | Method and apparatus for performing multiplication in finite field GF(2n) | |
CN100461662C (zh) | 用于同步数字系列/同步光纤网系统的带内前向纠错解码器 | |
US7281196B2 (en) | Single error Reed-Solomon decoder | |
CN102624402B (zh) | 一种ldpc译码器 | |
Zhang et al. | Low-complexity transformed encoder architectures for quasi-cyclic nonbinary LDPC codes over subfields |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |