CN102970049A - 基于钱搜索算法和福尼算法的并行电路及rs译码电路 - Google Patents
基于钱搜索算法和福尼算法的并行电路及rs译码电路 Download PDFInfo
- Publication number
- CN102970049A CN102970049A CN2012104185328A CN201210418532A CN102970049A CN 102970049 A CN102970049 A CN 102970049A CN 2012104185328 A CN2012104185328 A CN 2012104185328A CN 201210418532 A CN201210418532 A CN 201210418532A CN 102970049 A CN102970049 A CN 102970049A
- Authority
- CN
- China
- Prior art keywords
- module
- circuit
- circuit module
- output
- buddhist nun
- 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.)
- Granted
Links
Images
Landscapes
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本发明涉及译码技术领域,公开了一种基于钱搜索算法和福尼算法的并行电路及RS译码电路。本发明的并行电路利用偶数项电路模块与奇数项电路模块的相似性进行错误位置与错误值计算电路模块化,能够实现在一个时钟周期检测多个错误位置和多个错误值,可以简化电路结构,节省电路面积,加快实现速度,并且可移植性强,且基于该并行电路设计的RS译码电路能够满足高速并行处理数据的要求。
Description
技术领域
本发明涉及译码技术领域,特别是涉及一种基于钱搜索算法和福尼算法的并行电路及RS译码电路。
背景技术
随着光纤通信技术的发展,光网络向着高速率、大容量、长距离的方向演进。但随着速率的提升、距离的增加,传输信息的误比特率就会增加,故前向纠错技术(FEC)显得非常重要。里德-所罗门(Reed-Solomon,RS)编解码作为FEC的一种,能够纠正数据传输过程中产生的突发错误,因而得到了广泛应用。RS译码主要包括伴随式计算、关键方程求解,错误位置计算和错位值计算几个步骤,其中错误位置计算步骤采用的钱搜索算法和错误值计算步骤采用的福尼算法在RS译码中占有重要地位。
如何提供一种满足高速并行处理数据的要求、结构简单的译码电路是亟待解决的问题。
发明内容
(一)要解决的技术问题
本发明首先要解决的技术问题是:如何提供一种满足高速并行处理数据的要求、结构简单的译码电路。
(二)技术方案
为了解决上述技术问题,本发明提供一种基于钱搜索算法和福尼算法的并行电路,所述并行电路用于计算RS译码过程中发生的错误位置与产生的错误值,包括:偶数项钱搜索电路模块、奇数项钱搜索电路模块、奇数项福尼电路模块、偶数项福尼电路模块、第一加法模块、第二加法模块、求倒数模块和乘法模块;其中,
所述偶数项钱搜索电路模块用于并行计算错误位置多项式中的偶数项的和,所述奇数项钱搜索电路模块用于并行计算错误位置多项式中的奇数项的和,偶数项钱搜索电路模块和奇数项钱搜索电路模块经过第一加法模块后在一个时钟周期内共计算得到p个错误位置;所述奇数项福尼电路模块用于并行计算错误值多项式中的奇数项的和,所述偶数项福尼电路模块用于并行计算错误值多项式中的偶数项的和,奇数项福尼电路模块和偶数项福尼电路模块经过第二加法模块和乘法器模块后在一个所述时钟周期内共计算得到p个错误值;
所述偶数项钱搜索电路模块的输出端连接到所述第一加法模块的输入端,所述奇数项钱搜索电路模块的输出端连接到所述第一加法模块和所述求倒数模块的输入端,所述求倒数模块的输出端连接到所述乘法模块的输入端,所述奇数项福尼电路模块和偶数项福尼电路模块的输出端连接到所述第二加法模块的输入端,所述第二加法模块的输出端连接到所述乘法模块的输入端,所述第一加法模块输出p个错误位置,所述乘法模块输出p个错误值,所述p个错误位置和p个错误值作为所述并行电路的输出数据,p为大于1的整数。
优选地,所述偶数项钱搜索电路模块、奇数项钱搜索电路模块、奇数项福尼电路模块和偶数项福尼电路模块均包括多个计算子模块以及多个加法器;每个计算子模块包括二选一选择器、寄存器以及多个乘法器,且二选一选择器的输出端连接到每个乘法器的输入端,其中一个乘法器的输出端连接到寄存器的输入端,寄存器的输出端连接到二选一选择器的输入端;对于每个计算子模块,其中乘法器的输出端一对一地连接到加法器的输入端;所述多个加法器的输出为偶数项钱搜索电路模块、奇数项钱搜索电路模块、奇数项福尼电路模块和偶数项福尼电路模块的输出数据。
优选地,所述加法器所做的加法均是伽罗华域上的加法,所述乘法器所做的乘法均是伽罗华域上的乘法,且所述乘法器的系数均属于相同的伽罗华域。
优选地,所述求倒数模块为只读ROM。
优选地,所述多个计算子模块的个数为t/2,其中,t=(n-k)/2,n表示RS译码的码字长度,k表示RS译码的信息位长度。
本发明还提供了一种RS译码电路,包括所述的并行电路。
(三)有益效果
上述技术方案具有如下优点:本发明的并行电路利用偶数项电路模块与奇数项电路模块的相似性进行错误位置与错误值计算电路模块化,能够实现在一个时钟周期检测多个错误位置和多个错误值,可以简化电路结构,节省电路面积,加快实现速度,并且可移植性强,且基于该并行电路设计的RS译码电路能够满足高速并行处理数据的要求。
附图说明
图1是RS译码电路结构示意图;
图2是本发明的并行电路结构图;
图3是奇数项电路模块结构图;
图4是偶数项电路模块结构图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
RS译码电路的结构如图1所示(以RS(255,223)并且p=9为例),本发明提供的一种基于钱搜索算法和福尼算法的并行电路,即为图1中的错误位置与错误值计算模块CSEE。
RS译码过程中的伴随式多项式为:
S(x)=S0+S1x+S2x2+...+S2t-1x2t-1
基于钱搜索算法的错误位置多项式为:
σ(x)=σ0+σ1x+σ2x2+...+σtxt
σ(αi)=σ0+σ1αi+σ2(αi)2+...+σt(αi)t
=σ0+σodd(αi)+σevev(αi)
基于福尼算法的错误值多项式为:
ω(x)=ω0+ω1x+ω2x2+...+ωt-1xt-1
ω(αi)=ω0+ω1αi+ω2(αi)2+...+ωt-1(αi)t-1
=ω0+ωodd(αi)+ωeven(αi)
关键方程为:S(x)σ(x)=ω(x)
解上述关键方程能够得到ω0,..,ωt-1和σ0,..,σt
将公式变形得到钱搜索算法计算错误位置的公式:
σ0+σodd(αi)+σevev(αi)
和福尼算法计算错误值的公式:
钱搜索过程解释如下:
将接收到的码字按照从最高位rn-1到最低位r0的顺序进入钱搜索电路,检验接收数据的第一位rn-1是否错误,就是要验证αn-1是否是错误位置,即要确定α-(n-1)是否是σ(x)的根。
将α-(n-1)=αn-(n-1)=α代入σ(x),如果
1+σ1α+...+σt-1αt-1+σtαt=0或者σ1α+σ2α2+...+σtαt=-1
则rn-1出错,否则rn-1正确,按rn-1,rn-2,.r.1r的顺序依次将α,α2,...,αn-2,αn-1代入σ(x)进行检验,这个过程称为钱搜索。
αi表示要检验的位置,i=1,2…,n-1,传统的电路一个时钟周期只能检测一个错误位置,本发明提出的并行电路一个时钟周期能够检测p个错误位置和p个错误值。
根据上述变形后的公式可以得到本发明的p倍并行电路结构如图2所示。
如图2所示,所述并行电路用于计算RS译码过程中发生的错误位置与产生的错误值,包括:偶数项钱搜索电路模块、奇数项钱搜索电路模块、奇数项福尼电路模块、偶数项福尼电路模块、第一加法模块、第二加法模块、求倒数模块和乘法模块;其中,κ=1,…,p
所述偶数项钱搜索电路模块用于并行计算错误位置多项式中的偶数项的和,所述奇数项钱搜索电路模块用于并行计算错误位置多项式中的奇数项的和,偶数项钱搜索电路模块和奇数项钱搜索电路模块经过第一加法模块后在一个时钟周期内共计算得到p个错误位置。所述奇数项福尼电路模块用于并行计算错误值多项式中的奇数项的和,所述偶数项福尼电路模块用于并行计算错误值多项式中的偶数项的和,奇数项福尼电路模块和偶数项福尼电路模块经过第二加法模块和乘法器模块后在一个所述时钟周期内共计算得到p个错误值;
所述偶数项钱搜索电路模块的输出端连接到所述第一加法模块的输入端,所述奇数项钱搜索电路模块的输出端连接到所述第一加法模块和所述求倒数模块的输入端,所述求倒数模块的输出端连接到所述乘法模块的输入端,所述奇数项福尼电路模块和偶数项福尼电路模块的输出端连接到所述第二加法模块的输入端,所述第二加法模块的输出端连接到所述乘法模块的输入端,所述第一加法模块输出p个错误位置,所述乘法模块输出p个错误值,所述p个错误位置和p个错误值作为所述并行电路的输出数据,p为大于1的整数。
所述偶数项钱搜索电路模块、奇数项钱搜索电路模块、奇数项福尼电路模块、偶数项福尼电路模块在电路结构上有一定的相似性,在实际电路设计中可以根据需要进行统一建模,在调用模块时参数化乘法器系数和二选一选择器输入端数据即可。
其中,所述偶数项钱搜索电路模块、奇数项钱搜索电路模块、奇数项福尼电路模块和偶数项福尼电路模块均包括多个计算子模块以及多个加法器;每个计算子模块包括二选一选择器、寄存器以及多个乘法器,且二选一选择器的输出端连接到每个乘法器的输入端,其中一个乘法器的输出端连接到寄存器的输入端,寄存器的输出端连接到二选一选择器的输入端;对于每个计算子模块,其中乘法器的输出端一对一地连接到加法器的输入端;所述多个加法器的输出为偶数项钱搜索电路模块、奇数项钱搜索电路模块、奇数项福尼电路模块和偶数项福尼电路模块的输出数据。
其中,所述加法器所做的加法均是伽罗华域上的加法,所述乘法器所做的乘法均是伽罗华域上的乘法,且所述乘法器的系数均属于相同的伽罗华域。
其中,所述求倒数模块为只读ROM。
其中,所述多个计算子模块的个数为t/2,其中,t=(n-k)/2,代表纠错能力,n表示RS(n,k)译码的码字长度,k表示RS译码的信息位长度。2t代表编码后加入的校验位。例如,对于RS(255,223)来说,t=16,意思是对长度为223个符号(字节)的信息编码,得到32个校验符号(字节),再把32个校验符号附加到223个信息符号后进行传输。RS译码就是对收到的255个符号,根据校验位纠正传输中发生的错误。
上述奇数项钱搜索电路模块和奇数项福尼电路模块的电路如图3所示,偶数项钱搜索电路模块核偶数项福尼电路模块如图4所示。将图3和图4的电路进行模块化,在电路实现过程中可以直接调用,这样可以简化电路结构,节省电路面积,加快实现速度,并且可移植性强。
由以上实施例可以看出,本发明的并行电路利用偶数项电路模块与奇数项电路模块的相似性进行错误位置与错误值计算电路模块化,能够实现在一个时钟周期检测多个错误位置和多个错误值,可以简化电路结构,节省电路面积,加快实现速度,并且可移植性强,且基于该并行电路设计的RS译码电路能够满足高速并行处理数据的要求。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本发明的保护范围。
Claims (6)
1.一种基于钱搜索算法和福尼算法的并行电路,其特征在于,所述并行电路用于计算RS译码过程中发生的错误位置与产生的错误值,包括:偶数项钱搜索电路模块、奇数项钱搜索电路模块、奇数项福尼电路模块、偶数项福尼电路模块、第一加法模块、第二加法模块、求倒数模块和乘法模块;其中,
所述偶数项钱搜索电路模块用于并行计算错误位置多项式中的偶数项的和,所述奇数项钱搜索电路模块用于并行计算错误位置多项式中的奇数项的和,所述偶数项钱搜索电路模块和奇数项钱搜索电路模块的输出经过第一加法模块后在一个时钟周期内共计算得到p个错误位置;所述奇数项福尼电路模块用于并行计算错误值多项式中的奇数项的和,所述偶数项福尼电路模块用于并行计算错误值多项式中的偶数项的和,所述奇数项福尼电路模块和偶数项福尼电路模块经过第二加法模块和乘法模块后在一个所述时钟周期内共计算得到p个错误值;
所述偶数项钱搜索电路模块的输出端连接到所述第一加法模块的输入端,所述奇数项钱搜索电路模块的输出端连接到所述第一加法模块和所述求倒数模块的输入端,所述求倒数模块的输出端连接到所述乘法模块的输入端,所述奇数项福尼电路模块和偶数项福尼电路模块的输出端连接到所述第二加法模块的输入端,所述第二加法模块的输出端连接到所述乘法模块的输入端,所述第一加法模块输出p个错误位置,所述乘法模块输出p个错误值,所述p个错误位置和p个错误值作为所述并行电路的输出数据,p为大于1的整数。
2.如权利要求1所述的并行电路,其特征在于,所述偶数项钱搜索电路模块、奇数项钱搜索电路模块、奇数项福尼电路模块和偶数项福尼电路模块均包括多个计算子模块以及多个加法器;每个计算子模块包括二选一选择器、寄存器以及多个乘法器,且二选一选择器的输出端连接到每个乘法器的输入端,其中一个乘法器的输出端连接到寄存器的输入端,寄存器的输出端连接到二选一选择器的输入端;对于每个计算子模块,其中乘法器的输出端一对一地连接到加法器的输入端;所述多个加法器的输出为偶数项钱搜索电路模块、奇数项钱搜索电路模块、奇数项福尼电路模块和偶数项福尼电路模块的输出数据。
3.如权利要求2所述的并行电路,其特征在于,所述加法器所做的加法均是伽罗华域上的加法,所述乘法器所做的乘法均是伽罗华域上的乘法,且所述乘法器的系数均属于相同的伽罗华域。
4.如权利要求1所述的并行电路,其特征在于,所述求倒数模块为只读ROM。
5.如权利要求2或3所述的并行电路,其特征在于,所述多个计算子模块的个数为t/2,其中,t=(n-k)/2,n表示RS译码的码字长度,k表示RS译码的信息位长度。
6.一种RS译码电路,其特征在于,包括如权利要求1~5中任一项所述的并行电路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210418532.8A CN102970049B (zh) | 2012-10-26 | 2012-10-26 | 基于钱搜索算法和福尼算法的并行电路及rs译码电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210418532.8A CN102970049B (zh) | 2012-10-26 | 2012-10-26 | 基于钱搜索算法和福尼算法的并行电路及rs译码电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102970049A true CN102970049A (zh) | 2013-03-13 |
CN102970049B CN102970049B (zh) | 2016-01-20 |
Family
ID=47799954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210418532.8A Expired - Fee Related CN102970049B (zh) | 2012-10-26 | 2012-10-26 | 基于钱搜索算法和福尼算法的并行电路及rs译码电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102970049B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104639282A (zh) * | 2013-11-14 | 2015-05-20 | 杭州海康威视数字技术股份有限公司 | 通信系统中rs译码方法及其装置 |
CN110971244A (zh) * | 2019-10-18 | 2020-04-07 | 天津大学 | 基于突发错误检测的前向纠错译码译码器 |
CN112367087A (zh) * | 2020-12-01 | 2021-02-12 | 西安邮电大学 | 一种高速rs译码器 |
CN112468160A (zh) * | 2020-12-01 | 2021-03-09 | 西安邮电大学 | 一种基于钱搜索算法和福尼算法的并行电路 |
CN116470990A (zh) * | 2023-04-26 | 2023-07-21 | 苏州联讯仪器股份有限公司 | 一种错误码元标志数量确定方法、装置、设备及介质 |
CN116667923A (zh) * | 2023-07-31 | 2023-08-29 | 苏州联讯仪器股份有限公司 | 一种信号传输误码率确定方法及相关组件 |
CN117200809A (zh) * | 2023-11-06 | 2023-12-08 | 浙江大学 | 用于纠两个误码的rs码的低功耗钱搜索和错误估值电路 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101021778A (zh) * | 2007-03-19 | 2007-08-22 | 中国人民解放军国防科学技术大学 | 超长指令字与单指令流多数据流融合的计算群结构 |
CN101079640A (zh) * | 2007-07-12 | 2007-11-28 | 中兴通讯股份有限公司 | 一种Reed-Solomon码解码器 |
US20080320372A1 (en) * | 2007-06-21 | 2008-12-25 | Core Logic, Inc. | Reed solomon decoder |
CN101674090A (zh) * | 2009-09-28 | 2010-03-17 | 杭州电子科技大学 | 一种应用于gpon的16位fec解码实现方法 |
CN102684708A (zh) * | 2012-05-10 | 2012-09-19 | 天津大学 | 一种译码装置 |
-
2012
- 2012-10-26 CN CN201210418532.8A patent/CN102970049B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101021778A (zh) * | 2007-03-19 | 2007-08-22 | 中国人民解放军国防科学技术大学 | 超长指令字与单指令流多数据流融合的计算群结构 |
US20080320372A1 (en) * | 2007-06-21 | 2008-12-25 | Core Logic, Inc. | Reed solomon decoder |
CN101079640A (zh) * | 2007-07-12 | 2007-11-28 | 中兴通讯股份有限公司 | 一种Reed-Solomon码解码器 |
CN101674090A (zh) * | 2009-09-28 | 2010-03-17 | 杭州电子科技大学 | 一种应用于gpon的16位fec解码实现方法 |
CN102684708A (zh) * | 2012-05-10 | 2012-09-19 | 天津大学 | 一种译码装置 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104639282B (zh) * | 2013-11-14 | 2018-09-11 | 杭州海康威视数字技术股份有限公司 | 通信系统中rs译码方法及其装置 |
CN104639282A (zh) * | 2013-11-14 | 2015-05-20 | 杭州海康威视数字技术股份有限公司 | 通信系统中rs译码方法及其装置 |
CN110971244A (zh) * | 2019-10-18 | 2020-04-07 | 天津大学 | 基于突发错误检测的前向纠错译码译码器 |
CN112468160B (zh) * | 2020-12-01 | 2023-12-29 | 西安邮电大学 | 一种基于钱搜索算法和福尼算法的并行电路 |
CN112367087A (zh) * | 2020-12-01 | 2021-02-12 | 西安邮电大学 | 一种高速rs译码器 |
CN112468160A (zh) * | 2020-12-01 | 2021-03-09 | 西安邮电大学 | 一种基于钱搜索算法和福尼算法的并行电路 |
CN112367087B (zh) * | 2020-12-01 | 2024-01-30 | 西安邮电大学 | 一种高速rs译码器 |
CN116470990A (zh) * | 2023-04-26 | 2023-07-21 | 苏州联讯仪器股份有限公司 | 一种错误码元标志数量确定方法、装置、设备及介质 |
CN116470990B (zh) * | 2023-04-26 | 2023-10-03 | 苏州联讯仪器股份有限公司 | 一种错误码元标志数量确定方法、装置、设备及介质 |
CN116667923A (zh) * | 2023-07-31 | 2023-08-29 | 苏州联讯仪器股份有限公司 | 一种信号传输误码率确定方法及相关组件 |
CN116667923B (zh) * | 2023-07-31 | 2023-12-01 | 苏州联讯仪器股份有限公司 | 一种信号传输误码率确定方法及相关组件 |
CN117200809A (zh) * | 2023-11-06 | 2023-12-08 | 浙江大学 | 用于纠两个误码的rs码的低功耗钱搜索和错误估值电路 |
CN117200809B (zh) * | 2023-11-06 | 2024-04-12 | 浙江大学 | 用于纠两个误码的rs码的低功耗钱搜索和错误估值电路 |
Also Published As
Publication number | Publication date |
---|---|
CN102970049B (zh) | 2016-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102970049B (zh) | 基于钱搜索算法和福尼算法的并行电路及rs译码电路 | |
CN101277119B (zh) | 里德所罗门码解码器硬件复用方法及其低硬件复杂度解码装置 | |
CN100592639C (zh) | 低密度奇偶校验编码方法、装置及奇偶校验矩阵生成方法 | |
CN105322973B (zh) | 一种rs码编码器及编码方法 | |
CN102170327A (zh) | 超强前向纠错的硬件译码方法及装置 | |
CN105634506A (zh) | 基于移位搜索算法的平方剩余码的软判决译码方法 | |
CN104639282A (zh) | 通信系统中rs译码方法及其装置 | |
WO2012174933A1 (zh) | Rs编码器的编码方法及rs编码器 | |
CN105024707A (zh) | 一种rs纠错解码方法 | |
CN101442313B (zh) | 数字通信过程中的编解码方法以及编码器、解码器 | |
CN102780496A (zh) | Rs码译码方法及装置 | |
US11101925B2 (en) | Decomposable forward error correction | |
CN101834616B (zh) | 里德-索罗蒙解码器实现方法 | |
CN101834615A (zh) | 里德-索罗蒙编码器实现方法 | |
CN106506011A (zh) | 电力线工频通信编码纠错方法 | |
US9191029B2 (en) | Additional error correction apparatus and method | |
CN101692612A (zh) | 多规格里德-所罗门编解码方法、装置及系统 | |
CN115632662B (zh) | 一种rs译码中的伴随式计算方法、装置、设备及介质 | |
CN101847999A (zh) | 一种用循环冗余校验码进行并行校验的方法 | |
CN102045073A (zh) | 一种bch码译码方法和装置 | |
CN107688506B (zh) | 一种流水结构的bch译码系统 | |
CN103346805A (zh) | 一种长bch码的译码系统及方法 | |
CN103092816A (zh) | 一种并行rs编码中常系数矩阵的生成装置和方法 | |
CN103716058A (zh) | 一种基于补码的循环码译码方法 | |
Yan et al. | A low-complexity RS decoder for triple-error-correcting RS codes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160120 Termination date: 20211026 |