CN103873071A - 一种前向纠错编码、译码方法和装置、通信设备及系统 - Google Patents

一种前向纠错编码、译码方法和装置、通信设备及系统 Download PDF

Info

Publication number
CN103873071A
CN103873071A CN201210527901.7A CN201210527901A CN103873071A CN 103873071 A CN103873071 A CN 103873071A CN 201210527901 A CN201210527901 A CN 201210527901A CN 103873071 A CN103873071 A CN 103873071A
Authority
CN
China
Prior art keywords
data
code word
interleaving
transmitted
block
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
Application number
CN201210527901.7A
Other languages
English (en)
Other versions
CN103873071B (zh
Inventor
程功宝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bowen School Dabeiwang Town Yongnian District Handan City
Guangdong Gaohang Intellectual Property Operation Co ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201210527901.7A priority Critical patent/CN103873071B/zh
Publication of CN103873071A publication Critical patent/CN103873071A/zh
Application granted granted Critical
Publication of CN103873071B publication Critical patent/CN103873071B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种前向纠错编码、译码方法和装置、通信设备及系统,属于通信技术领域。所述编码方法包括:获取第i行待传输数据,其中,i为任意值;对第i-1~i-h行编码后的待传输数据进行交织处理,得到第i行交织数据,其中,h≥2且h为整数;将第i行待传输数据与第i行交织数据拼接合并,得到第i行待编码数据;对第i行待编码数据进行BCH编码,得到第i行待编码数据对应的编码数据;采用第i行待编码数据对应的编码数据,填充第i行待传输数据的开销部分,得到第i行编码后的待传输数据,并发送第i行编码后的待传输数据。本发明的纠错能力强、处理时延短、实现代价低,可以满足需要高速传输的数据帧的要求。

Description

一种前向纠错编码、译码方法和装置、通信设备及系统
技术领域
本发明涉及通信技术领域,特别涉及一种前向纠错编码、译码方法和装置、通信设备及系统。
背景技术
FEC(Forward Error Correction,前向纠错)是一种差错控制方式,在信号被送入传输信道之前,预先按一定的算法对其进行编码处理,加入带有信号本身特征的冗余信息,然后将发送带有冗余信息的信号,接收端接收到带有冗余信息的信号之后,按照相应算法对接收到的信号进行译码,从而找出在传输过程中产生的错误码并将错误码进行纠正。因此,FEC技术提高了传输的可靠性,在长距离传输中应用广泛。
现有技术中存在一种采用级联BCH(Bose-Chaudhurl-Hocquenghem)编码的方式的FEC技术,级联BCH编码的方法具体包括:在发送端对OTUk(opticalchannel transport unit k,第k级光信道传输单元)数据帧采用BCH(n1,k1)编码,得到由外码构成的数据帧;对由外码构成的数据帧进行交织处理;对交织处理后的数据帧采用BCH(n2,k2)编码,得到由内码构成的数据帧;将由内码构成的数据帧在信道中传输。与该级联BCH编码方法对应的译码方法包括:在接收端对接收的数据帧采用BCH(n2,k2)译码;对译码后的数据帧进行解交织处理;对解交织处理后的数据帧采用BCH(n1,k1)译码,得到纠错后的OTUk数据帧。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
现有的FEC技术进行的是BCH级联编码,算法比较复杂,因此处理延时较长,实现代价较高,并且接收端在接收到级联编码后的数据时,1比特数据只能被1个码字纠错,纠错能力有限,不能满足高速传输的数据帧的要求。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种前向纠错编码、译码方法和装置、通信设备及系统。所述技术方案如下:
一方面,本发明实施例提供了一种前向纠错编码方法,所述方法包括:
获取第i行待传输数据,所述第i行待传输数据的数据结构包括有效净荷部分和开销部分,所述第i行待传输数据的所述开销部分为空,其中,i为任意值;
对第i-1~i-h行编码后的待传输数据进行交织处理,得到第i行交织数据,每行所述编码后的待传输数据的数据结构与所述待传输数据的数据结构相同,且每行所述编码后的待传输数据的所述开销部分填充有编码数据,其中,h≥2且h为整数;
将所述第i行待传输数据与所述第i行交织数据拼接合并,得到第i行待编码数据;
对所述第i行待编码数据进行BCH编码,得到所述第i行待编码数据对应的编码数据;
采用所述第i行待编码数据对应的编码数据,填充所述第i行待传输数据的所述开销部分,得到第i行编码后的待传输数据,并发送所述第i行编码后的待传输数据。
其中,所述对第i-1~i-h行编码后的待传输数据进行交织处理,包括:
对所述第i-1~i-h行编码后的待传输数据进行块交织,得到第i行块交织数据。
具体地,所述对所述第i-1~i-h行编码后的待传输数据进行块交织,包括:
将所述第i-1~i-h行编码后的待传输数据分别平均分成x个数据块,x=K×h,其中,K为正整数;
选取第i-j行编码后的待传输数据的第(k-1)h+j个数据块,作为所述第i行块交织数据的第(h-j)K+k个数据块,其中,j∈{a,1≤a≤h且a为整数},k∈{a,1≤a≤K且a为整数}。
进一步地,所述对第i-1~i-h行编码后的待传输数据进行交织处理,还包括:
在所述对所述第i-1~i-h行编码后的待传输数据进行块交织,得到第i行块交织数据之后,对所述第i行块交织数据进行比特交织。
具体地,所述对所述第i行块交织数据进行比特交织,包括:
对所述第i行块交织数据按码字进行拆分,所述码字的个数为m;
对所述码字进行比特交织,以使第s个码字的第p个比特为所述第i行块交织数据的第p个数据块的第q个比特,其中,p和q满足以下关系式:
q = ( s - 1 ) ^ ( p - 1 ) mod m + 1 p ∈ [ 1 , m - 1 ] ( s - 1 ) ^ p mod m + 1 p ∈ [ m , 2 m - 1 ] ( s - 1 ) ^ ( p + 1 ) mod m + 1 p ∈ [ 2 m , x ] ,
其中,s∈{a,1≤a≤m且a为整数},^为二进制异或运算。
其中,所述对所述第i行待编码数据进行BCH编码,包括:
对所述第i行待编码数据按码字进行拆分;
根据生成多项式G(x),对各个码字进行BCH编码,得到第i行待编码数据对应的编码数据;
其中,G(x)=M1(x)*M3(x)*M5(x)*…*M2*t-1(x)*CRC(x),t为一个码字中可以纠正的比特数,M1(x),M3(x),M5(x),…,M2*t-1(x)分别为以α135,…α2*t-1为根的多项式,α为P(x)的根,P(x)为GF(2N)域上的本原多项式,CRC(x)为循环冗余校验式,2N>n。
另一方面,本发明实施例还提供了一种前向纠错译码方法,所述方法包括:
接收第i行传输数据,所述第i行传输数据的数据结构包括有效净荷部分和开销部分,所述第i行传输数据的所述开销部分填充有编码数据,其中,i为任意值;
对第i-1~i-h行传输数据进行交织处理,得到第i行交织数据,其中,h≥2且h为整数;
将所述第i行传输数据与所述第i行交织数据拼接合并,得到第i行待译码数据;
对所述第i行待译码数据进行BCH译码。
其中,所述对第i-1~i-h行传输数据进行交织处理,包括:
对所述第i-1~i-h行传输数据进行块交织,得到第i行块交织数据。
具体地,所述对所述第i-1~i-h行传输数据进行块交织,包括:
将所述第i-1~i-h行传输数据分别平均分成x个数据块,x=K×h,其中,K为正整数;
选取第i-j行传输数据的第(k-1)h+j个数据块,作为所述第i行块交织数据的第(h-j)K+k个数据块,其中,j∈{a,1≤a≤h且a为整数},k∈{a,1≤a≤K且a为整数}。
进一步地,所述对第i-1~i-h行传输数据进行交织处理,还包括:
在所述对所述第i-1~i-h行传输数据进行块交织,得到第i行块交织数据之后,对所述第i行块交织数据进行比特交织。
具体地,所述对所述第i行块交织数据进行比特交织,包括:
对所述第i行块交织数据按码字进行拆分,所述码字的个数为m;
对所述码字进行比特交织,以使第s个码字的第p个比特为所述第i行块交织数据的第p个数据块的第q个比特,其中,p和q满足以下关系式:
q = ( s - 1 ) ^ ( p - 1 ) mod m + 1 p ∈ [ 1 , m - 1 ] ( s - 1 ) ^ p mod m + 1 p ∈ [ m , 2 m - 1 ] ( s - 1 ) ^ ( p + 1 ) mod m + 1 p ∈ [ 2 m , x ] ,
其中,s∈{a,1≤a≤m且a为整数},^为二进制异或运算。
其中,所述对所述第i行待译码数据进行BCH译码,包括:
对所述第i行待译码数据按码字进行拆分;
求各个所述码字的伴随式;
根据所述伴随式计算所述码字中的误码位置,得到所述码字的误码位置信息;
根据所述码字的误码位置信息对所述码字进行纠错;
当被纠错的码字对应的所述误码位置出现在所述第i行待译码数据中的所述第i行交织数据中时,根据交织对应关系,对所述第i-1~i-h行待译码数据的码字中与被纠错的比特对应的比特进行纠错;
当被纠错的码字对应的所述误码位置出现在所述第i行待译码数据中的所述第i行传输数据中时,根据交织对应关系,获得第i+1~i+h行待译码数据对应的附加误码位置信息,以采用所述附加误码位置信息更新所述第i+1~i+h行待译码数据的误码位置信息。
具体地,所述求各个所述码字的伴随式,包括:
用M1(x)*M3(x)*M5(x)*…*M2*t-1(x)除各个所述码字,得到与所述码字对应的余式;
将所述余式转换到GF(2N)域,得到所述码字的伴随式;
其中,t为一个码字中可以纠正的比特数,M1(x),M3(x),M5(x),…,M2*t-1(x)分别为以α135,…α2*t-1为根的多项式,α为P(x)的根,P(x)为GF(2N)域上的本原多项式,2N>n。
具体地,所述根据所述码字的误码位置信息对所述码字进行纠错,包括:
将所述码字中,与所述码字的误码位置信息中表示误码位置的比特对应的比特取反。
进一步地,所述方法还包括:
在所述对所述第i行待译码数据进行BCH译码之后,按照j逐渐增大的方式,依次对第i-j行待译码数据进行BCH译码,其中,j∈{a,1≤a≤N且a为整数},N≥1且N为整数。
优选地,在所述根据所述码字的误码位置信息对所述码字进行纠错之后,在所述对所述第i-1~i-h行待译码数据的码字中与被纠错的比特对应的比特进行纠错和所述获得第i+1~i+h行待译码数据对应的附加误码位置信息之前,所述方法还包括:
对纠错后的码字进行循环冗余校验;
若所述纠错后的码字不能通过所述循环冗余校验,则取消对所述码字进行的纠错。
具体地,所述对纠错后的码字进行循环冗余校验,包括:
计算所述纠错后的码字对应的循环冗余校验值;
若所述循环冗余校验值为0,则所述纠错后的码字通过所述循环冗余校验;
若所述循环冗余校验值不为0,则所述纠错后的码字不能通过所述循环冗余校验。
又一方面,本发明实施例还提供了一种前向纠错编码装置,所述装置包括:
获取模块,用于获取第i行待传输数据,所述第i行待传输数据的数据结构包括有效净荷部分和开销部分,所述第i行待传输数据的所述开销部分为空,其中,i为任意值;
交织模块,用于对第i-1~i-h行编码后的待传输数据进行交织处理,得到第i行交织数据,每行所述编码后的待传输数据的数据结构与所述待传输数据的数据结构相同,且每行所述编码后的待传输数据的所述开销部分填充有编码数据,其中,h≥2且h为整数;
合并模块,用于将所述获取模块获取的所述第i行待传输数据与所述交织模块得到的所述第i行交织数据拼接合并,得到第i行待编码数据;
编码模块,用于对所述合并模块得到的所述第i行待编码数据进行BCH编码,得到所述第i行待编码数据对应的编码数据;
发送模块,用于采用所述编码模块得到的所述第i行待编码数据对应的编码数据,填充所述第i行待传输数据的所述开销部分,得到第i行编码后的待传输数据,并发送所述第i行编码后的待传输数据。
其中,所述交织模块包括:
块交织单元,用于对所述第i-1~i-h行编码后的待传输数据进行块交织,得到第i行块交织数据。
具体地,所述块交织单元用于,
将所述第i-1~i-h行编码后的待传输数据分别平均分成x个数据块,x=K×h,其中,K为正整数;
选取第i-j行编码后的待传输数据的第(k-1)h+j个数据块,作为所述第i行块交织数据的第(h-j)K+k个数据块,其中,j∈{a,1≤a≤h且a为整数},k∈{a,1≤a≤K且a为整数}。
进一步地,所述交织模块还包括:
比特交织单元,用于在所述块交织单元对所述第i-1~i-h行编码后的待传输数据进行块交织,得到第i行块交织数据之后,对所述第i行块交织数据进行比特交织。
具体地,所述比特交织单元用于,
对所述第i行块交织数据按码字进行拆分,所述码字的个数为m;
对所述码字进行比特交织,以使第s个码字的第p个比特为所述第i行块交织数据的第p个数据块的第q个比特,其中,p和q满足以下关系式:
q = ( s - 1 ) ^ ( p - 1 ) mod m + 1 p ∈ [ 1 , m - 1 ] ( s - 1 ) ^ p mod m + 1 p ∈ [ m , 2 m - 1 ] ( s - 1 ) ^ ( p + 1 ) mod m + 1 p ∈ [ 2 m , x ] ,
其中,s∈{a,1≤a≤m且a为整数,^为二进制异或运算。
其中,所述编码模块用于,
对所述第i行待编码数据按码字进行拆分;
根据生成多项式G(x),对各个码字进行BCH编码,得到第i行待编码数据对应的编码数据;
其中,G(x)=M1(x)*M3(x)*M5(x)*…M2*t-1(x)*CRC(x),t为一个码字中可以纠正的比特数,M1(x),M3(x),M5(x),…,M2*t-1(x)分别为以α135,…α2*t-1为根的多项式,α为P(x)的根,P(x)为GF(2N)域上的本原多项式,CRC(x)为循环冗余校验式,2N>n。
又一方面,本发明实施例还提供了一种前向纠错译码装置,所述装置包括:
接收模块,用于接收第i行传输数据,所述第i行传输数据的数据结构包括有效净荷部分和开销部分,所述第i行传输数据的所述开销部分填充有编码数据,其中,i为任意值;
交织模块,用于对第i-1~i-h行传输数据进行交织处理,得到第i行交织数据,其中,h≥2且h为整数;
合并模块,用于将所述接收模块接收的所述第i行传输数据与所述交织模块得到的所述第i行交织数据拼接合并,得到第i行待译码数据;
译码模块,用于对所述合并模块得到的所述第i行待译码数据进行BCH译码。
其中,所述交织模块包括:
块交织单元,用于对所述第i-1~i-h行传输数据进行块交织,得到第i行块交织数据。
具体地,所述块交织单元用于,
将所述第i-1~i-h行传输数据分别平均分成x个数据块,x=K×h,其中,K为正整数;
选取第i-j行传输数据的第(k-1)h+j个数据块,作为所述第i行块交织数据的第(h-j)K+k个数据块,其中,j∈{a,1≤a≤h且a为整数},k∈{a,1≤a≤K且a为整数}。
进一步地,所述交织模块还包括:
比特交织单元,用于在所述块交织单元对所述第i-1~i-h行传输数据进行块交织,得到第i行块交织数据之后,对所述第i行块交织数据进行比特交织。
具体地,所述比特交织单元用于,
对所述第i行块交织数据按码字进行拆分,所述码字的个数为m;
对所述码字进行比特交织,以使第s个码字的第p个比特为所述第i行块交织数据的第p个数据块的第q个比特,其中,p和q满足以下关系式:
q = ( s - 1 ) ^ ( p - 1 ) mod m + 1 p ∈ [ 1 , m - 1 ] ( s - 1 ) ^ p mod m + 1 p ∈ [ m , 2 m - 1 ] ( s - 1 ) ^ ( p + 1 ) mod m + 1 p ∈ [ 2 m , x ] ,
其中,s∈{a,1≤a≤m且a为整数},^为二进制异或运算。
其中,所述译码模块包括:
拆分单元,用于对所述第i行待译码数据按码字进行拆分;
伴随式计算单元,用于求所述拆分单元得到的各个所述码字的伴随式;
误码位置计算单元,用于根据所述伴随式计算单元得到的所述伴随式计算所述码字中的误码位置,得到所述码字的误码位置信息;
纠错单元,用于根据所述误码位置计算单元得到的所述码字的误码位置信息对所述码字进行纠错,当被纠错的码字对应的所述误码位置出现在所述第i行待译码数据中的所述第i行交织数据中时,根据交织对应关系,对所述第i-1~i-h行待译码数据的码字中与被纠错的比特对应的比特进行纠错,当被纠错的码字对应的所述误码位置出现在所述第i行待译码数据中的所述第i行传输数据中时,根据交织对应关系,获得第i+1~i+h行待译码数据对应的附加误码位置信息,以采用所述附加误码位置信息更新所述第i+1~i+h行待译码数据的误码位置信息。
具体地,所述伴随式计算单元用于,
用M1(x)*M3(x)*M5(x)*…*M2*t-1(x)除各个所述码字,得到与所述码字对应的余式;
将所述余式转换到GF(2N)域,得到所述码字的伴随式;
其中,t为一个码字中可以纠正的比特数,M1(x),M3(x),M5(x),…,M2*t-1(x)分别为以α135,…α2*t-1为根的多项式,α为P(x)的根,P(x)为GF(2N)域上的本原多项式,2N>n。
具体地,所述纠错单元用于,
将所述码字中,与所述码字的误码位置信息中表示误码位置的比特对应的比特取反。
进一步地,所述译码模块还用于,
在所述译码模块对所述第i行待译码数据进行BCH译码之后,按照j逐渐增大的方式,依次对第i-j行待译码数据进行BCH译码,其中,j∈{a,1≤a≤N且a为整数},N≥1且N为整数。
优选地,所述装置还包括:
校验模块,用于在所述纠错单元根据所述码字的误码位置信息对所述码字进行纠错之后,在所述纠错单元对所述第i-1~i-h行待译码数据的码字中与被纠错的比特对应的比特进行纠错和获得第i+1~i+h行待译码数据对应的附加误码位置信息之前,对纠错后的码字进行循环冗余校验;若所述纠错后的码字不能通过所述循环冗余校验,则取消对所述码字进行的纠错。
具体地,所述校验模块包括:
校验值计算单元,用于计算所述纠错后的码字对应的循环冗余校验值;
判断单元,用于对所述校验值计算单元得到的所述循环冗余校验值进行判断,若所述循环冗余校验值为0,则所述纠错后的码字通过所述循环冗余校验;若所述循环冗余校验值不为0,则所述纠错后的码字不能通过所述循环冗余校验。
又一方面,本发明实施例还提供了一种通信设备,所述设备包括前述编码装置和译码装置。
又一方面,本发明实施例还提供了一种通信系统,所述系统包括至少两个前述通信设备。
本发明实施例提供的技术方案带来的有益效果是:
通过对第i-1~i-h行编码后的待传输数据进行交织处理,得到第i行交织数据,并对第i行待传输数据与第i行交织数据合并后的第i行待编码数据进行BCH编码,与现有技术中仅对待传输数据进行BCH编码相比,码长增大了一倍,由于BCH编码中,码长越长,纠错能力越长,因此,对合并后得到的第i行待编码数据进行BCH编码,可以有效提高编码增益,降低错误平层,从而提高FEC的纠错能力,进而提高传输距离。同时,由于第i行待编码数据由第i行交织数据和第i行待传输数据合并而成,使得编码数据可以同时指示待传输数据和交织数据中的误码位置,在译码时,对同一行数据来说,误码位置可以从待传输数据和交织数据两处得到,进一步提高了FEC的净编码增益和纠错能力。并且,由于在BCH编码完成后,仅发送编码后的待传输数据(填充编码数据的待传输数据),因此可以在提高纠错能力的情况下,保证传输带宽不变。此外,本发明实施例只进行了一次BCH编码,算法简单,因此处理时延时较短、实现代价较低。综上所述,本发明实施例的纠错能力强、处理时延短、实现代价低,可以满足需要高速传输的数据帧的要求。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种前向纠错编码方法的流程图;
图2是本发明实施例二提供的一种前向纠错编码方法的流程图;
图3是本发明实施例二提供的待传输数据的数据结构示意图;
图4是本发明实施例二提供的块交织的示意图;
图5是本发明实施例二提供的比特交织中的码字拆分的示意图;
图6是本发明实施例二提供的第i行待编码数据的结构示意图;
图7是本发明实施例三提供的一种前向纠错译码方法的流程图;
图8是本发明实施例四提供的一种前向纠错译码方法的流程图;
图9是本发明实施例四提供的递归译码的结构示意图;
图10是本发明实施例五提供的一种前向纠错编码装置的结构示意图;
图11是本发明实施例六提供的一种前向纠错编码装置的结构示意图;
图12是本发明实施例七提供的一种前向纠错译码装置的结构示意图;
图13是本发明实施例八提供的一种前向纠错译码装置的结构示意图;
图14是本发明实施例九提供的一种通信设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本发明实施例一提供了一种前向纠错编码方法,参见图1,该方法包括:
步骤101:获取第i行待传输数据,第i行待传输数据的数据结构包括有效净荷部分和开销部分,第i行待传输数据的开销部分为空,其中,i为任意值。
其中,在待传输数据中,该有效净荷部分中填充的是没有进行编码的原始数据,该开销部分用于填充编码数据。
另外,容易知道,i为正整数。
步骤102:对第i-1~i-h行编码后的待传输数据进行交织处理,得到第i行交织数据,每行编码后的待传输数据的数据结构与待传输数据的数据结构相同,且每行编码后的待传输数据的开销部分填充有编码数据,其中,h≥2且h为整数。
具体地,以第i-1行为例,第i-1行编码后的待传输数据是指将第i-1行待传输数据的开销部分填充编码数据后得到的待传输数据。
步骤103:将第i行待传输数据与第i行交织数据拼接合并,得到第i行待编码数据。
优选地,第i行待编码数据的前半部分为第i行交织数据,第i行待编码数据的后半部分为第i行待传输数据。
容易知道,第i行待编码数据的前半部分也可以为第i行待传输数据,而第i行待编码数据的后半部分为第i行交织数据。
步骤104:对第i行待编码数据进行BCH编码,得到第i行待编码数据对应的编码数据。
步骤105:采用第i行待编码数据对应的编码数据,填充第i行待传输数据的开销部分,得到第i行编码后的待传输数据,并发送第i行编码后的待传输数据。
本发明实施例通过对第i-1~i-h行编码后的待传输数据进行交织处理,得到第i行交织数据,并对第i行待传输数据与第i行交织数据合并后的第i行待编码数据进行BCH编码,与现有技术中仅对待传输数据进行BCH编码相比,码长增大了一倍,由于BCH编码中,码长越长,纠错能力越长,因此,对合并后得到的第i行待编码数据进行BCH编码,可以有效提高编码增益,降低错误平层,从而提高FEC的纠错能力,进而提高传输距离。同时,由于第i行待编码数据由第i行交织数据和第i行待传输数据合并而成,使得编码数据可以同时指示待传输数据和交织数据中的误码位置,在译码时,对同一行数据来说,误码位置可以从待传输数据和交织数据两处得到,进一步提高了FEC的净编码增益和纠错能力。并且,由于在BCH编码完成后,仅发送编码后的待传输数据(填充编码数据的待传输数据),因此可以在提高纠错能力的情况下,保证传输带宽不变。此外,本发明实施例只进行了一次BCH编码,算法简单,因此处理时延时较短、实现代价较低。综上所述,本发明实施例的纠错能力强、处理时延短、实现代价低,可以满足需要高速传输的数据帧的要求。
实施例二
本发明实施例二提供了一种前向纠错编码方法,参见图2,该方法包括:
步骤201:获取第i行待传输数据,其中,i为任意值。
具体地,该待传输数据的数据结构如图3所示,包括有效净荷部分和开销部分,该待传输数据的开销部分为空。该有效净荷部分中填充的是没有进行编码的原始数据,该开销部分用于填充编码数据。
通常,待传输数据以帧为单位进行传输,一帧包括多行数据,每帧所包含数据的行数由帧结构决定。比如,对于OTU2帧而言,每帧包括4行数据。
步骤202:对第i-1~i-h行编码后的待传输数据进行块交织,得到第i行块交织数据,h≥2且h为整数。
其中,编码后的待传输数据的数据结构与待传输数据的数据结构相同,且编码后的待传输数据的开销部分填充有编码数据。以第i-1行为例,第i-1行编码后的待传输数据是指将第i-1行待传输数据的开销部分填充编码数据后得到的待传输数据。
具体地,h的取值可以根据实际需要设置,优选为8。
优选地,该步骤202包括:
步骤202a:将第i-1~i-h行编码后的待传输数据分别平均分成x个数据块,x=K×h,其中,K为正整数。
具体地,每行编码后的待传输数据被分成x个数据块后,每个数据块的大小均为M bit(比特),M≥1。
步骤202b:选取第i-j行编码后的待传输数据的第(k-1)h+j个数据块,作为第i行块交织数据的第(h-j)K+k个数据块,其中,j∈{a,1≤a≤h且a为整数},k∈{a,1≤a≤K且a为整数}。
具体地,如图4所示,该步骤202b包括:
将第i-h行编码后的待传输数据的第h个数据块作为第i行块交织数据的第1个数据块,第i-h行编码后的待传输数据的第2h个数据块作为第i行块交织数据的第2个数据块,…第i-h行编码后的待传输数据的第Kh个数据块作为第i行块交织数据的第K个数据块;
第i-h+1行编码后的待传输数据的第h-1个数据块作为块交织后的第i行数据的第K+1个数据块,第i-h+1行编码后的待传输数据的第2h-1个数据块作为块交织后第i行数据的第K+2个数据块,...第i-h+1行编码后的待传输数据的第Kh-1个数据块作为块交织后的第i行数据的第2K个数据块;
直到第i行编码后的待传输数据的第1个数据块作为块交织后的第i行数据的第K(h-1)+1个数据块,第i行编码后的待传输数据的第h+1个数据块作为块交织后的第i行数据的第K(h-1)+2个数据块,...第i行编码后的待传输数据的第(K-1)h+1个数据块作为块交织后的第i行数据的第Kh个数据块。
更具体地,以h=8,i=9,x=64,K=8为例,该步骤202b包括:
将第1行编码后的待传输数据的第8个数据块作为块交织后的第9行数据的第1个数据块,第1行编码后的待传输数据的第16个数据块作为块交织后的第9行数据的第2个数据块,…第1行编码后的待编码数据的第64个数据块作为块交织后的第9行数据的第8个数据块;
第2行编码后的待传输数据的第7个数据块作为块交织后的第9行数据的第9个数据块,第2行编码后的待传输数据的第15个数据块作为块交织后的第9行数据的第10个数据块,...第2行编码后的待传输数据的第63个数据块作为块交织后的第9行数据的第16个数据块;
直到第8行编码后的待传输数据的第1个数据块作为块交织后的第9行数据的第57个数据块,第8行编码后的待传输数据的第9个数据块作为块交织后的第9行数据的第58个数据块,…第8行编码后的待传输数据的第57个数据块作为块交织后的第9行数据的第64个数据块。
可选地,在另一实施例中,该步骤202可以包括:
202a’:将第i-1~i-h行编码后的待传输数据分别平均分成x个数据块,x=K×h,其中,K为正整数。
具体地,每行编码后的待传输数据被分成x个数据块后,每个数据块的大小均为M bit,M≥1。
202b’:选取第i-j行编码后的待传输数据的第(k-1)h+j个数据块,作为第i行块交织数据的第(k-1)h+j个数据块,其中,j∈{a,1≤a≤h且a为整数},k∈{a,1≤a≤K且a为整数}。
具体地,该步骤202b’包括:
将第i-1行编码后的待传输数据的第1个数据块作为第i行块交织数据的第1个数据块,第i-2行编码后的待传输数据的第2个数据块作为第i行块交织数据的第2个数据块,…第i-h行编码后的待传输数据的第h个数据块作为第i行块交织数据的第h个数据块;
第i-1行编码后的待编码数据的第h+1个数据块作为第i行块交织数据的第h+1个数据块,第i-2行编码后的待编码数据的第h+2个数据块作为第i行块交织数据的第h+2个数据块,…第i-h行编码后的待传输数据的第2h个数据块作为第i行块交织数据的第2h个数据块;
直到第i-1行编码后的待编码数据的第(K-1)h+1个数据块作为第i行块交织数据的第(K-1)h+1个数据块,第i-2行编码后的待编码数据的第(K-1)h+2个数据块作为第i行块交织数据的第(K-1)h+2个数据块,…第i-h行编码后的待传输数据的第Kh个数据块作为第i行块交织数据的第Kh块。
更具体地,以h=8,i=9,x=64,K=8为例,该步骤202b’包括:
将第8行编码后的待传输数据的第1个数据块作为块交织后的第9行数据的第1个数据块,第7行编码后的待传输数据的第2个数据块作为块交织后的第9行数据的第2个数据块,…第1行编码后的待编码数据的第8个数据块作为块交织后的第9行数据的第8个数据块;
第8行编码后的待传输数据的第9个数据块作为块交织后的第9行数据的第9个数据块,第7行编码后的待传输数据的第10个数据块作为块交织后的第9行数据的第10个数据块,...第1行编码后的待传输数据的第16个数据块作为块交织后的第9行数据的第16个数据块;
直到第8行编码后的待传输数据的第57个数据块作为块交织后的第9行数据的第57个数据块、第7行编码后的待传输数据的第58个数据块作为块交织后的第9行数据的第58个数据块,…第1行编码后的待传输数据的第64个数据块作为块交织后的第9行数据的第64个数据块。
需要说明的是,当获取的第i行待传输数据为第1~h行待传输数据时,采用预设数据作为第i-1~i-h行编码后的待传输数据,该预设数据可以为随机数据,也可以为预先赋值的数据(比如全部赋值为0)。
步骤203:对第i行块交织数据进行比特交织,得到第i行交织数据。
具体地,该步骤203包括:
203a:对第i行块交织数据按码字进行拆分,码字的个数为m。
具体地,参见图5,第i行块交织数据拆分为m个码字,第i行块交织数据的第s个码字由第i行块交织数据的每个数据块的第s个bit数据组成,s∈{a,1≤a≤m且a为整数}。
优选地,在本实施例中,m=M。
203b:对m个码字进行比特交织,以使第s个码字的第p个bit为第i行块交织数据的第p个数据块的第q个bit,其中,p和q满足以下关系式:
q = ( s - 1 ) ^ ( p - 1 ) mod m + 1 p ∈ [ 1 , m - 1 ] ( s - 1 ) ^ p mod m + 1 p ∈ [ m , 2 m - 1 ] ( s - 1 ) ^ ( p + 1 ) mod m + 1 p ∈ [ 2 m , x ]
其中,s∈{a,1≤a≤m且a为整数},^为二进制异或运算。
采用比特交织可以使误码率均匀化,有效提高FEC的纠错性能。
通过上述步骤202~203完成了对第i-1~i-h行编码后的待传输数据进行交织处理的步骤。在本实施例中,为了进一步提高编码算法的可靠性,采用了块交织与比特交织结合交织处理方法,而在其它实施例中,交织处理也可以仅采用块交织来实现。
步骤204:将第i行待传输数据与第i行交织数据拼接合并,得到第i行待编码数据。
优选地,参见图6,将第i行待传输数据与第i行交织数据拼接合并为将第i行待传输数据加到第i行交织数据的后面,成为第i行待编码数据。此时,第i行待编码数据的前半部分为第i行交织数据,第i行待编码数据的后半部分为第i行待传输数据。
可选地,将第i行待传输数据与第i行交织数据拼接合并为将第i行交织数据加到第i行待传输数据的后面,成为第i行待编码数据。此时,第i行待编码数据的前半部分为第i行待传输数据,第i行待编码数据的后半部分为第i行交织数据。
步骤205:对第i行待编码数据进行BCH编码,得到第i行待编码数据对应的编码数据。
具体地,该步骤205包括:
205a:对第i行待编码数据按码字进行拆分。
具体地,该步骤205a包括:
将第i行待编码数据拆分为m个码字,以第i行待编码数据的第r个bit作为第r mod m码字的第
Figure BDA00002556047500161
个bit,其中,1≤r≤2x×M。
在具体实现中,可以采用以下方式实现步骤205a:
以待编码数据的第1个bit作为第1个码字的第1个bit,待编码数据的第2个bit作为第2个码字的第1个bit,…待编码数据的第m个bit作为第m个码字的第1个bit;
待编码数据的第(m+1)个bit作为第1个码字的第2个bit,待编码数据的第(m+2)个bit作为第2个码字的第2个bit,…待编码数据的第2m个bit作为第m个码字的第2个bit;
直到待编码数据的第(2x-1)m+1个bit作为第1个码字的第2x个bit,待编码数据的第(2x-1)m+2个bit作为第2个码字的第2x个bit,…待编码数据的第2xm个bit作为第m个码字的第2x个bit。
205b:根据生成多项式G(x),对各个码字进行BCH编码,得到第i行待编码数据对应的编码数据。
优选地,在本实施例中,G(x)=M1(x)*M3(x)*M5(x)*…M2*t-1(x)*CRC(x),t为一个码字中可以纠正的比特数,M1(x),M3(x),M5(x),…,M2*t-1(x)分别为以α135,…α2*t-1为根的多项式,α为P(x)的根,P(x)为GF(2N)域上的本原多项式,CRC(x)为CRC(Cyclic Redundancy Check,循环冗余校验)校验式,2N>n。
进一步地,在具体实现中,可以采用CRC(x)=x2+1。
步骤206:采用第i行待编码数据对应的编码数据,填充第i行待传输数据的开销部分,得到第i行编码后的待传输数据,并发送第i行编码后的待传输数据。
本发明实施例通过对第i-1~i-h行编码后的待传输数据进行交织处理,得到第i行交织数据,并对第i行待传输数据与第i行交织数据合并后的第i行待编码数据进行BCH编码,与现有技术中,仅对待传输数据进行BCH编码相比,码长增大了一倍,由于BCH编码中,码长越长,纠错能力越长,因此,对合并后得到的第i行待编码数据进行BCH编码,可以有效提高编码增益,降低错误平层,从而提高FEC的纠错能力,进而提高传输距离。同时,由于第i行待编码数据由第i行交织数据和第i行待传输数据合并而成,使得编码数据可以同时指示待传输数据和交织数据中的误码位置,在译码时,对同一行数据来说,误码位置可以从待传输数据和交织数据两处得到,进一步提高了FEC的净编码增益和纠错能力。并且,由于在BCH编码完成后,仅发送编码后的待传输数据(填充编码数据的待传输数据),因此可以在提高纠错能力的情况下,保证传输带宽不变。此外,本发明实施例只进行了一次BCH编码,算法简单,因此处理时延时较短、实现代价较低。综上所述,本发明实施例的纠错能力强、处理时延短、实现代价低,可以满足需要高速传输的数据帧的要求。另外,本发明实施例采用了块交织与比特交织相结合,对第i-1~i-h行编码后的待传输数据进行交织处理,可以进一步提高纠错能力。最后,由于本发明实施例在BCH码的生成多项式中添加了CRC校验式,所以在译码时,可以通过该CRC校验式来检验纠错的可靠性,从而进一步提高纠错的可靠性。
实施例三
本发明实施例三提供了一种前向纠错译码方法,该方法与实施例一提供的前向纠错编码方法相对应,参见图7,该方法包括:
步骤301:接收第i行传输数据,第i行传输数据的数据结构包括有效净荷部分和开销部分,第i行传输数据的开销部分填充有编码数据,其中,i为任意值。
具体地,该传输数据的数据结构与实施例一中的待传输数据的数据结构相同,在此不再详述。
步骤302:对第i-1~i-h行传输数据进行交织处理,得到第i行交织数据,其中,h≥2且h为整数。
步骤303:将第i行传输数据与第i行交织数据拼接合并,得到第i行待译码数据。
优选地,第i行待译码数据的前半部分为第i行交织数据,第i行待译码数据的后半部分为第i行传输数据。
可选地,在其它实施例中,第i行待译码数据的前半部分为第i行传输数据,第i行待译码数据的后半部分为第i行交织数据。
步骤304:对第i行待译码数据进行BCH译码。
本发明实施例通过对第i-1~i-h行编码后的待传输数据进行交织处理,得到第i行交织数据,并对第i行待传输数据与第i行交织数据合并后的第i行待编码数据进行BCH编码,与现有技术中仅对待传输数据进行BCH编码相比,码长增大了一倍,由于BCH编码中,码长越长,纠错能力越长,因此,对合并后得到的第i行待编码数据进行BCH编码,可以有效提高编码增益,降低错误平层,从而提高FEC的纠错能力,进而提高传输距离。同时,由于第i行待编码数据由第i行交织数据和第i行待传输数据合并而成,使得编码数据可以同时指示待传输数据和交织数据中的误码位置,在译码时,对同一行数据来说,误码位置可以从待传输数据和交织数据两处得到,进一步提高了FEC的净编码增益和纠错能力。并且,由于在BCH编码完成后,仅发送编码后的待传输数据(填充编码数据的待传输数据),因此可以在提高纠错能力的情况下,保证传输带宽不变。此外,本发明实施例只进行了一次BCH编码,算法简单,因此处理时延时较短、实现代价较低。综上所述,本发明实施例的纠错能力强、处理时延短、实现代价低,可以满足需要高速传输的数据帧的要求。
实施例四
本发明实施例四提供了一种前向纠错译码方法,该方法与实施例二提供的前向纠错编码方法相对应,参见图8,该方法包括:
步骤401:接收第i行传输数据,第i行传输数据的数据结构包括有效净荷部分和开销部分,第i行传输数据的开销部分填充有编码数据,其中,i为任意值。
具体地,该传输数据的数据结构与实施例二中的待传输数据的数据结构相同,在此不再详述。
步骤402:对第i-1~i-h行传输数据进行交织处理,得到第i行交织数据,其中,h≥2且h为整数。
具体地,对第i-1~i-h行传输数据进行交织处理,包括:
对第i-1~i-h行传输数据进行块交织,得到第i行块交织数据。
具体地,对第i-1~i-h行传输数据进行块交织的过程与实施例二中的步骤202相同,在此不再详述。
进一步地,对第i-1~i-h行传输数据进行交织处理,还包括:
对第i行块交织数据进行比特交织,得到第i行交织数据。
具体地,对第i行块交织数据进行比特交织的过程与实施例二中的步骤203相同,在此不再详述。
步骤403:将第i行传输数据与第i行交织数据拼接合并,得到第i行待译码数据。
优选地,第i行待译码数据的前半部分为第i行交织数据,第i行待译码数据的后半部分为第i行传输数据。
可选地,在其它实施例中,第i行待译码数据的前半部分为第i行传输数据,第i行待译码数据的后半部分为第i行交织数据。
具体地,将第i行传输数据与第i行交织数据拼接合并的过程与实施例二中的步骤204相同,待译码数据的数据结构与实施例二中的待编码数据的数据结构相同,在此不再详述。
步骤404:对第i行待译码数据进行BCH译码。
具体地,该步骤404包括:
步骤4041:对第i行待译码数据按码字进行拆分。
具体地,对第i行待译码数据按码字进行拆分的过程与实施例二中的步骤205a相同,在此不再详述。
步骤4042:求各个码字的伴随式S(x)。
具体地,该步骤4042包括:
步骤4042a:用M1(x)*M3(x)*M5(x)*…*M2*t-1(x)除各个码字,得到与各个码字对应的余式;
步骤4042b:将余式转换到GF(2N)域,得到码字的伴随式S(x)。
其中,t为一个码字中可以纠正的比特数,M1(x),M3(x),M5(x),…,M2*t-1(x)分别为以α135,…α2*t-1为根的多项式,α为P(x)的根,P(x)为GF(2N)域上的本原多项式,2N>n。
步骤4043:根据伴随式S(x)计算码字中的误码位置,得到码字的误码位置信息。
具体地,该步骤4043包括:根据码字的伴随式S(x)计算出码字的误码位置方程σ(x),根据码字的误码位置方程σ(x)计算出码字中的误码位置。此为本领域现有技术,在此省略详细描述。
进一步地,该误码位置信息的长度与码长相同,通常由0、1组成,采用1表示码字中的误码位置。
步骤4044:根据码字的误码位置信息对该码字进行纠错。
具体地,将该码字中,与该码字的误码位置信息中表示误码位置的比特(如1)对应的比特取反。
步骤4045:对纠错后的码字进行CRC校验;若纠错后的码字不能通过CRC校验,则取消对该码字进行的纠错。
具体地,该步骤4045包括:
第一步:计算纠错后的码字对应的CRC校验值。
具体地,计算CRC校验值为用CRC(x)除各个码字,其中CRC(x)为CRC校验式。
在具体实现中,可以采用CRC(x)=x2+1。
第二步:若CRC校验值为0,则纠错后的码字通过CRC校验;若CRC校验值不为0,则纠错后的码字不能通过CRC校验。
容易知道,若纠错后的码字通过CRC校验,表示该码字被纠正为合法码字,执行步骤4046;若纠错后的码字不能通过CRC校验,则不执行步骤4046。
优选地,在纠错后的码字通过CRC校验之后,该方法还包括:输出误码位置信息,以便于后续伴随式更新以及纠错。
步骤4046:当被纠错的码字对应的误码位置出现在第i行待译码数据中的第i行交织数据中时,根据交织对应关系,对第i-1~i-h行待译码数据的码字中与被纠错的比特对应的比特进行纠错;当被纠错的码字对应的误码位置出现在第i行待译码数据中的第i行传输数据中时,根据交织对应关系,获得第i+1~i+h行待译码数据对应的附加误码位置信息,以采用附加误码位置信息更新第i+1~i+h行待译码数据的误码位置信息。
在具体实现中,在根据交织对应关系,对第i-1~i-h行待译码数据的码字中与被纠错的比特对应的比特进行纠错后,需要重新计算被纠错的比特所在的码字的伴随式。同样地,在采用附加误码位置信息更新第i+1~i+h行待译码数据的误码位置信息,并根据更新后的误码位置信息进行纠错后,也需要更新被纠错的比特所在的码字的伴随式。
需要说明的是,在其它实施例中,也可以不执行步骤4045,在执行完步骤4044后直接执行步骤4046。
优选地,该方法还包括步骤405:
在对第i行待译码数据进行BCH译码之后,按照j逐渐增大的方式,依次对第i-j行待译码数据进行BCH译码,其中,j∈{a,1≤a≤N且a为整数},N≥1且N为整数。
具体地,该步骤406的译码过程如图9所示,当完成第i行待译码数据的BCH译码后,根据第i-1行待译码数据中纠错后的各个码字进行第i-1行待译码数据的BCH译码;当完成第i-1行待译码数据的BCH译码后,根据第i-2行待译码数据中纠错后的各个码字进行第i-2行待译码数据的BCH译码;直至当完成第i-N+1行待译码数据的BCH译码后,根据第i-N行待译码数据中纠错后的各个码字进行第i-N行待译码数据的BCH译码;并将第i-N行译码后的传输数据作为最终的译码结果输出。
其中,N可以根据实际需要设置。
本发明实施例通过对第i-1~i-h行编码后的待传输数据进行交织处理,得到第i行交织数据,并对第i行待传输数据与第i行交织数据合并后的第i行待编码数据进行BCH编码,与现有技术中,仅对待传输数据进行BCH编码相比,码长增大了一倍,由于BCH编码中,码长越长,纠错能力越长,因此,对合并后得到的第i行待编码数据进行BCH编码,可以有效提高编码增益,降低错误平层,从而提高FEC的纠错能力,进而提高传输距离。同时,由于第i行待编码数据由第i行交织数据和第i行待传输数据合并而成,使得编码数据可以同时指示待传输数据和交织数据中的误码位置,在译码时,对同一行数据来说,误码位置可以从待传输数据和交织数据两处得到,进一步提高了FEC的净编码增益和纠错能力。并且,由于在BCH编码完成后,仅发送编码后的待传输数据(填充编码数据的待传输数据),因此可以在提高纠错能力的情况下,保证传输带宽不变。此外,本发明实施例只进行了一次BCH编码,算法简单,因此处理时延时较短、实现代价较低。综上所述,本发明实施例的纠错能力强、处理时延短、实现代价低,可以满足需要高速传输的数据帧的要求。另外,本发明实施例采用了块交织与比特交织相结合,对第i-1~i-h行编码后的待传输数据进行交织处理,可以进一步提高纠错能力。最后,由于本发明实施例在BCH码的生成多项式中添加了CRC校验式,所以在译码时,可以通过该CRC校验式来检验纠错的可靠性,从而进一步提高纠错的可靠性。
实施例五
参见图10,本发明实施例五提供了一种前向纠错编码装置,适用于实现实施例一提供的前向纠错编码方法,该装置包括:
获取模块501,用于获取第i行待传输数据,第i行待传输数据的数据结构包括有效净荷部分和开销部分,第i行待传输数据的开销部分为空,其中,i为任意值;
交织模块502,用于对第i-1~i-h行编码后的待传输数据进行交织处理,得到第i行交织数据,每行编码后的待传输数据的数据结构与待传输数据的数据结构相同,且每行编码后的待传输数据的开销部分填充有编码数据,其中,h≥2且h为整数;
合并模块503,用于将获取模块501获取的第i行待传输数据与交织模块502得到的第i行交织数据拼接合并,得到第i行待编码数据;
编码模块504,用于对合并模块503得到的第i行待编码数据进行BCH编码,得到第i行待编码数据对应的编码数据;
发送模块505,用于采用编码模块504得到的第i行待编码数据对应的编码数据,填充第i行待传输数据的开销部分,得到第i行编码后的待传输数据,并发送第i行编码后的待传输数据。
本发明实施例通过对第i-1~i-h行编码后的待传输数据进行交织处理,得到第i行交织数据,并对第i行待传输数据与第i行交织数据合并后的第i行待编码数据进行BCH编码,与现有技术中仅对待传输数据进行BCH编码相比,码长增大了一倍,由于BCH编码中,码长越长,纠错能力越长,因此,对合并后得到的第i行待编码数据进行BCH编码,可以有效提高编码增益,降低错误平层,从而提高FEC的纠错能力,进而提高传输距离。同时,由于第i行待编码数据由第i行交织数据和第i行待传输数据合并而成,使得编码数据可以同时指示待传输数据和交织数据中的误码位置,在译码时,对同一行数据来说,误码位置可以从待传输数据和交织数据两处得到,进一步提高了FEC的净编码增益和纠错能力。并且,由于在BCH编码完成后,仅发送编码后的待传输数据(填充编码数据的待传输数据),因此可以在提高纠错能力的情况下,保证传输带宽不变。此外,本发明实施例只进行了一次BCH编码,算法简单,因此处理时延时较短、实现代价较低。综上所述,本发明实施例的纠错能力强、处理时延短、实现代价低,可以满足需要高速传输的数据帧的要求。
实施例六
参见图11,本发明实施例六提供了一种前向纠错编码方法,适用于实现实施例二提供的前向纠错编码方法,该装置包括:
获取模块601,用于获取第i行待传输数据,第i行待传输数据的数据结构包括有效净荷部分和开销部分,第i行待传输数据的开销部分为空,其中,i为任意值;
交织模块602,用于对第i-1~i-h行编码后的待传输数据进行交织处理,得到第i行交织数据,每行编码后的待传输数据的数据结构与待传输数据的数据结构相同,且每行编码后的待传输数据的开销部分填充有编码数据,其中,h≥2且h为整数;
合并模块603,用于将获取模块601获取的第i行待传输数据与交织模块602得到的第i行交织数据拼接合并,得到第i行待编码数据;
编码模块604,用于对合并模块603得到的第i行待编码数据进行BCH编码,得到第i行待编码数据对应的编码数据;
发送模块605,用于采用编码模块604得到的第i行待编码数据对应的编码数据,填充第i行待传输数据的开销部分,得到第i行编码后的待传输数据,并发送第i行编码后的待传输数据。
其中,交织模块602包括:
块交织单元,用于对第i-1~i-h行编码后的待传输数据进行块交织,得到第i行块交织数据。
具体地,块交织单元用于,
将第i-1~i-h行编码后的待传输数据分别平均分成x个数据块,x=K×h,其中,K为正整数;
选取第i-j行编码后的待传输数据的第(k-1)h+j个数据块,作为第i行块交织数据的第(h-j-)K+k个数据块,其中,j∈{a,1≤a≤h且a为整数},k∈{a,1≤a≤K且a为整数}。
优选地,交织模块还包括:
比特交织单元,用于在块交织单元对第i-1~i-h行编码后的待传输数据进行块交织,得到第i行块交织数据之后,对第i行块交织数据进行比特交织。
具体地,比特交织单元用于,
对第i行块交织数据按码字进行拆分,码字的个数为m;
对码字进行比特交织,以使第s个码字的第p个比特为第i行块交织数据的第p个数据块的第q个比特,其中,p与q满足以下关系式:
q = ( s - 1 ) ^ ( p - 1 ) mod m + 1 p ∈ [ 1 , m - 1 ] ( s - 1 ) ^ p mod m + 1 p ∈ [ m , 2 m - 1 ] ( s - 1 ) ^ ( p + 1 ) mod m + 1 p ∈ [ 2 m , x ] ,
其中,s∈{a,1≤a≤m且a为整数},^为二进制异或运算。
其中,编码模块604用于,
对第i行待编码数据按码字进行拆分;
根据生成多项式G(x),对各个码字进行BCH编码,得到第i行待编码数据对应的编码数据;
其中,G(x)=M1(x)*M3(x)*M5(x)*…*M2*t-1(x)*CRC(x),t为一个码字中可以纠正的比特数,M1(x),M3(x),M5(x),…,M2*t-1(x)分别为以α135,…α2*t-1为根的多项式,α为P(x)的根,P(x)为GF(2N)域上的本原多项式,CRC(x)为循环冗余校验式,2N>n。
本发明实施例通过对第i-1~i-h行编码后的待传输数据进行交织处理,得到第i行交织数据,并对第i行待传输数据与第i行交织数据合并后的第i行待编码数据进行BCH编码,与现有技术中,仅对待传输数据进行BCH编码相比,码长增大了一倍,由于BCH编码中,码长越长,纠错能力越长,因此,对合并后得到的第i行待编码数据进行BCH编码,可以有效提高编码增益,降低错误平层,从而提高FEC的纠错能力,进而提高传输距离。同时,由于第i行待编码数据由第i行交织数据和第i行待传输数据合并而成,使得编码数据可以同时指示待传输数据和交织数据中的误码位置,在译码时,对同一行数据来说,误码位置可以从待传输数据和交织数据两处得到,进一步提高了FEC的净编码增益和纠错能力。并且,由于在BCH编码完成后,仅发送编码后的待传输数据(填充编码数据的待传输数据),因此可以在提高纠错能力的情况下,保证传输带宽不变。此外,本发明实施例只进行了一次BCH编码,算法简单,因此处理时延时较短、实现代价较低。综上所述,本发明实施例的纠错能力强、处理时延短、实现代价低,可以满足需要高速传输的数据帧的要求。另外,本发明实施例采用了块交织与比特交织相结合,对第i-1~i-h行编码后的待传输数据进行交织处理,可以进一步提高纠错能力。最后,由于本发明实施例在BCH码的生成多项式中添加了CRC校验式,所以在译码时,可以通过该CRC校验式来检验纠错的可靠性,从而进一步提高纠错的可靠性。
实施例七
参见图12,本发明实施例七提供了一种前向纠错译码装置,适用于实现实施例三提供的前向纠错译码方法,该装置包括:
接收模块701,用于接收第i行传输数据,第i行传输数据的数据结构包括有效净荷部分和开销部分,第i行传输数据的开销部分填充有编码数据,其中,i为任意值;
交织模块702,用于对第i-1~i-h行传输数据进行交织处理,得到第i行交织数据,其中,h≥2且h为整数;
合并模块703:用于将接收模块701接收的第i行传输数据与交织模块702得到的第i行交织数据拼接合并,得到第i行待译码数据。
译码模块704,用于对合并模块703得到的第i行待译码数据进行BCH译码。
本发明实施例通过对第i-1~i-h行编码后的待传输数据进行交织处理,得到第i行交织数据,并对第i行待传输数据与第i行交织数据合并后的第i行待编码数据进行BCH编码,与现有技术中仅对待传输数据进行BCH编码相比,码长增大了一倍,由于BCH编码中,码长越长,纠错能力越长,因此,对合并后得到的第i行待编码数据进行BCH编码,可以有效提高编码增益,降低错误平层,从而提高FEC的纠错能力,进而提高传输距离。同时,由于第i行待编码数据由第i行交织数据和第i行待传输数据合并而成,使得编码数据可以同时指示待传输数据和交织数据中的误码位置,在译码时,对同一行数据来说,误码位置可以从待传输数据和交织数据两处得到,进一步提高了FEC的净编码增益和纠错能力。并且,由于在BCH编码完成后,仅发送编码后的待传输数据(填充编码数据的待传输数据),因此可以在提高纠错能力的情况下,保证传输带宽不变。此外,本发明实施例只进行了一次BCH编码,算法简单,因此处理时延时较短、实现代价较低。综上所述,本发明实施例的纠错能力强、处理时延短、实现代价低,可以满足需要高速传输的数据帧的要求。
实施例八
参见图13,本发明实施例八提供了一种前向纠错译码装置,该装置适用于实现实施例四提供的前向纠错译码方法,该装置包括:
接收模块801,用于接收第i行传输数据,第i行传输数据的数据结构包括有效净荷部分和开销部分,第i行传输数据的开销部分填充有编码数据,其中,i为任意值;
交织模块802,用于对第i-1~i-h行传输数据进行交织处理,得到第i行交织数据,其中,h≥2且h为整数;
合并模块803,用于将接收模块801接收的第i行传输数据与交织模块802得到的第i行交织数据拼接合并,得到第i行待译码数据。
译码模块804,用于对合并模块803得到的第i行待译码数据进行BCH译码。
其中,交织模块802包括:
块交织单元,用于对第i-1~i-h行传输数据进行块交织,得到第i行块交织数据。
具体地,块交织单元用于,
将第i-1~i-h行传输数据分别平均分成x个数据块,x=K×h,其中,K为正整数;
选取第i-j行编码后的待传输数据的第(k-1)h+j个数据块,作为第i行块交织数据的第(h-j)K+k个数据块,其中,j∈{a,1≤a≤h且a为整数},k∈{a,1≤a≤K且a为整数}。
优选地,交织模块802还包括:
比特交织单元,用于在块交织单元对第i-1~i-h行传输数据进行块交织,得到第i行块交织数据之后,对第i行块交织数据进行比特交织。
具体地,比特交织单元用于,
对第i行块交织数据按码字进行拆分,码字的个数为m;
对码字进行比特交织,以使第s个码字的第p个比特为第i行块交织数据的第p个数据块的第q个比特,其中,p和q满足以下关系式:
q = ( s - 1 ) ^ ( p - 1 ) mod m + 1 p ∈ [ 1 , m - 1 ] ( s - 1 ) ^ p mod m + 1 p ∈ [ m , 2 m - 1 ] ( s - 1 ) ^ ( p + 1 ) mod m + 1 p ∈ [ 2 m , x ] ,
其中,s∈{a,1≤a≤m且a为整数},^为二进制异或运算。
其中,译码模块804包括:
拆字单元,用于对第i行待译码数据按码字进行拆分;
伴随式计算单元,用于求拆字单元得到的各个码字的伴随式;
误码位置计算单元,用于根据伴随式计算单元得到的伴随式计算码字中的误码位置,得到码字的误码位置信息;
纠错模块,用于根据误码位置计算单元得到的码字的误码位置信息对该码字进行纠错,当被纠错的码字对应的误码位置出现在第i行待译码数据中的第i行交织数据中时,根据交织对应关系,对第i-1~i-h行待译码数据的码字中与被纠错的比特对应的比特进行纠错,当被纠错的码字对应的误码位置出现在第i行待译码数据中的第i行传输数据中时,根据交织对应关系,获得第i+1~i+h行待译码数据对应的附加误码位置信息,以采用附加误码位置信息更新第i+1~i+h行待译码数据的误码位置信息。
具体地,伴随式计算单元用于,
用M1(x)*M3(x)*M5(x)*…M2*t-1(x)除各个码字,得到与码字对应的余式;
将余式转换到GF(2N)域,得到码字的伴随式S(x);
其中,t为一个码字中可以纠正的比特数,M1(x),M3(x),M5(x),…,M2*t-1(x)分别为以α135,…α2*t-1为根的多项式,α为P(x)的根,P(x)为GF(2N)域上的本原多项式,2N>n。
具体地,纠错单元用于,
将该码字中,与该码字的误码位置信息中表示误码位置的比特对应的比特取反。
另外,译码模块804还用于,
在译码模块804对第i行待译码数据进行BCH译码之后,按照j逐渐增大的方式,依次对第i-j行待译码数据进行BCH译码,其中,j∈{a,1≤a≤N且a为整数},N≥1且N为整数。
具体地,N的取值可以根据实际需要设置。
优选地,该装置还包括:
校验模块805,用于在纠错单元根据码字的误码位置信息对该码字进行纠错之后,在纠错单元对第i-1~i-h行待译码数据的码字中与被纠错的比特对应的比特进行纠错和获得第i+1~i+h行待译码数据对应的附加误码位置信息之前,对纠错后的码字进行CRC校验;若纠错后的码字不能通过CRC校验,则取消对该码字进行的纠错。
具体地,校验模块805包括:
校验值计算单元,用于计算纠错后的码字对应的CRC校验值;
判断单元,用于对校验值计算单元得到的CRC校验值进行判断,若CRC校验值为0,则纠错后的码字通过CRC校验;若CRC校验值不为0,则纠错后的码字不能通过CRC校验。
更具体地,校验值计算单元用于,
将CRC(x)除各个码字,其中CRC(x)为CRC校验式。
本发明实施例通过对第i-1~i-h行编码后的待传输数据进行交织处理,得到第i行交织数据,并对第i行待传输数据与第i行交织数据合并后的第i行待编码数据进行BCH编码,与现有技术中,仅对待传输数据进行BCH编码相比,码长增大了一倍,由于BCH编码中,码长越长,纠错能力越长,因此,对合并后得到的第i行待编码数据进行BCH编码,可以有效提高编码增益,降低错误平层,从而提高FEC的纠错能力,进而提高传输距离。同时,由于第i行待编码数据由第i行交织数据和第i行待传输数据合并而成,使得编码数据可以同时指示待传输数据和交织数据中的误码位置,在译码时,对同一行数据来说,误码位置可以从待传输数据和交织数据两处得到,进一步提高了FEC的净编码增益和纠错能力。并且,由于在BCH编码完成后,仅发送编码后的待传输数据(填充编码数据的待传输数据),因此可以在提高纠错能力的情况下,保证传输带宽不变。此外,本发明实施例只进行了一次BCH编码,算法简单,因此处理时延时较短、实现代价较低。综上所述,本发明实施例的纠错能力强、处理时延短、实现代价低,可以满足需要高速传输的数据帧的要求。另外,本发明实施例采用了块交织与比特交织相结合,对第i-1~i-h行编码后的待传输数据进行交织处理,可以进一步提高纠错能力。最后,由于本发明实施例在BCH码的生成多项式中添加了CRC校验式,所以在译码时,可以通过该CRC校验式来检验纠错的可靠性,从而进一步提高纠错的可靠性。
实施例九
本发明实施例九提供了一种通信设备,该设备包括实施例五或实施例六中提供的编码装置901、和实施例七或实施例八中提供的译码装置902。
本发明实施例通过对第i-1~i-h行编码后的待传输数据进行交织处理,得到第i行交织数据,并对第i行待传输数据与第i行交织数据合并后的第i行待编码数据进行BCH编码,与现有技术中仅对待传输数据进行BCH编码相比,码长增大了一倍,由于BCH编码中,码长越长,纠错能力越长,因此,对合并后得到的第i行待编码数据进行BCH编码,可以有效提高编码增益,降低错误平层,从而提高FEC的纠错能力,进而提高传输距离。同时,由于第i行待编码数据由第i行交织数据和第i行待传输数据合并而成,使得编码数据可以同时指示待传输数据和交织数据中的误码位置,在译码时,对同一行数据来说,误码位置可以从待传输数据和交织数据两处得到,进一步提高了FEC的净编码增益和纠错能力。并且,由于在BCH编码完成后,仅发送编码后的待传输数据(填充编码数据的待传输数据),因此可以在提高纠错能力的情况下,保证传输带宽不变。此外,本发明实施例只进行了一次BCH编码,算法简单,因此处理时延时较短、实现代价较低。综上所述,本发明实施例的纠错能力强、处理时延短、实现代价低,可以满足需要高速传输的数据帧的要求。
实施例十
本发明实施例十提供了一种通信系统,该系统包括至少两个实施例九中提供的通信设备。
本发明实施例通过对第i-1~i-h行编码后的待传输数据进行交织处理,得到第i行交织数据,并对第i行待传输数据与第i行交织数据合并后的第i行待编码数据进行BCH编码,与现有技术中仅对待传输数据进行BCH编码相比,码长增大了一倍,由于BCH编码中,码长越长,纠错能力越长,因此,对合并后得到的第i行待编码数据进行BCH编码,可以有效提高编码增益,降低错误平层,从而提高FEC的纠错能力,进而提高传输距离。同时,由于第i行待编码数据由第i行交织数据和第i行待传输数据合并而成,使得编码数据可以同时指示待传输数据和交织数据中的误码位置,在译码时,对同一行数据来说,误码位置可以从待传输数据和交织数据两处得到,进一步提高了FEC的净编码增益和纠错能力。并且,由于在BCH编码完成后,仅发送编码后的待传输数据(填充编码数据的待传输数据),因此可以在提高纠错能力的情况下,保证传输带宽不变。此外,本发明实施例只进行了一次BCH编码,算法简单,因此处理时延时较短、实现代价较低。综上所述,本发明实施例的纠错能力强、处理时延短、实现代价低,可以满足需要高速传输的数据帧的要求。
需要说明的是:上述实施例提供的一种前向纠错编码、译码装置在前向纠错编码、译码时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的一种前向纠错编码、译码装置和前向纠错编码、译码方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (36)

1.一种前向纠错编码方法,其特征在于,所述方法包括:
获取第i行待传输数据,所述第i行待传输数据的数据结构包括有效净荷部分和开销部分,所述第i行待传输数据的所述开销部分为空,其中,i为任意值;
对第i-1~i-h行编码后的待传输数据进行交织处理,得到第i行交织数据,每行所述编码后的待传输数据的数据结构与所述待传输数据的数据结构相同,且每行所述编码后的待传输数据的所述开销部分填充有编码数据,其中,h≥2且h为整数;
将所述第i行待传输数据与所述第i行交织数据拼接合并,得到第i行待编码数据;
对所述第i行待编码数据进行BCH编码,得到所述第i行待编码数据对应的编码数据;
采用所述第i行待编码数据对应的编码数据,填充所述第i行待传输数据的所述开销部分,得到第i行编码后的待传输数据,并发送所述第i行编码后的待传输数据。
2.根据权利要求1所述的方法,其特征在于,所述对第i-1~i-h行编码后的待传输数据进行交织处理,包括:
对所述第i-1~i-h行编码后的待传输数据进行块交织,得到第i行块交织数据。
3.根据权利要求2所述的方法,其特征在于,所述对所述第i-1~i-h行编码后的待传输数据进行块交织,包括:
将所述第i-1~i-h行编码后的待传输数据分别平均分成x个数据块,x=K×h,其中,K为正整数;
选取第i-j行编码后的待传输数据的第(k-1)h+j个数据块,作为所述第i行块交织数据的第(h-j)K+k个数据块,其中,j∈{a,1≤a≤h且a为整数},k∈{a,1≤a≤K且a为整数}。
4.根据权利要求2所述的方法,其特征在于,所述对第i-1~i-h行编码后的待传输数据进行交织处理,还包括:
在所述对所述第i-1~i-h行编码后的待传输数据进行块交织,得到第i行块交织数据之后,对所述第i行块交织数据进行比特交织。
5.根据权利要求4所述的方法,其特征在于,所述对所述第i行块交织数据进行比特交织,包括:
对所述第i行块交织数据按码字进行拆分,所述码字的个数为m;
对所述码字进行比特交织,以使第s个码字的第p个比特为所述第i行块交织数据的第p个数据块的第q个比特,其中,p和q满足以下关系式:
q = ( s - 1 ) ^ ( p - 1 ) mod m + 1 p ∈ [ 1 , m - 1 ] ( s - 1 ) ^ p mod m + 1 p ∈ [ m , 2 m - 1 ] ( s - 1 ) ^ ( p + 1 ) mod m + 1 p ∈ [ 2 m , x ] ,
其中,s∈{a,1≤a≤m且a为整数},^为二进制异或运算。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述对所述第i行待编码数据进行BCH编码,包括:
对所述第i行待编码数据按码字进行拆分;
根据生成多项式G(x),对各个码字进行BCH编码,得到第i行待编码数据对应的编码数据;
其中,G(x)=M1(x)*M3(x)*M5(x)*…*M2*t-1(x)*CRC(x),t为一个码字中可以纠正的比特数,M1(x),M3(x),M5(x),…,M2*t-1(x)分别为以α135,…α2*t-1为根的多项式,α为P(x)的根,P(x)为GF(2N)域上的本原多项式,CRC(x)为循环冗余校验式,2N>n。
7.一种前向纠错译码方法,其特征在于,所述方法包括:
接收第i行传输数据,所述第i行传输数据的数据结构包括有效净荷部分和开销部分,所述第i行传输数据的所述开销部分填充有编码数据,其中,i为任意值;
对第i-1~i-h行传输数据进行交织处理,得到第i行交织数据,其中,h≥2且h为整数;
将所述第i行传输数据与所述第i行交织数据拼接合并,得到第i行待译码数据;
对所述第i行待译码数据进行BCH译码。
8.根据权利要求7所述的方法,其特征在于,所述对第i-1~i-h行传输数据进行交织处理,包括:
对所述第i-1~i-h行传输数据进行块交织,得到第i行块交织数据。
9.根据权利要求8所述的方法,其特征在于,所述对所述第i-1~i-h行传输数据进行块交织,包括:
将所述第i-1~i-h行传输数据分别平均分成x个数据块,x=K×h,其中,K为正整数;
选取第i-j行传输数据的第(k-1)h+j个数据块,作为所述第i行块交织数据的第(h-j)K+k个数据块,其中,j∈{a,1≤a≤h且a为整数},k∈{a,1≤a≤K且a为整数}。
10.根据权利要求8所述的方法,其特征在于,所述对第i-1~i-h行传输数据进行交织处理,还包括:
在所述对所述第i-1~i-h行传输数据进行块交织,得到第i行块交织数据之后,对所述第i行块交织数据进行比特交织。
11.根据权利要求10所述的方法,其特征在于,所述对所述第i行块交织数据进行比特交织,包括:
对所述第i行块交织数据按码字进行拆分,所述码字的个数为m;
对所述码字进行比特交织,以使第s个码字的第p个比特为所述第i行块交织数据的第p个数据块的第q个比特,其中,p和q满足以下关系式:
q = ( s - 1 ) ^ ( p - 1 ) mod m + 1 p ∈ [ 1 , m - 1 ] ( s - 1 ) ^ p mod m + 1 p ∈ [ m , 2 m - 1 ] ( s - 1 ) ^ ( p + 1 ) mod m + 1 p ∈ [ 2 m , x ] ,
其中,s∈{a,1≤a≤m且a为整数},^为二进制异或运算。
12.根据权利要求7所述的方法,其特征在于,所述对所述第i行待译码数据进行BCH译码,包括:
对所述第i行待译码数据按码字进行拆分;
求各个所述码字的伴随式;
根据所述伴随式计算所述码字中的误码位置,得到所述码字的误码位置信息;
根据所述码字的误码位置信息对所述码字进行纠错;
当被纠错的码字对应的所述误码位置出现在所述第i行待译码数据中的所述第i行交织数据中时,根据交织对应关系,对所述第i-1~i-h行待译码数据的码字中与被纠错的比特对应的比特进行纠错;
当被纠错的码字对应的所述误码位置出现在所述第i行待译码数据中的所述第i行传输数据中时,根据交织对应关系,获得第i+1~i+h行待译码数据对应的附加误码位置信息,以采用所述附加误码位置信息更新所述第i+1~i+h行待译码数据的误码位置信息。
13.根据权利要求12所述的方法,其特征在于,所述求各个所述码字的伴随式,包括:
用M1(x)*M3(x)*M5(x)*…*M2*t-1(x)除各个所述码字,得到与所述码字对应的余式;
将所述余式转换到GF(2N)域,得到所述码字的伴随式;
其中,t为一个码字中可以纠正的比特数,M1(x),M3(x),M5(x),…,M2*t-1(x)分别为以α135,…α2*t-1为根的多项式,α为P(x)的根,P(x)为GF(2N)域上的本原多项式,2N>n。
14.根据权利要求12所述的方法,其特征在于,所述根据所述码字的误码位置信息对所述码字进行纠错,包括:
将所述码字中,与所述码字的误码位置信息中表示误码位置的比特对应的比特取反。
15.根据权利要求12所述的方法,其特征在于,所述方法还包括:
在所述对所述第i行待译码数据进行BCH译码之后,按照j逐渐增大的方式,依次对第i-j行待译码数据进行BCH译码,其中,j∈{a,1≤a≤N且a为整数},N≥1且N为整数。
16.根据权利要求12所述的方法,其特征在于,在所述根据所述码字的误码位置信息对所述码字进行纠错之后,在所述对所述第i-1~i-h行待译码数据的码字中与被纠错的比特对应的比特进行纠错和所述获得第i+1~i+h行待译码数据对应的附加误码位置信息之前,所述方法还包括:
对纠错后的码字进行循环冗余校验;
若所述纠错后的码字不能通过所述循环冗余校验,则取消对所述码字进行的纠错。
17.根据权利要求16所述的方法,其特征在于,所述对纠错后的码字进行循环冗余校验,包括:
计算所述纠错后的码字对应的循环冗余校验值;
若所述循环冗余校验值为0,则所述纠错后的码字通过所述循环冗余校验;
若所述循环冗余校验值不为0,则所述纠错后的码字不能通过所述循环冗余校验。
18.一种前向纠错编码装置,其特征在于,所述装置包括:
获取模块,用于获取第i行待传输数据,所述第i行待传输数据的数据结构包括有效净荷部分和开销部分,所述第i行待传输数据的所述开销部分为空,其中,i为任意值;
交织模块,用于对第i-1~i-h行编码后的待传输数据进行交织处理,得到第i行交织数据,每行所述编码后的待传输数据的数据结构与所述待传输数据的数据结构相同,且每行所述编码后的待传输数据的所述开销部分填充有编码数据,其中,h≥2且h为整数;
合并模块,用于将所述获取模块获取的所述第i行待传输数据与所述交织模块得到的所述第i行交织数据拼接合并,得到第i行待编码数据;
编码模块,用于对所述合并模块得到的所述第i行待编码数据进行BCH编码,得到所述第i行待编码数据对应的编码数据;
发送模块,用于采用所述编码模块得到的所述第i行待编码数据对应的编码数据,填充所述第i行待传输数据的所述开销部分,得到第i行编码后的待传输数据,并发送所述第i行编码后的待传输数据。
19.根据权利要求18所述的装置,其特征在于,所述交织模块包括:
块交织单元,用于对所述第i-1~i-h行编码后的待传输数据进行块交织,得到第i行块交织数据。
20.根据权利要求19所述的装置,其特征在于,所述块交织单元用于:
将所述第i-1~i-h行编码后的待传输数据分别平均分成x个数据块,x=K×h,其中,K为正整数;
选取第i-j行编码后的待传输数据的第(k-1)h+j个数据块,作为所述第i行块交织数据的第(h-j)K+k个数据块,其中,j∈{a,1≤a≤h且a为整数},k∈{a,1≤a≤K且a为整数}。
21.根据权利要求19所述的装置,其特征在于,所述交织模块还包括:
比特交织单元,用于在所述块交织单元对所述第i-1~i-h行编码后的待传输数据进行块交织,得到第i行块交织数据之后,对所述第i行块交织数据进行比特交织。
22.根据权利要求21所述的装置,其特征在于,所述比特交织单元用于:
对所述第i行块交织数据按码字进行拆分,所述码字的个数为m;
对所述码字进行比特交织,以使第s个码字的第p个比特为所述第i行块交织数据的第p个数据块的第q个比特,其中,p和q满足以下关系式:
q = ( s - 1 ) ^ ( p - 1 ) mod m + 1 p ∈ [ 1 , m - 1 ] ( s - 1 ) ^ p mod m + 1 p ∈ [ m , 2 m - 1 ] ( s - 1 ) ^ ( p + 1 ) mod m + 1 p ∈ [ 2 m , x ] ,
其中,s∈{a,1≤a≤m且a为整数},^为二进制异或运算。
23.根据权利要求18所述的装置,其特征在于,所述编码模块用于:
对所述第i行待编码数据按码字进行拆分;
根据生成多项式G(x),对各个码字进行BCH编码,得到第i行待编码数据对应的编码数据;
其中,G(x)=M1(x)*M3(x)*M5(x)*…*M2*t-1(x)*CRC(x),t为一个码字中可以纠正的比特数,M1(x),M3(x),M5(x),…,M2*t-1(x)分别为以α135,…α2*t-1为根的多项式,α为P(x)的根,P(x)为GF(2N)域上的本原多项式,CRC(x)为循环冗余校验式,2N>n。
24.一种前向纠错译码装置,其特征在于,所述装置包括:
接收模块,用于接收第i行传输数据,所述第i行传输数据的数据结构包括有效净荷部分和开销部分,所述第i行传输数据的所述开销部分填充有编码数据,其中,i为任意值;
交织模块,用于对第i-1~i-h行传输数据进行交织处理,得到第i行交织数据,其中,h≥2且h为整数;
合并模块,用于将所述接收模块接收的所述第i行传输数据与所述交织模块得到的所述第i行交织数据拼接合并,得到第i行待译码数据;
译码模块,用于对所述合并模块得到的所述第i行待译码数据进行BCH译码。
25.根据权利要求24所述的装置,其特征在于,所述交织模块包括:
块交织单元,用于对所述第i-1~i-h行传输数据进行块交织,得到第i行块交织数据。
26.根据权利要求25所述的装置,其特征在于,所述块交织单元用于,
将所述第i-1~i-h行传输数据分别平均分成x个数据块,x=K×h,其中,K为正整数;
选取第i-j行传输数据的第(k-1)h+j个数据块,作为所述第i行块交织数据的第(h-j)K+k个数据块,其中,j∈{a,1≤a≤h且a为整数},k∈{a,1≤a≤K且a为整数}。
27.根据权利要求25所述的装置,其特征在于,所述交织模块还包括:
比特交织单元,用于在所述块交织单元对所述第i-1~i-h行传输数据进行块交织,得到第i行块交织数据之后,对所述第i行块交织数据进行比特交织。
28.根据权利要求27所述的装置,其特征在于,所述比特交织单元用于,
对所述第i行块交织数据按码字进行拆分,所述码字的个数为m;
对所述码字进行比特交织,以使第s个码字的第p个比特为所述第i行块交织数据的第p个数据块的第q个比特,其中,p和q满足以下关系式:
q = ( s - 1 ) ^ ( p - 1 ) mod m + 1 p ∈ [ 1 , m - 1 ] ( s - 1 ) ^ p mod m + 1 p ∈ [ m , 2 m - 1 ] ( s - 1 ) ^ ( p + 1 ) mod m + 1 p ∈ [ 2 m , x ] ,
其中,s∈{a,1≤a≤m且a为整数},^为二进制异或运算。
29.根据权利要求24所述的装置,其特征在于,所述译码模块包括:
拆分单元,用于对所述第i行待译码数据按码字进行拆分;
伴随式计算单元,用于求所述拆分单元得到的各个所述码字的伴随式;
误码位置计算单元,用于根据所述伴随式计算单元得到的所述伴随式计算所述码字中的误码位置,得到所述码字的误码位置信息;
纠错单元,用于根据所述误码位置计算单元得到的所述码字的误码位置信息对所述码字进行纠错,当被纠错的码字对应的所述误码位置出现在所述第i行待译码数据中的所述第i行交织数据中时,根据交织对应关系,对所述第i-1~i-h行待译码数据的码字中与被纠错的比特对应的比特进行纠错,当被纠错的码字对应的所述误码位置出现在所述第i行待译码数据中的所述第i行传输数据中时,根据交织对应关系,获得第i+1~i+h行待译码数据对应的附加误码位置信息,以采用所述附加误码位置信息更新所述第i+1~i+h行待译码数据的误码位置信息。
30.根据权利要求29所述的装置,其特征在于,所述伴随式计算单元用于,
用M1(x)*M3(x)*M5(x)*…*M2*t-1(x)除各个所述码字,得到与所述码字对应的余式;
将所述余式转换到GF(2N)域,得到所述码字的伴随式;
其中,t为一个码字中可以纠正的比特数,M1(x),M3(x),M5(x),…,M2*t-1(x)分别为以α135,…α2*t-1为根的多项式,α为P(x)的根,P(x)为GF(2N)域上的本原多项式,2N>n。
31.根据权利要求29所述的装置,其特征在于,所述纠错单元用于,
将所述码字中,与所述码字的误码位置信息中表示误码位置的比特对应的比特取反。
32.根据权利要求29所述的装置,其特征在于,所述译码模块还用于,
在所述译码模块对所述第i行待译码数据进行BCH译码之后,按照j逐渐增大的方式,依次对第i-j行待译码数据进行BCH译码,其中,j∈{a,1≤a≤N且a为整数},N≥1且N为整数。
33.根据权利要求29所述的装置,其特征在于,所述装置还包括:
校验模块,用于在所述纠错单元根据所述码字的误码位置信息对所述码字进行纠错之后,在所述纠错单元对所述第i-1~i-h行待译码数据的码字中与被纠错的比特对应的比特进行纠错和获得第i+1~i+h行待译码数据对应的附加误码位置信息之前,对纠错后的码字进行循环冗余校验;若所述纠错后的码字不能通过所述循环冗余校验,则取消对所述码字进行的纠错。
34.根据权利要求33所述的装置,其特征在于,所述校验模块包括:
校验值计算单元,用于计算所述纠错后的码字对应的循环冗余校验值;
判断单元,用于对所述校验值计算单元得到的所述循环冗余校验值进行判断,若所述循环冗余校验值为0,则所述纠错后的码字通过所述循环冗余校验;若所述循环冗余校验值不为0,则所述纠错后的码字不能通过所述循环冗余校验。
35.一种通信设备,其特征在于,所述设备包括如权利要求18~23任一项所述的编码装置和如权利要求24~34任一项所述的译码装置。
36.一种通信系统,其特征在于,所述系统包括至少两个如权利要求35所述的通信设备。
CN201210527901.7A 2012-12-10 2012-12-10 一种前向纠错编码、译码方法和装置、通信设备及系统 Expired - Fee Related CN103873071B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210527901.7A CN103873071B (zh) 2012-12-10 2012-12-10 一种前向纠错编码、译码方法和装置、通信设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210527901.7A CN103873071B (zh) 2012-12-10 2012-12-10 一种前向纠错编码、译码方法和装置、通信设备及系统

Publications (2)

Publication Number Publication Date
CN103873071A true CN103873071A (zh) 2014-06-18
CN103873071B CN103873071B (zh) 2016-12-21

Family

ID=50911252

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210527901.7A Expired - Fee Related CN103873071B (zh) 2012-12-10 2012-12-10 一种前向纠错编码、译码方法和装置、通信设备及系统

Country Status (1)

Country Link
CN (1) CN103873071B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105991227A (zh) * 2015-02-15 2016-10-05 中兴通讯股份有限公司 数据编码方法及装置
CN107113007A (zh) * 2014-12-19 2017-08-29 骁阳网络有限公司 编码器、解码器以及具有低错误平层的编码方法
CN107210755A (zh) * 2015-01-27 2017-09-26 华为技术有限公司 一种fec译码的装置及方法
CN108628698A (zh) * 2018-05-08 2018-10-09 华为技术有限公司 计算crc编码的方法和装置
CN109889309A (zh) * 2019-02-27 2019-06-14 成都德芯数字科技股份有限公司 前向纠错数据生成方法、装置及电子设备
CN111628788A (zh) * 2020-05-29 2020-09-04 江汉大学 一种极快速纠错译码方法及装置
CN112564854A (zh) * 2019-09-26 2021-03-26 北京东土科技股份有限公司 一种数据传输方法、装置、设备和存储介质
WO2021209037A1 (zh) * 2020-04-16 2021-10-21 华为技术有限公司 数据恢复方法及装置
US11196511B2 (en) 2017-08-15 2021-12-07 Huawei Technologies Co., Ltd. Data processing method and related apparatus
CN115102666A (zh) * 2022-06-06 2022-09-23 中国人民解放军国防科技大学 一种提高无线电探空系统空地通信抗干扰能力的方法
CN115208512A (zh) * 2022-06-13 2022-10-18 中兵通信科技股份有限公司 一种遥测数据帧编解码方式

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101686104B (zh) * 2008-09-22 2013-11-06 华为技术有限公司 一种前向纠错的编解码的方法、装置和系统

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107113007A (zh) * 2014-12-19 2017-08-29 骁阳网络有限公司 编码器、解码器以及具有低错误平层的编码方法
CN107210755A (zh) * 2015-01-27 2017-09-26 华为技术有限公司 一种fec译码的装置及方法
US10505672B2 (en) 2015-01-27 2019-12-10 Huawei Technologies Co., Ltd. FEC decoding apparatus and method
CN107210755B (zh) * 2015-01-27 2020-03-10 华为技术有限公司 一种fec译码的装置及方法
CN105991227A (zh) * 2015-02-15 2016-10-05 中兴通讯股份有限公司 数据编码方法及装置
CN105991227B (zh) * 2015-02-15 2020-03-03 中兴通讯股份有限公司 数据编码方法及装置
US11196511B2 (en) 2017-08-15 2021-12-07 Huawei Technologies Co., Ltd. Data processing method and related apparatus
US11695508B2 (en) 2017-08-15 2023-07-04 Huawei Technologies Co., Ltd. Data processing method and related apparatus
CN108628698A (zh) * 2018-05-08 2018-10-09 华为技术有限公司 计算crc编码的方法和装置
CN109889309A (zh) * 2019-02-27 2019-06-14 成都德芯数字科技股份有限公司 前向纠错数据生成方法、装置及电子设备
CN109889309B (zh) * 2019-02-27 2021-03-16 成都德芯数字科技股份有限公司 前向纠错数据生成方法、装置及电子设备
CN112564854A (zh) * 2019-09-26 2021-03-26 北京东土科技股份有限公司 一种数据传输方法、装置、设备和存储介质
WO2021209037A1 (zh) * 2020-04-16 2021-10-21 华为技术有限公司 数据恢复方法及装置
CN111628788B (zh) * 2020-05-29 2023-04-28 江汉大学 一种极快速纠错译码方法及装置
CN111628788A (zh) * 2020-05-29 2020-09-04 江汉大学 一种极快速纠错译码方法及装置
CN115102666A (zh) * 2022-06-06 2022-09-23 中国人民解放军国防科技大学 一种提高无线电探空系统空地通信抗干扰能力的方法
CN115102666B (zh) * 2022-06-06 2023-11-24 中国人民解放军国防科技大学 一种提高无线电探空系统空地通信抗干扰能力的方法
CN115208512A (zh) * 2022-06-13 2022-10-18 中兵通信科技股份有限公司 一种遥测数据帧编解码方式
CN115208512B (zh) * 2022-06-13 2023-09-05 中兵通信科技股份有限公司 一种遥测数据帧编解码方式

Also Published As

Publication number Publication date
CN103873071B (zh) 2016-12-21

Similar Documents

Publication Publication Date Title
CN103873071A (zh) 一种前向纠错编码、译码方法和装置、通信设备及系统
US10320425B2 (en) Staircase forward error correction coding
CN1656693B (zh) 迭代硬输入前向纠错的方法
WO2017133580A1 (zh) 一种数据包编码处理方法及装置、基站及用户设备
WO2016045391A1 (zh) 一种数据传输方法及装置
US11201695B2 (en) Forward error correction with compression coding
US8621316B2 (en) Method and device for encoding of error correcting codes, and method and device for decoding of error correcting codes
US9444494B2 (en) Systems and methods for network coding using convolutional codes
US8397140B2 (en) Error correction coding for recovering multiple packets in a group view of limited bandwidth
CN113541856A (zh) 数据恢复方法及装置
US20230291502A1 (en) Data Processing Method and Related Apparatus
US20030188248A1 (en) Apparatus for iterative hard-decision forward error correction decoding
CN103227693B (zh) 增压码
CN106533611A (zh) 一种卷积码的数据发送方法及装置
EP1742404A1 (en) Method and apparatus for adapting data to a transport unit of a predefined size prior to transmission
CN107666367B (zh) 一种编码方法及装置
CN111600613B (zh) 一种校验方法、装置、译码器、接收机及计算机存储介质
CN109728875B (zh) 一种bch解码方法和装置
KR20220134199A (ko) 프레임 연집 오류 정정을 위한 부호기/복호기 및 부호화/복호화 방법
JP2015032885A (ja) 符号化装置及び復号装置
MXPA99011042A (en) Method and apparatus for providing error protection for over the air file transfer

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20191206

Address after: 057150 West Street, dabeiwang Town, Yongnian District, Handan City, Hebei Province

Patentee after: Bowen school, dabeiwang Town, Yongnian District, Handan City

Address before: 510000 unit 2414-2416, building, No. five, No. 371, Tianhe District, Guangdong, China

Patentee before: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Effective date of registration: 20191206

Address after: 510000 unit 2414-2416, building, No. five, No. 371, Tianhe District, Guangdong, China

Patentee after: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

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: 20161221