CN103944589B - 一种bch编码、解码方法及装置 - Google Patents
一种bch编码、解码方法及装置 Download PDFInfo
- Publication number
- CN103944589B CN103944589B CN201410182992.4A CN201410182992A CN103944589B CN 103944589 B CN103944589 B CN 103944589B CN 201410182992 A CN201410182992 A CN 201410182992A CN 103944589 B CN103944589 B CN 103944589B
- Authority
- CN
- China
- Prior art keywords
- data
- code block
- information code
- output
- decoding
- 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
- 238000000034 method Methods 0.000 title claims abstract description 66
- 239000000872 buffer Substances 0.000 claims description 55
- 208000011580 syndromic disease Diseases 0.000 claims description 29
- 238000012937 correction Methods 0.000 claims description 28
- 230000003139 buffering effect Effects 0.000 abstract description 7
- 230000005540 biological transmission Effects 0.000 description 8
- 238000012546 transfer Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明提供了一种BCH编码、解码方法及装置,所述编码方法包括:对一帧数据中的任一信息码块执行缓冲步骤和编码步骤;缓冲步骤包括:以周期T接收并缓存该信息码块中的a位数据后,开始执行编码步骤;以周期T接收并缓存该信息码块剩余数据,同时以周期(k×T)/n输出缓存的k位数据;编码步骤包括:以周期(k×T)/n接收并输出在缓冲步骤中输出的k位数据;在接收编码步骤中输出的k位数据时生成r位检验码,在输出k位数据后输出生成的校验码;其中在编码步骤中生成该信息码块的r位校验码时,在缓冲步骤中执行接收并缓存下一个信息码块中的a位数据。可见本发明保证了输出编码数据的连续性,并且延迟时间大大减少。
Description
技术领域
本发明涉及通信领域,尤其是涉及一种BCH编码、解码方法及装置。
背景技术
数据信息在传输过程中可能会产生误码,因此为了实现对误码的纠错功能,常在传输前对数据信息进行编码,而传输结束后再执行对应的解码过程。其中在各种各样的编码方式中,BCH编码由于其纠错能力强,应用较为广泛。
在BCH编码过程中,会对需要传输的一帧数据按照特定的方式分成多个信息码块,再将每一个信息码块中加入校验码得到编码后的数据。例如BCH(n,k,t),表示一个信息码块中有k位待编码的数据,而加上校验码后的长度为n位,最大纠错位数为t。
由于对一帧数据进行编码时具有特定的要求:需要保持输出的编码数据的连续性,因此目前在对一帧数据实现BCH编码时,通常由编码模块依次接收每个信息码块中k位的待编码数据,在接收到k位待编码数据之后,生成r位校验码(r=n-k),之后才依次输出k位待编码数据和r位校验码作为该信息码块编码后的数据。可见对于这种编码方式,需要的延迟时间为编码模块接收k位待编码数据的时间与生成r位校验码的时间之和,显然延迟时间较长,影响了数据信息传输的实时性。
发明内容
本发明解决的技术问题在于提供一种BCH编码、解码方法及装置,以实现减少信息编码过程中的延迟时间,从而提高了数据信息传输的实时性。
为此,本发明解决技术问题的技术方案是:
本发明提供了一种BCH编码方法,所述方法用于对一帧数据进行编码,所述一帧数据包括多个信息码块,所述方法包括:
对所述一帧数据中的任一信息码块执行缓冲步骤和编码步骤:
所述缓冲步骤包括:以周期T接收并缓存该信息码块中的a位数据后,开始执行所述编码步骤;所述a为大于等于(k×r)/n,并且小于k的整数; 所述k为该信息码块的待编码数据的位数,所述r为该信息码块的校验码的位数,所述n=k+r;
以周期T接收并缓存该信息码块剩余的(k-a)位数据,并同时以周期(k×T)/n输出缓存的k位数据;
所述编码步骤包括:以周期(k×T)/n接收在所述缓冲步骤中输出的k位数据,并同时以周期(k×T)/n输出接收的k位数据;
接收在所述缓冲步骤中输出的k位数据时,生成r位校验码;
当以周期(k×T)/n输出接收的k位数据后,输出生成的r位校验码;以周期(k×T)/n输出的k位数据和r位校验码作为该信息码块的编码数据;
其中,在执行所述编码步骤中的生成该信息码块的r位校验码时,执行所述缓冲步骤中的接收并缓存该信息码块的下一个信息码块中的a位数据。
优选地,在所述缓冲步骤中以及在所述编码步骤中,在接收数据和输出数据时基于的周期由同一系统时钟分频产生。
优选地,所述a为大于等于(k×r)/n的最小整数。
本发明还提供了一种BCH解码方法,所述方法用于对一帧数据的编码数据进行解码,所述一帧数据的编码数据包括多个信息码块的编码数据,每个信息码块的编码数据包括k位待编码数据和r位校验码;所述方法包括:
对任一信息码块的编码数据执行以下步骤:
基于该信息码块的编码数据,计算伴随式;
基于所述伴随式,通过迭代算法计算错位多项式;
基于所述错位多项式,纠正该信息码块的编码数据中的错误数据;
将纠正后的编码数据作为该信息码块的解码数据输出。
优选地,在所述计算错位多项式之前,所述方法还包括:
设置错误数标志位;其中,当所述伴随式中的第一项为0时,设置所述错误数标志位为第一位,当所述伴随式中后一项与前一项的比值全部相同时,设置所述错误数标志位为第二位,否则设置所述错误数标志位为第三位;
若所述错误数标志位为第二位或者第三位时,执行所述计算错位多项式;
若所述错误数标志位为第一位,直接将所述编码数据作为该信息码块的解码数据输出,并结束流程。
优选地,若所述错误数标志位为第二位,在通过迭代算法计算错位多项式时,迭代次数为1。
优选地,在计算所述错位多项式时,对于所有的乘除法运算,通过查表将计算因子转换为幂次形式,对于所有的加减法运算,通过查表将计算因子转换为二进制形式。
优选地,所述纠正该信息码块的编码数据中的错误数据,将纠正后的编码数据作为该信息码块的解码数据输出包括:
设置b的初始值为2;
判断幂次项为b的最小项是否为所述错位多项式的根,如果是,则纠正第(n-b+1)位的编码数据,将纠正后的第(n-b+1)位的编码数据作为该信息码块第(b-2)位的解码数据后输出;如果否,则直接将第(n-b+1)位的编码数据作为该信息码块第(b-2)位的解码数据后输出;
令b=b+1,判断b是否等于k+1,如果否,返回执行所述判断幂次项为b的最小项是否为所述错位多项式的根。
本发明还提供了一种BCH编码装置,其特征在于,所述装置用于对一帧数据进行编码,所述一帧数据包括多个信息码块,所述装置包括:缓冲模块和编码模块;
所述缓冲模块包括第一寄存器组和第一控制器,所述第一控制器用于控制所述第一寄存器组以周期T接收并缓存所述一帧数据中任一信息码块中的a位数据后,所述第一控制器使能所述编码模块,以及所述第一控制器控制所述第一寄存器组以周期T缓存该信息码块剩余的(k-a)位数据,并同时以周期(k×T)/n输出缓存的k位数据;其中,所述a为大于等于(k×r)/n,并且小于k的整数;所述k为该信息码块的待编码数据的位数,所述r为该信息码块的校验码的位数,所述n=k+r;
所述编码模块包括加法器组、第二寄存器组以及第二控制器,当所述编码模块被使能后,所述第二控制器用于控制所述第二寄存器组以周期(k×T) /n接收所述第一寄存器组输出的k位数据,并同时以周期(k×T)/n输出接收的k位数据;
所述加法器组用于在所述第二寄存器组接收所述第一寄存器组输出的k位数据时,生成r位校验码;
所述第二控制器还用于当所述第二寄存器组输出从所述第一寄存器组接收到的k位数据后,输出所述加法器组生成的r位校验码;所述第二寄存器组输出的k位数据和r位校验码作为该信息码块的编码数据;
其中,所述加法器组生成该信息码块的r位校验码时,所述第一控制器执行控制所述第一寄存器组接收并缓冲该信息码块的下一码块中的a位数据。
优选地,所述第一寄存器组和所述第二寄存器组在接收数据和输出数据时基于的周期由同一系统时钟分频产生。
优选地,所述a为大于等于(k×r)/n的最小整数。
本发明还提供了一种BCH解码装置,所述装置用于对一帧数据的编码数据进行解码,所述一帧数据的编码数据包括多个信息码块的编码数据,每个信息码块的编码数据包括k位待编码数据和r位校验码;所述装置包括:
求伴随式模块,用于基于任一信息码块的编码数据,计算伴随式;
求错位多项式模块,用于基于所述伴随式,通过迭代算法计算错位多项式;
纠错模块,用于基于所述错位多项式,纠正该信息码块的编码数据中的错误数据;
输出模块,用于将纠正后的编码数据作为该信息码块的解码数据输出。
优选地,所述装置还包括错误数标志寄存器;
所述错误数标志寄存器,用于设置错误数标志位;其中,当所述伴随式的第一项为0时,设置所述错误数标志位为第一位,当所述伴随式中后一项与前一项的比值全部相同时,设置所述错误数标志位为第二位,否则设置所述错误数标志位为第三位;
所述求错位多项式模块用于,若所述错误数标志位为第二位或者第三位时,执行所述计算错位多项式;
所述输出模块还用于,若所述错误数标志位为第一位,直接将所述编码数据作为该信息码块的解码数据输出,并通知所述求错位多项式模块停止工作。
优选地,若所述错误数标志位为第二位,所述求错位多项式模块在通过迭代算法计算错位多项式时,迭代次数为1。
优选地,所述求错位多项式模块在计算所述错位多项式时,对于所有的乘除法运算,通过查表将计算因子转换为幂次形式,对于所有的加减法运算,通过查表将计算因子转换为二进制形式。
优选地,所述纠错模块用于纠正该信息码块的编码数据中的错误数据,以及所述输出模块用于将纠正后的编码数据作为该信息码块的解码数据输出包括:
所述纠错模块用于设置b的初始值为2,判断幂次项为b的最小项是否为所述错位多项式的根,如果是,则纠正第(n-b+1)位的编码数据,通过所述输出模块将纠正后的第(n-b+1)位的编码数据作为该信息码块第(b-2)位解码数据后输出,如果否,则通过所述输出模块直接将第(n-b+1)位的编码数据作为该信息码块的第(b-2)位解码数据后输出;
以及,令b=b+1,判断b是否等于k+1,如果否,返回执行所述判断幂次项为b的最小项是否为所述错位多项式的根。
通过上述技术方案可知,本发明在对信息码块编码时还包括了缓冲步骤,在对一个信息码块进行编码时,在缓冲步骤中以周期T缓存该信息码块中的k位数据,其中当缓存了a位数据后,开始执行编码步骤以周期(k×T)/n输出缓存的k位数据,从而保证在编码步骤中能够连续不断地以周期(k×T)/n接收k位数据,并且编码步骤中在接收k位数据的同时,生成r位校验码,从而能够在输出k位数据后,不间断地输出r位校验码。并且当在编码步骤中生成该信息码块的r位校验码时,在缓冲步骤中执行接收并缓存下一个信息码块的a位数据,也就是开始执行对下一个信息码块的编码过程,从而保证了输出编码数据的连续性。可见本发明在对一帧数据编码时,每个信息码块的第一位数据的编码延迟时间仅为缓存a位数据的时间,a小于k,由于在编码步骤中输出数据的周期(k×T)/n小于在缓冲步骤中取数据的周期T, 因此对于信息码块中第一位之后的数据,编码延迟时间不断减小,到最后一个位数据时,一般能够小于时间T。显然本发明相比于现有技术的BCH编码方式,延迟时间大大减少,从而提高了数据信息传输的实时性。
附图说明
图1为本申请提供的BCH编码方法的具体实施例的流程示意图;
图2为本申请提供的BCH编码装置的具体实施例的结构示意图;
图3为图2所示的实施例中的编码装置的一种优选结构;
图4为本申请提供的BCH解码方法的具体实施例的流程示意图;
图5为图3所示的实施例中步骤S402的一种优选的实施方式;
图6为图3所示的实施例中步骤S403和S404的一种优选的实施方式;
图7为本申请提供的BCH解码装置的具体实施例的结构示意图。
具体实施方式
数据信息在传输过程中可能会产生误码,例如若数据信息为图像数据时,会使得传输后的图像可能出现图像跳跃、不连续或者出现马赛克等现象。因此为了实现对误码的纠错功能,常在传输前对数据信息进行编码,而传输结束后再执行对应的解码过程。其中在各种各样的编码方式中,BCH编码由于其纠错能力强,应用较为广泛。
在BCH编码过程中,会对需要传输的一帧数据按照特定的方式分成多个信息码块,再将每一个信息码块中加入校验码得到编码后的数据。例如BCH(n,k,t),表示一个信息码块中有k位待编码的数据,而加上校验码后的长度为n位,最大纠错位数为t。
由于对一帧数据进行编码时具有特定的要求:需要保持输出的编码数据的连续性,因此目前在实现BCH编码时,通常由编码模块依次接收每个信息码块中k位的待编码数据,在接收到k位待编码数据之后,生成r位校验码(r=n-k),之后才依次输出k位待编码数据和r位校验码作为该信息码块编码后的数据。可见对于这种编码方式,需要的延迟时间Δt=T×k+Tc,其中T为编码模块接收1位待编码数据的时间,Tc为生成r位校验码的时间,可见这种编码方式显然延迟时间较长,影响了数据信息传输的实时性。
因此,如何在满足对一帧数据进行BCH编码时的特定要求的前提下,实现一种减少延迟时间的编码方式,是目前亟待解决的问题。
由于对一帧数据的BCH编码要保证输出编码数据的连续性,故需要对编码数据不间断的进行编码,而编码模块输出数据的速率要大于输入数据的速率,因此若要保证连续性,可以缓冲一部分的待编码数据,然而如何缓冲尽量少的待编码数据,是本发明关心的问题。
在本申请实施例中,提供了一种BCH编码、解码方法及装置,以实现减少信息编码过程中的延迟时间,从而提高了数据信息传输的实时性。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,示出了本申请实施例的BCH编码方法的具体实施例。本实施例用于对一帧数据进行编码,所述一帧数据包括多个信息码块,本实施例具体包括:
对所述一帧数据中的任一信息码块执行缓冲步骤和编码步骤。
缓冲步骤包括步骤S101和步骤S102。
S101:以周期T接收并缓存该信息码块中的a位数据后,开始执行编码步骤;所述a为大于等于(k×r)/n,并且小于k的整数。所述k为该信息码块的待编码数据的位数(即比特数),所述r为该信息码块的校验码的位数,所述n=k+r。
一个信息码块中待编码数据为k位,而待生成的校验码为r位,则总长度为n位,即n=k+r。为了保证能够连续不断地向提供编码数据,因此需要缓存a位数据,即a位待编码的数据,再开始执行编码步骤。
以周期T接收并缓存数据,表示每隔T时间接收并缓存1位数据。这里T可以具体由传输的信息码块的比特率决定。周期T可以与现有技术中编码时的输入周期相同。
S102:以周期T接收并缓存该信息码块剩余的(k-a)位数据,并同时以周期(k×T)/n输出缓存的k位数据。
在步骤S101接收并缓存了a位数据后,本步骤中继续以相同的周期接收并缓存信息码块剩余的数据。其中具体可以是通过写指针(WP)和读指针(RD)的值,控制数据的接收和输出。
编码步骤包括步骤S103、S104和S105。
S103:以周期(k×T)/n接收在缓冲步骤中输出的k位数据,并同时以周期(k×T)/n输出接收的k位数据。
当开始执行编码步骤时,以相同的周期(k×T)/n,接收并输出缓冲步骤中输出k位数据。需说明的是,该步骤与步骤S102是同时执行的,而不是先后执行的。
其中由于在开始执行编码步骤之前,在缓冲步骤中已经缓存了a位数据,其中a大于等于(k×r)/n,因此保证了编码步骤中能够连续不断地从接收缓冲步骤中输出的数据。下面说明推导a的最小数值的过程:
在编码步骤中接收k位数据所需要的时间为:
T1=k×(k×T)/n
而在T1时间内,在缓冲步骤中能够接收的数据位数为:
n1=T1/T=k×k/n
因此在编码步骤中接收k位数据的时间内,在缓冲步骤中只能写入k×k/n位的数据,因此为了能够在编码步骤中连续不断地接收数据,在缓冲步骤中至少要预先存储的数据位数为:
a1=k-n1=k-k×k/n=k×(n-k)/n=k×r/n。
因此a为大于等于a1,即(k×r)/n的整数。而由于本发明关心的是如何缓冲尽量少的待编码数据,因此a优选为大于等于(k×r)/n的最小整数。
S104:接收在缓冲步骤中输出的k位数据时,生成r位校验码。
在执行步骤S103的同时,还基于接收的k位数据生成r位校验码。其中可以通过基于线性反馈的移位寄存器的串行BCH编码模块,对生成多项式求余数产生r位校验位。反馈系数由生成多项式各个幂次项的系数是否为1决定。为1时有反馈,否则没有反馈。由f(f最大为n-k+1)个加法器和n-k个寄存器串联而成,根据加法器和接收的k位数据生成r位校验码。当然也 可以采用现有技术中的其他方式产生校验码,本发明对此不做限定。
S105:当以周期(k×T)/n输出接收的k位数据后,输出生成的r位校验码;以周期(k×T)/n输出的k位数据和r位校验码作为该信息码块的编码数据。
由于在本发明中,在接收k位数据时,就能够生成r位校验码,因此在输出k位数据之后,能够不间断地输出r位校验码,从而减少数据延迟时间。
其中,在执行编码步骤中的生成该信息码块的r位校验码时,执行缓冲步骤中的接收并缓存该信息码块的下一个信息码块中的a位数据,也就是对下一个信息码块执行步骤S101。可见,当在编码步骤中生成r位校验码时,在缓冲步骤中开始对下一个信息码块执行编码过程,因此当在编码步骤中完成生成并输出r位校验码时,在缓冲步骤中正好完成了对下一个信息码块的a位数据的缓存过程,因此在编码步骤中也正好能够开始接收并输出该下一个信息码块的待编码数据,从而保证了输出的编码数据的连续性。
通过上述技术方案可知,本实施例在对信息码块编码时还包括了缓冲步骤,在对一个信息码块进行编码时,在缓冲步骤中以周期T缓存该信息码块中的k位数据,其中当缓存了a位数据后,开始执行编码步骤并且以周期(k×T)/n输出缓存的k位数据,从而保证在编码步骤中能够连续不断地以周期(k×T)/n接收k位数据,并且编码步骤中在接收k位数据的同时,生成r位校验码,从而能够在输出k位数据后,不间断地输出r位校验码。并且当在编码步骤中生成该信息码块的r位校验码时,在缓冲步骤中执行接收并缓存下一个信息码块的a位数据,也就是开始执行对下一个信息码块的编码过程,从而保证了输出编码数据的连续性。可见本实施例在对一帧数据编码时,每个信息码块的第一位数据的编码延迟时间Δt'仅为缓存a位数据的时间,即Δt'=T×a,a小于k,由于在编码步骤中输出数据的周期(k×T)/n小于在缓冲步骤中取数据的周期T,因此对于信息码块中第一位之后的数据,编码延迟时间不断减小,到最后一个位数据时,一般能够小于时间T。显然本实施例相比于现有技术的BCH编码方式所需的延迟时间Δt=T×k+Tc,延迟时间大大减少,从而提高了数据信息传输的实时性。
需要说明的是,在发明实施例中,缓冲步骤具体可以是由缓冲模块执行,而编码步骤中具体可以由编码模块执行,其中,缓冲模块和编码模块可以集成在同一个装置或者设备中,也可以各个模块单端物理存在。
若缓冲步骤和编码步骤由这两个模块分别执行时,则本实施例中,缓冲模块将数据输出至编码模块,其中,步骤S101中,当缓冲模块以周期T接收并缓存该信息码块中的a位数据后,使能编码模块,从而使得编码模块开始执行编码步骤。格外说明的是,缓冲模块接收数据和输出数据时分别基于不同的周期,具体每隔T时间接收1位数据,而在输出时,每隔(k×T)/n时间输出1位数据。这是因为缓冲模块接收k位数据所需的时间为(k×T),而在这段时间内,编码模块要输出n位数据(k位数据和r位待编码数据),因此编码模块输出数据的周期为(k×T)/n,因此,缓冲模块输出数据的周期也为(k×T)/n。
在本实施例中,在编码步骤中接收和输出数据时,以及在编码步骤中接收和输出数据时,所基于的周期都可以由同一个系统时钟分频产生。
下面说明一种能够实现本发明提供的BCH编码方法的BCH编码装置。
请参阅图2,示出了本申请实施例的BCH编码装置的具体实施例,本实施例用于对一帧数据进行编码,所述一帧数据包括多个信息码块。本实施例具体包括:缓冲模块201和编码模块202。
缓冲模块201包括第一寄存器组2011和第一控制器2012。
第一控制器2012用于控制第一寄存器2011组以周期T接收并缓存所述一帧数据中任一信息码块中的a位数据后,第一控制器2012使能编码模块202,以及第一控制器2012控制第一寄存器组2011以周期T缓存所述信息码块剩余的(k-a)位数据,并控制第一寄存器组2011同时以周期(k×T)/n输出缓存的k位数据。其中第一控制器可以通过输出使能信号使能编码模块202。所述a为大于等于(k×r)/n,并且小于k的整数;所述k为该信息码块的待编码数据的位数,所述r为该信息码块的校验码的位数,所述n=k+r。其中a优选为大于等于(k×r)/n的最小整数。
其中第一控制器2012可以应用在具有单片机、ARM、FPGA、DSP、存储控制、通信功能等涉及到串行BCH编码的模块。第一控制器为硬件控制芯片。
编码模块202包括加法器组2021、第二寄存器组2022以及第二控制器2023。
当编码模块202被使能后,第二控制器2023用于控制第二寄存器组2022以周期(k×T)/n接收第一寄存器组2011输出的k位数据,并同时以周期(k×T)/n输出接收的k位数据。
加法器组2021用于在第二寄存器组2022接收第一寄存器组2011输出的k位数据时,生成r位校验码。
第二控制器2023还用于当第二寄存器组2022输出从第一寄存器组2011接收到的k位数据后,输出加法器组2021生成的r位校验码;第二寄存器组2023输出的k位数据和r位校验码作为该信息码块的编码数据。
其中,所述加法器组2021生成该信息码块的r位校验码时,所述第一控制器2012执行控制所述第一寄存器组2011接收并缓冲该信息码块的下一码块中的a位数据。
第二控制器2023可以应用在具有单片机、ARM、FPGA、DSP、存储控制、通信功能等涉及到串行BCH编码的模块。第二控制器2023为硬件控制芯片。
在本实施例中,第一寄存器组2011和第二寄存器组2022在接收数据和输出数据时基于的周期可以由同一系统时钟分频产生。
在本实施例中,编码模块包括加法器组、第二寄存器组和第二控制器。其中加法器组可以为至多包括n-k+1个加法器的串联电路,根据加法器组和第二寄存器组缓存的数据生成r位校验码。下面具体说明一种编码模块的优选结构。
如图3所示,本实施例的编码模块可以包括加法器组2021、第二寄存器组2022和第二控制器2023。其中加法器组2021包括f(f最大为n-k+1)个加法器:加法器b0、加法器b1、…、加法器bf。第二寄存器组2023包括n-k个寄存器:寄存器e0、寄存器e0、…、寄存器en-k-1。第二控制器包括处理器控制逻辑电路(未示出)、门1、门2和门3。
缓冲模块输出的k位数据从编码模块的输入端IN依次输入并缓存到第二寄存器组中,当编码模块被使能后,处理器控制逻辑电路控制门1和门2导通,并且控制门3使得编码模块的输出端OUT连接A处,此时第二寄存器组 的输出端OUT能够输出缓存的k位数据。同时,第二加法器组2021根据第二寄存器组2022缓存的数据和反馈系数(g0、g1、g2、…、gf-1)得到校验码,反馈系数由生成多项式各个幂次项的系数是否为1决定。为1时有反馈,否则没有反馈。因此当第二寄存器组输出k位数据后,控制逻辑电路控制门3使得编码模块的输出端OUT连接B处,从而此时输出校验码。
对于本发明上述实施例中生成的编码数据,本发明实施例中还提供了对应的解码方式,详细说明请见下面的实施例。
请参阅图4,示出了本申请实施例的BCH解码方法的具体实施例。本实施例的方法用于对一帧数据的编码数据进行解码,所述一帧数据的编码数据包括多个信息码块的编码数据,每个信息码块的编码数据包括k位待编码数据和r位校验码。
本实施例具体包括:
对任一信息码块的编码数据执行以下步骤:
S401:基于该信息码块的编码数据,计算伴随式[S1,S2,S3,…,S2t-1,S2t]。
通常可以通过校验矩阵乘以编码数据的方式计算伴随式,但是该方式耗费的硬件资源较多,而且也要在接受完编码数据后才能开始处理。而本实施例中可以具体采用对最小多项式求余的方式计算伴随式,不仅实现简单,延迟低,并且可以直接通过移位寄存器实现。
S402:基于所述伴随式,通过迭代算法计算错位多项式。
S403:基于所述错位多项式,纠正该信息码块的编码数据中的错误数据。
S404:将纠正后的编码数据作为该信息码块的解码数据输出。
本实施例提供的解码方式具体为伯利坎普提出的BM迭代译码算法,这里不再详细说明。下面针对上述实现方式,提出一些改进的优选方式。
(一)在执行步骤S402之前,所述方法还可以包括设置错误数标志位;其中,当伴随式中的第一项,即S1=0时,设置所述错误数标志位为第一位,此时说明编码数据中并没有错误数据;当伴随式中后一项与前一项的比值全部相同时,即S2/S1=S3/S2=…=S2t/S2t-1时,设置所述错误数标志位为第二位,此时说明编码数据中只有一位错误数据,此时必然有S1≠0;否则设置所述错 误数标志位为第三位,也就是说当既不满足S1=0,也不满足S2/S1=S3/S2=…=S2t/S2t-1时,设置错误标志位为第三位。其中,错误数标志位可以通过错误数标志寄存器设置,例如,当S1=0时,设置错误数标志寄存器为00(即第一位),当S1≠0并且S2/S1=S3/S2=…=S2t/S2t-1时,设置错误数标志寄存器为01(即第二位),当S1≠0并且不满足S2/S1=S3/S2=…=S2t/S2t-1时,设置错误数标志寄存器为10(即第三位)。
若错误数标志位为第二位或者第三位时,说明此时编码数据中至少有一位错误数据,执行步骤S402中的计算错位多项式。
若错误数标志位为第一位,说明此时编码数据中没有错误数据,因此直接将编码数据作为该信息码块的解码数据输出,并结束流程。无需再执行步骤S403至S404。
进一步地,若所述错误数标志位具体为第二位,说明此时编码数据只有一位错误数据,因此在步骤S402中通过迭代算法计算错位多项式时,迭代次数为1。
可见,通过设置错误数标志位,能够根据伴随式就能或者编码数据中发生错误的数据的位数,从而简化流程。
(二)在本实施例的步骤S402中计算错位多项式时,为了进一步简化计算,从而减少资源并且提高运算速度,可以对于所有的乘除法运算,通过查表将计算因子转换为幂次形式,对于所有的加减法运算,通过查表将计算因子转换为二进制形式。下面具体说明。
如图5所示,步骤S402可以包括以下几个步骤:
S4021:设置错位多项式的初始值δx=1,错位多项式的阶数D(j)的初始值D(j)=0,判断变量v的初始值v=0,迭代次数j的初始值j=-1,中间参数D(k)的初始值D(k)=-1。其中k为小于迭代次数的整数,并且使得k-D(k)有最大值。
S4022:执行第一次迭代,根据公式:
(公式1)
计算得到判断变量v=S1。公式1中的为第j次迭代后错位多项式从1到D(j)(D(j)为第j次迭代后错位多项式的阶数)幂次项的系 数。
并且根据公式:
δ(j+2)(x)=δ(j)(x)-v/D(k)xj-kδ(k)(x) (公式2)
计算出第一次迭代后的错位多项式δ(1)(x),以及错位多项式的阶数D(j)=1。此时若错误数标志位为第二位,可以直接输出计算的错位多项式,如果为第三位,继续执行下一步骤。
S4023:令j=j+2,根据公式1计算判断向量v的值。
S4024:若步骤S4023计算出的v为0,错位多项式及D(k)的值不发生变化。
若v不为0,则根据公式2计算错位多项式,并且令
S4025:判断迭代次数j是否为2t-1,其中t为最大纠错位数。如果是,则执行S4026,如果否,则返回执行步骤S4023。
S4026:结束对该信息码块的错位多项式的计算。
其中在根据公式1和公式2进行计算时,对于所有的乘除计算,通过查表将对应的计算因子(参与计算的因子)转换为幂次形式,对于所有的加减法运算,通过查表将对应的计算因子转换为二进制形式。
例如,当将幂次形式的最小项转换为二进制形式时,查找表为:
alpha[c],c的取值为-1,0,1……n-1。
例如alpha[-1]=m’b00……00;(m为二进制数的位数)
alpha[0]=m’b10……00
当将二进制形式的最小项转换为幂次形式时,查找表为:
order[bm-1bm-2…b0]。
例如order[00……00]=-1;
order[10……00]=0;即为查找表alpha[c]的逆过程。
(三)在根据错位多项式进行纠错时,若只有一位数据发生错误时,错位多项式只有一个根,当有两位数据发生错误时,错位多项式有两个根,即错位多项式的根的个数与发生错误的数据的位数相对应。但当发生错误的数 据的位数超过编码方式的最大纠错位,则需要考虑采用纠错能力更强的编码方案。
目前在纠错过程中,通常在对所有的数据进行纠错后,再依次输出纠错后的数据。显然这种方式延迟时间较长,因此可以通过以下实现方式减少纠错过程中的延迟时间。
设编码数据的第0位至第(n-k-1)位为校验码,编码数据的第(n-k)位至第(n-1)位为缓冲模块接收的k位数据。需要说明的是,这里的低位和高位只是一种设置规则,在本发明中,对于一个信息码块的编码数据,假设编码模块首先输出第(n-1)位数据的编码数据,最后输出第0位数据的编码数据。
如图6所示,步骤S403中的纠正该信息码块的编码数据中的错误数据,以及步骤S404中的将纠正后的编码数据作为该信息码块的解码数据输出包括以下子步骤:
子步骤S4031:设置b的初始值为2;
子步骤S4032:判断幂次项为b的最小项是否为所述错位多项式的根,如果是,则纠正该信息码块的第(n-b+1)位的编码数据,将纠正后的第(n-b+1)位的编码数据作为该信息码块的第(b-2)位解码数据后输出,如果否,则直接将该信息码块的第(n-b+1)位的编码数据作为该信息码块的第(b-2)位解码数据后输出。在本发明中,假设首先输出的是第0位解码数据,最后输出的是第(k-1)位解码数据。
例如,若此时b=2,判断幂次项为2的最小项是否为所述错位多项式的根,如果是,则说明第(n-1)位数据为错误数据,可以通过异或等方式纠正该位数据,输出纠正后的数据;如果否,则说明第(n-1)位数据为正确数据,无需纠错直接输出该位数据。
子步骤S4033:令b=b+1,判断b是否等于k+1,如果否,返回执行子步骤S4032中的判断幂次项为b的最小项是否为所述错位多项式的根。如果是,则说明已经完成对该信息码块的解码过程,此时开始对下一个信息码块的解码,直至完成对一帧数据的解码过程。
可见,在这种实现方式中,每解码纠错一位数据就对该数据进行纠错后输出或者直接输出,即按照编码数据的传输顺序对每一位数据进行纠错,无 需等待解码纠错全部n位数据,大大降低了延迟时间。
需要说明的是,本实施例提供的解码方法能够用于对本发明实施例中,任一种编码方法生成的一帧数据的编码数据进行解码。
下面说明一种能够实现本发明提供的BCH解码方法的BCH解码装置。
请参阅图7,示出了本申请实施例的BCH解码装置的具体实施例。本实施例用于对一帧数据的编码数据进行解码,所述一帧数据的编码数据包括多个信息码块的编码数据,每个信息码块的编码数据包括k位待编码数据和r位校验码。本实施例具体包括:求伴随式模块701、求错位多项式模块702、纠错模块703和输出模块704。
求伴随式模块701用于基于任一信息码块的编码数据,计算伴随式[S1,S2,S3,…,S2t-1,S2t]。
求错位多项式模块702用于基于所述伴随式,通过迭代算法计算错位多项式。
纠错模块703用于基于所述错位多项式,纠正该信息码块的编码数据中的错误数据。
输出模块704用于将纠正后的编码数据作为该信息码块的解码数据输出。
本实施例提供的解码装置具体基于伯利坎普提出的BM迭代译码算法,针对每一个模块的具体硬件结构这里不再详细说明。下面针对上述实现方式,提出一些改进的优选方式。
(一)本实施例的所述装置还包括错误数标志寄存器;所述错误数标志寄存器,用于设置错误数标志位;其中,当伴随式的第一项,即S1=0时,设置所述错误数标志位为第一位,例如设置错误数标志寄存器的值为00;当伴随式中后一项与前一项的比值相同,即S2/S1=S3/S2=…=S2t/S2t-1时,设置所述错误数标志位为第二位,例如设置错误数标志寄存器的值为01;否则设置所述错误数标志位为第三位,例如设置错误数标志寄存器的值为10。
求错位多项式模块702用于,若所述错误数标志位为第二位或者第三位时,执行所述计算错位多项式。
输出模块704还用于,若所述错误数标志位为第一位,直接将该信息码块的编码数据作为解码数据,并通知求错位多项式模块702停止工作。
进一步地,若错误数标志位为第二位,求错位多项式模块802在通过迭代算法计算错位多项式时,迭代次数为1。
需要说明的是,本实施例中,每一个模块可以是通过软件方式实现,例如本实施例的解码装置可以具体为一解码芯片,每个模块的功能通过解码芯片的功能模块实现,当然,每一个模块也可以是通过硬件方式实现。
(二)求错位多项式模块702在计算所述错位多项式时,对于所有的乘除法运算,通过查表将计算因子转换为幂次形式,对于所有的加减法运算,通过查表将计算因子转换为二进制形式。具体过程请见BCH解码方法的具体实施例的相关之处,这里不再赘述。
(三)纠错模块703用于纠正该信息码块的编码数据中的错误数据,以及输出模块704用于将纠正后的编码数据作为该信息码块的解码数据输出包括:
纠错模块703用于设置b的初始值为2,判断幂次项为b的最小项是否为所述错位多项式的根,如果是,则纠正该信息码块的第(n-b+1)位的编码数据,通过输出模块704将纠正后的第(n-b+1)位的编码数据作为该信息码块的第(b-2)位解码数据后输出,如果否,则通过输出模块704直接将该信息码块的第(n-b+1)位的编码数据作为该信息码块的第(b-2)位解码数据后输出;
以及,令b=b+1,判断b是否等于k+1,如果否,返回执行所述判断幂次项为b的最小项是否为所述错位多项式的根。如果是,则说明已经完成对该信息码块的解码过程,此时开始对下一个信息码块的解码,直至完成对一帧数据的解码过程。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (16)
1.一种BCH编码方法,其特征在于,所述方法用于对一帧数据进行编码,所述一帧数据包括多个信息码块,所述方法包括:
对所述一帧数据中的任一信息码块执行缓冲步骤和编码步骤:
所述缓冲步骤包括:以周期T接收并缓存该信息码块中的a位数据后,开始执行所述编码步骤;所述a为大于等于(k×r)/n,并且小于k的整数;所述k为该信息码块的待编码数据的位数,所述r为该信息码块的校验码的位数,所述n=k+r;
以周期T接收并缓存该信息码块剩余的(k-a)位数据,并同时以周期(k×T)/n输出缓存的k位数据;
所述编码步骤包括:以周期(k×T)/n接收在所述缓冲步骤中输出的k位数据,并同时以周期(k×T)/n输出接收的k位数据;
接收在所述缓冲步骤中输出的k位数据时,生成r位校验码;
当以周期(k×T)/n输出接收的k位数据后,输出生成的r位校验码;以周期(k×T)/n输出的k位数据和r位校验码作为该信息码块的编码数据;
其中,在执行所述编码步骤中的生成该信息码块的r位校验码时,执行所述缓冲步骤中的接收并缓存该信息码块的下一个信息码块中的a位数据。
2.根据权利要求1所述的方法,其特征在于,在所述缓冲步骤中以及在所述编码步骤中,在接收数据和输出数据时基于的周期由同一系统时钟分频产生。
3.根据权利要求1所述的方法,其特征在于,所述a为大于等于(k×r)/n的最小整数。
4.一种BCH编码和解码方法,其特征在于,所述编码和解码方法包括权利要求1至3任一项所述的编码方法和解码方法;所述解码方法用于对一帧数据的编码数据进行解码,所述一帧数据的编码数据包括多个信息码块的编码数据,每个信息码块的编码数据包括k位待编码数据和r位校验码;所述解码方法包括:
对任一信息码块的编码数据执行以下步骤:
基于该信息码块的编码数据,计算伴随式;
基于所述伴随式,通过迭代算法计算错位多项式;
基于所述错位多项式,纠正该信息码块的编码数据中的错误数据;
将纠正后的编码数据作为该信息码块的解码数据输出。
5.根据权利要求4所述的编码和解码方法,其特征在于,在所述计算错位多项式之前,所述解码方法还包括:
设置错误数标志位;其中,当所述伴随式中的第一项为0时,设置所述错误数标志位为第一位,当所述伴随式中后一项与前一项的比值全部相同时,设置所述错误数标志位为第二位,否则设置所述错误数标志位为第三位;
若所述错误数标志位为第二位或者第三位时,执行所述计算错位多项式;
若所述错误数标志位为第一位,直接将所述编码数据作为该信息码块的解码数据输出,并结束流程。
6.根据权利要求5所述的编码和解码方法,其特征在于,若所述错误数标志位为第二位,在通过迭代算法计算错位多项式时,迭代次数为1。
7.根据权利要求4所述的编码和解码方法,其特征在于,在计算所述错位多项式时,对于所有的乘除法运算,通过查表将计算因子转换为幂次形式,对于所有的加减法运算,通过查表将计算因子转换为二进制形式。
8.根据权利要求4所述的编码和解码方法,其特征在于,所述纠正该信息码块的编码数据中的错误数据,将纠正后的编码数据作为该信息码块的解码数据输出包括:
设置b的初始值为2;
判断幂次项为b的最小项是否为所述错位多项式的根,如果是,则纠正第(n-b+1)位的编码数据,将纠正后的第(n-b+1)位的编码数据作为该信息码块第(b-2)位的解码数据后输出;如果否,则直接将第(n-b+1)位的编码数据作为该信息码块第(b-2)位的解码数据后输出;
令b=b+1,判断b是否等于k+1,如果否,返回执行所述判断幂次项为b的最小项是否为所述错位多项式的根。
9.一种BCH编码装置,其特征在于,所述装置用于对一帧数据进行编码,所述一帧数据包括多个信息码块,所述装置包括:缓冲模块和编码模块;
所述缓冲模块包括第一寄存器组和第一控制器,所述第一控制器用于控制所述第一寄存器组以周期T接收并缓存所述一帧数据中任一信息码块中的a位数据后,所述第一控制器使能所述编码模块,以及所述第一控制器控制所述第一寄存器组以周期T缓存该信息码块剩余的(k-a)位数据,并同时以周期(k×T)/n输出缓存的k位数据;其中,所述a为大于等于(k×r)/n,并且小于k的整数;所述k为该信息码块的待编码数据的位数,所述r为该信息码块的校验码的位数,所述n=k+r;
所述编码模块包括加法器组、第二寄存器组以及第二控制器,当所述编码模块被使能后,所述第二控制器用于控制所述第二寄存器组以周期(k×T)/n接收所述第一寄存器组输出的k位数据,并同时以周期(k×T)/n输出接收的k位数据;
所述加法器组用于在所述第二寄存器组接收所述第一寄存器组输出的k位数据时,生成r位校验码;
所述第二控制器还用于当所述第二寄存器组输出从所述第一寄存器组接收到的k位数据后,输出所述加法器组生成的r位校验码;所述第二寄存器组输出的k位数据和r位校验码作为该信息码块的编码数据;
其中,所述加法器组生成该信息码块的r位校验码时,所述第一控制器执行控制所述第一寄存器组接收并缓冲该信息码块的下一码块中的a位数据。
10.根据权利要求9所述的装置,其特征在于,所述第一寄存器组和所述第二寄存器组在接收数据和输出数据时基于的周期由同一系统时钟分频产生。
11.根据权利要求9所述的装置,其特征在于,所述a为大于等于(k×r)/n的最小整数。
12.一种BCH编码和解码装置,其特征在于,所述编码和解码装置包括权利要求9至11任一项所述的编码装置和解码装置;所述解码装置用于对一帧数据的编码数据进行解码,所述一帧数据的编码数据包括多个信息码块的编码数据,每个信息码块的编码数据包括k位待编码数据和r位校验码;所述解码装置包括:
求伴随式模块,用于基于任一信息码块的编码数据,计算伴随式;
求错位多项式模块,用于基于所述伴随式,通过迭代算法计算错位多项式;
纠错模块,用于基于所述错位多项式,纠正该信息码块的编码数据中的错误数据;
输出模块,用于将纠正后的编码数据作为该信息码块的解码数据输出。
13.根据权利要求12所述的编码和解码装置,其特征在于,所述解码装置还包括错误数标志寄存器;
所述错误数标志寄存器,用于设置错误数标志位;其中,当所述伴随式的第一项为0时,设置所述错误数标志位为第一位,当所述伴随式中后一项与前一项的比值全部相同时,设置所述错误数标志位为第二位,否则设置所述错误数标志位为第三位;
所述求错位多项式模块用于,若所述错误数标志位为第二位或者第三位时,执行所述计算错位多项式;
所述输出模块还用于,若所述错误数标志位为第一位,直接将所述编码数据作为该信息码块的解码数据输出,并通知所述求错位多项式模块停止工作。
14.根据权利要求13所述的编码和解码装置,其特征在于,若所述错误数标志位为第二位,所述求错位多项式模块在通过迭代算法计算错位多项式时,迭代次数为1。
15.根据权利要求12所述的编码和解码装置,其特征在于,所述求错位多项式模块在计算所述错位多项式时,对于所有的乘除法运算,通过查表将计算因子转换为幂次形式,对于所有的加减法运算,通过查表将计算因子转换为二进制形式。
16.根据权利要求12所述的编码和解码装置,其特征在于,所述纠错模块用于纠正该信息码块的编码数据中的错误数据,以及所述输出模块用于将纠正后的编码数据作为该信息码块的解码数据输出包括:
所述纠错模块用于设置b的初始值为2,判断幂次项为b的最小项是否为所述错位多项式的根,如果是,则纠正第(n-b+1)位的编码数据,通过所述输出模块将纠正后的第(n-b+1)位的编码数据作为该信息码块第(b-2)位解码数据后输出,如果否,则通过所述输出模块直接将第(n-b+1)位的编码数据作为该信息码块的第(b-2)位解码数据后输出;
以及,令b=b+1,判断b是否等于k+1,如果否,返回执行所述判断幂次项为b的最小项是否为所述错位多项式的根。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410182992.4A CN103944589B (zh) | 2014-04-30 | 2014-04-30 | 一种bch编码、解码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410182992.4A CN103944589B (zh) | 2014-04-30 | 2014-04-30 | 一种bch编码、解码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103944589A CN103944589A (zh) | 2014-07-23 |
CN103944589B true CN103944589B (zh) | 2017-02-15 |
Family
ID=51192105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410182992.4A Active CN103944589B (zh) | 2014-04-30 | 2014-04-30 | 一种bch编码、解码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103944589B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180106495A (ko) * | 2017-03-20 | 2018-10-01 | 에스케이하이닉스 주식회사 | 반도체장치 |
CN108734280A (zh) * | 2017-04-21 | 2018-11-02 | 上海寒武纪信息科技有限公司 | 一种运算装置和方法 |
CN114696969B (zh) * | 2022-06-01 | 2022-08-23 | 南京邮电大学 | 基于交织异或算法的串行uart编解码结构及方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101442318A (zh) * | 2008-11-06 | 2009-05-27 | 上海交通大学 | 基于近似下三角结构校验矩阵的低时延ira码编码器 |
US7810017B2 (en) * | 2006-03-20 | 2010-10-05 | Micron Technology, Inc. | Variable sector-count ECC |
CN101951265A (zh) * | 2010-09-13 | 2011-01-19 | 珠海全志科技有限公司 | 二进制bch码在解码中计算错误位置多项式的方法和装置 |
CN102045073A (zh) * | 2009-10-26 | 2011-05-04 | 成都市华为赛门铁克科技有限公司 | 一种bch码译码方法和装置 |
US8065598B1 (en) * | 2007-02-08 | 2011-11-22 | Marvell International Ltd. | Low latency programmable encoder with outer systematic code and low-density parity-check code |
CN103138770A (zh) * | 2010-01-12 | 2013-06-05 | 北京忆恒创源科技有限公司 | 有限域平方计算电路 |
CN103346805A (zh) * | 2013-05-31 | 2013-10-09 | 中国科学院自动化研究所 | 一种长bch码的译码系统及方法 |
CN103560797A (zh) * | 2013-10-18 | 2014-02-05 | 烽火通信科技股份有限公司 | 超强前向纠错五次迭代译码的方法及装置 |
-
2014
- 2014-04-30 CN CN201410182992.4A patent/CN103944589B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7810017B2 (en) * | 2006-03-20 | 2010-10-05 | Micron Technology, Inc. | Variable sector-count ECC |
US8065598B1 (en) * | 2007-02-08 | 2011-11-22 | Marvell International Ltd. | Low latency programmable encoder with outer systematic code and low-density parity-check code |
CN101442318A (zh) * | 2008-11-06 | 2009-05-27 | 上海交通大学 | 基于近似下三角结构校验矩阵的低时延ira码编码器 |
CN102045073A (zh) * | 2009-10-26 | 2011-05-04 | 成都市华为赛门铁克科技有限公司 | 一种bch码译码方法和装置 |
CN103138770A (zh) * | 2010-01-12 | 2013-06-05 | 北京忆恒创源科技有限公司 | 有限域平方计算电路 |
CN101951265A (zh) * | 2010-09-13 | 2011-01-19 | 珠海全志科技有限公司 | 二进制bch码在解码中计算错误位置多项式的方法和装置 |
CN103346805A (zh) * | 2013-05-31 | 2013-10-09 | 中国科学院自动化研究所 | 一种长bch码的译码系统及方法 |
CN103560797A (zh) * | 2013-10-18 | 2014-02-05 | 烽火通信科技股份有限公司 | 超强前向纠错五次迭代译码的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103944589A (zh) | 2014-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102170327B (zh) | 超强前向纠错的硬件译码方法及装置 | |
CN105119694B (zh) | 一种计算高速网络中crc值的方法及系统 | |
CN101667887A (zh) | 编码方法及其装置、解码方法及其装置 | |
CN107239362B (zh) | 一种并行crc校验码的计算方法及系统 | |
CN101478314A (zh) | 一种里德-所罗门编码译码器及其译码的方法 | |
CN103944589B (zh) | 一种bch编码、解码方法及装置 | |
CN105322973B (zh) | 一种rs码编码器及编码方法 | |
CN102231631B (zh) | Rs编码器的编码方法及rs编码器 | |
CN101227194A (zh) | 用于并行bch编码的电路、编码器及方法 | |
CN114499767B (zh) | 一种数据传输系统及其rs编码装置和方法 | |
JPH09247000A (ja) | エラー訂正用シンドローム計算装置 | |
CN112468161B (zh) | 一种rs高速编码电路 | |
CN102970049A (zh) | 基于钱搜索算法和福尼算法的并行电路及rs译码电路 | |
CN114063973A (zh) | 伽罗华域乘法器及纠删编解码系统 | |
CN102523006A (zh) | 一种级联编码器及实现方法 | |
CN101296053A (zh) | 计算循环冗余校验码之方法及系统 | |
CN101692612B (zh) | 多规格里德-所罗门编解码方法、装置及系统 | |
CN102820892A (zh) | 一种用于并行bch编码的电路、编码器及方法 | |
WO2012167564A1 (zh) | 一种编码方法、译码方法及编码装置、译码装置 | |
US20190028120A1 (en) | Encoding Method, Encoder, And Decoder For Dynamic Power Consumption Control | |
US8972829B2 (en) | Method and apparatus for umbrella coding | |
CN101873143B (zh) | 一种rs纠错码解码器中的伴随式计算电路及其计算方法 | |
CN115632662A (zh) | 一种rs译码中的伴随式计算方法、装置、设备及介质 | |
JP3812983B2 (ja) | エラー評価多項式係数計算装置 | |
CN102546109A (zh) | 一种用于10g epon的rs解码装置及方法 |
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 |