CN103684655A - 译码校验装置和方法、译码装置和方法以及接收端 - Google Patents

译码校验装置和方法、译码装置和方法以及接收端 Download PDF

Info

Publication number
CN103684655A
CN103684655A CN201210319840.5A CN201210319840A CN103684655A CN 103684655 A CN103684655 A CN 103684655A CN 201210319840 A CN201210319840 A CN 201210319840A CN 103684655 A CN103684655 A CN 103684655A
Authority
CN
China
Prior art keywords
decoding
unit
output
verification
component
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
CN201210319840.5A
Other languages
English (en)
Other versions
CN103684655B (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.)
Spreadtrum Communications Tianjin Co Ltd
Original Assignee
Spreadtrum Communications Tianjin 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 Spreadtrum Communications Tianjin Co Ltd filed Critical Spreadtrum Communications Tianjin Co Ltd
Priority to CN201210319840.5A priority Critical patent/CN103684655B/zh
Priority to US13/784,910 priority patent/US9048866B2/en
Publication of CN103684655A publication Critical patent/CN103684655A/zh
Application granted granted Critical
Publication of CN103684655B publication Critical patent/CN103684655B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/091Parallel or block-wise CRC computation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/27Coding, 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 using interleaving techniques
    • H03M13/2739Permutation polynomial interleaver, e.g. quadratic permutation polynomial [QPP] interleaver and quadratic congruence interleaver
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3972Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sliding window techniques or parallel windows
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/65253GPP LTE including E-UTRA

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Abstract

一种译码校验装置和方法、译码装置和方法以及接收端。所述译码校验装置包括:运算单元,用于对每一时钟周期译码器输出的数据执行校验运算处理,以获得运算结果,所述执行校验运算处理基于如下方式:将每一比特数据表示成多项式并求和,然后对求和得到的多项式执行多项式求余;输出单元,用于输出校验结果,所述校验结果为译码阶段的所有时钟周期的运算结果之和。本发明技术方案实现了译码校验的实时计算,从而可以节省功耗。

Description

译码校验装置和方法、译码装置和方法以及接收端
技术领域
本发明涉及通信技术领域,特别涉及一种译码校验装置和方法、译码装置和方法以及接收端。
背景技术
Turbo码由于采用迭代译码方法而具有接近香农理论极限的译码性能,其已被采纳为下一代移动通信系统的信道编码方案之一,并且在通信领域得到了广泛应用。
以长期演进系统(LTE,Long Term Evolution)标准物理层采用1/3码率的Turbo编码器作为信道编码标准为例,在发送端采用了两个分量编码器,编码的输入为加入循环冗余校验(CRC,Cyclic Redundancy Check)信息后的码块S,其中分量编码器1的输入为正常顺序的码块S,输出为校验比特序列P0;分量编码器2采用经过二次置换多项式(QPP,Quadratic Permutation Polynomial)交织后的码块,输出为校验比特序列P1,序列S、P0和P1在经过速率匹配和调制后发送到传输信道。
在接收端,Turbo码采用迭代译码,图1示出了Turbo译码过程的原理图,如图所示,分量译码1的输入为S和P0对应的软信息,以及分量译码2输出的经过解交织后的外信息;输出为发送到分量译码2的外信息和译码结果。同样,分量译码2的输入为交织后的S和P1对应的软信息,以及分量编码1输出的经过交织后的外信息;输出为发送到分量译码1的外信息和译码结果。两个分量译码通过外信息交互,执行交替迭代的译码处理,能够不断提高译码输出的可信度。在LTE标准中,每个Turbo的码块均含有CRC校验信息,因此每个分量译码输出的译码结果均可进行CRC校验,如果校验通过,即可提前终止Turbo译码,以节省功耗。而分量编码器2的译码输出是交织后的顺序,因此需要首先进行解交织,然后才能进行CRC校验。在译码过程中,两个分量译码不会同时执行,而且二者的计算基本相同,因此在实际的硬件实现中,仅采用一个分量译码器,以节省芯片面积。
由于LTE标准采用了无冲突的QPP交织器,一个Turbo码块可以划分为多段数据,每段数据可以独立进行Turbo译码,这样可以实现多个译码器并行处理,从而提高译码器的吞吐率。
图2示出了现有的一种Turbo译码器的实现结构,图3示出了现有的译码处理流程。结合图2和图3,Turbo码块被划分为K段,采用K个独立的译码器并行译码,这里的分段数K通常也称为译码并行度,K个独立的译码器通过交换网络从存储器阵列中读取数据,所述存储器阵列包括多个分段存储器。分量译码1和分量译码2的译码交替迭代处理,在分量译码1的译码结果输出阶段,每个时钟周期每个译码器输出2比特数据,K个译码器共输出2K个比特,这2K个比特分属于交织前码块的K个不同分段,因此需要写入排序存储器进行重新排序,恢复码块的原始顺序,然后从排序存储器读出排序后的译码结果进行CRC校验。同样地,在分量译码2的译码结果输出阶段,每个时钟周期每个译码器输出2比特数据,K个译码器共输出2K个比特,这2K个比特分属于交织后码块的K个不同分段,因此需要解交织后写入排序存储器进行重新排序,恢复码块的原始顺序,然后从排序存储器读出排序后的译码结果进行CRC校验。当对分量译码1或分量译码2的译码结果的CRC校验通过,或者当达到最大迭代次数时,则结束译码处理流程。
对于现有的LTE Turbo译码器而言,CRC校验是在分量译码后从排序存储器读取数据并进行运算的,这样会导致额外的排序存储器访问,多余的译码计算,从而降低了译码器的吞吐率,增加了硬件功耗。
发明内容
本发明技术方案要解决的技术问题是现有的CRC校验在分量译码后进行,从而导致硬件功耗大。
为解决上述技术问题,本发明技术方案提供一种译码校验装置,包括:
运算单元,用于对每一时钟周期译码器输出的数据执行校验运算处理,以获得运算结果,所述执行校验运算处理基于如下方式:将每一比特数据表示成多项式并求和,然后对求和得到的多项式执行多项式求余;
输出单元,用于输出校验结果,所述校验结果为译码阶段的所有时钟周期的运算结果之和。
为解决上述技术问题,本发明技术方案还提供一种译码装置,包括:
第一分量译码单元和第二分量译码单元,所述第一分量译码单元和第二分量译码单元分别通过K个译码器进行译码处理,两个分量译码单元的译码处理交替迭代进行;
校验控制单元和所述的译码校验装置,所述校验控制单元用于控制所述译码校验装置对所述第一分量译码单元或第二分量译码单元译码输出的数据进行校验以输出校验结果。
为解决上述技术问题,本发明技术方案还提供一种包括上述译码装置的接收端。
为解决上述技术问题,本发明技术方案还提供一种译码校验方法,包括:
对每一时钟周期译码器输出的数据执行校验运算处理,以获得运算结果,所述执行校验运算处理基于如下方式:将每一比特数据表示成多项式并求和,然后对求和得到的多项式执行多项式求余;
输出校验结果,所述校验结果为译码阶段的所有时钟周期的运算结果之和。
可选的,所述运算结果通过下述公式获得:
c ~ ( i ) = c ( Σ k = 0 K - 1 ( m kL K + I a ( i ) x L - kL K - I a ( i ) - 1 + m kL K + I b ( i ) x L - kL K - I b ( i ) - 1 ) )
= c ( Σ k = 0 K - 1 m kL K + I a ( i ) x L - kL K - I a ( i ) - 1 ) + c ( Σ k = 0 K - 1 m kL K + I b ( i ) x L - kL K - I b ( i ) - 1 ) ,
其中,
Figure BDA00002085679400043
为运算结果,
Figure BDA00002085679400044
Figure BDA00002085679400045
为时钟周期i译码器k输出的2比特数据,
Figure BDA00002085679400046
0≤k<K,L为码块长度,K为分段数,Ia(i)为数据
Figure BDA00002085679400047
在码块分段内的偏移,Ib(i)为数据
Figure BDA00002085679400048
在码块分段内的偏移。
可选的,所述校验运算处理包括:
调用基本单元计算k=K-2时的
Figure BDA00002085679400049
调用乘法单元计算k≤K-3时的
Figure BDA000020856794000410
调用所述基本单元计算
Figure BDA000020856794000411
Figure BDA000020856794000412
调用求和单元计算sa(i)和sb(i),调用所述乘法单元计算
Figure BDA000020856794000413
c ~ b ( i ) = c ( c ( x L K - I b ( i ) - 1 ) s b ( i ) ) , 调用加法单元计算运算结果 c ~ ( i ) = c ~ a ( i ) + c ~ b ( i ) ;
其中,所述基本单元用于计算c(xn),其中,
Figure BDA000020856794000416
L为码块长度,K为分段数;
所述求和单元用于计算 s a ( i ) = &Sigma; k = 0 K - 1 m kL K + I a ( i ) c ( x ( K - k - 1 ) L K ) s b ( i ) = &Sigma; k = 0 K - 1 m kL K + I b ( i ) c ( x ( K - k - 1 ) L K ) ,
Figure BDA00002085679400053
Figure BDA00002085679400054
为时钟周期i译码器k输出的2比特数据,
Figure BDA00002085679400055
0≤k<K;
所述乘法单元用于对两个多项式执行带余乘法运算;
所述加法单元用于对两个多项式执行加法运算。
可选的,所述输出校验结果包括:调用所述加法单元,以输出所述校验结果。
可选的,所述计算c(xn)包括:
以p为索引查表以获得c(xpw),其中,n=pw+q,w取2的幂,0≤q<w;
计算c(xpwxq)。
可选的,所述译码校验方法还包括:从所述译码器读取译码输出的数据。
可选的,所述译码校验方法还包括:在根据所述校验结果判断出校验通过后,输出终止译码处理的控制信号。
为解决上述技术问题,本发明技术方案还提供一种译码方法,包括:
第一分量译码和第二分量译码,所述第一分量译码和第二分量译码分别通过K个译码器进行译码处理,两个分量译码的译码处理交替迭代进行;
采用所述的译码校验方法对所述第一分量译码或第二分量译码输出的数据进行校验以输出校验结果。
可选的,所述译码方法还包括:
存储排序后的所述第一分量译码或第二分量译码输出的数据;
在根据所述校验结果判断出校验通过后,读取排序后的数据并予以输出。
可选的,所述译码方法还包括:在根据所述校验结果判断出校验失败且迭代次数达到最大值时,读取排序后的数据并予以输出。
与现有技术相比,上述技术方案基于将每个时钟周期译码输出的每一比特数据表示成多项式并求和,然后对求和得到的多项式进行求余运算的方式,实现了译码校验的实时计算,因此不需要等到分量译码完成后从排序存储器读出数据进行译码校验。由于仅在校验成功后从排序存储器读出数据,由此节省了不必要的访问排序存储器而产生的硬件功耗。
当一个分量译码的校验通过后,通过控制信号可以立即终止另一个分量译码的译码处理,因此可以避免分量译码的无效迭代计算,从而提高译码器的吞吐量,节省硬件的功耗。
附图说明
图1是译码过程的原理示意图;
图2是现有的一种译码器的结构示意图;
图3是现有的译码处理的流程示意图;
图4是c(f(x)x)的组合逻辑实现的实例示意图;
图5是本发明实施例的译码校验装置的结构示意图;
图6是图5所示的第一运算控制单元调用的运算资源和实现过程示意图;
图7是图5所示的第二运算控制单元和输出单元调用的运算资源和实现过程示意图;
图8是本发明实施方式的译码装置的结构示意图;
图9是本发明实施例的译码装置的工作过程示意图。
具体实施方式
发明人分析,现有的Turbo译码器只能在整个码块的译码比特生成后,基于码块的原始比特顺序进行CRC校验,所以CRC校验无法在线实时地计算,这样会导致Turbo译码器在功耗上的浪费,主要体现为:
对于任意分量译码,译码结果输出到排序存储器,然后按照码块原始顺序读出进行CRC校验,如果校验失败则浪费了一次排序存储器的读访问;
为了提高译码器的吞吐率,一个分量译码的CRC校验与另一个分量译码需要并行计算,如果CRC校验成功,则另一个分量译码的计算是多余的,而且CRC校验结果产生的越晚,Turbo译码器功耗上浪费越多。
发明人考虑,如果对译码的校验过程进行改进,使得CRC校验能够在线实时地计算,这样一个分量译码的译码处理和CRC计算可以并行执行,就能解决上述译码器功耗的问题。因此,发明人对CRC的计算和校验进行了仔细分析,并基于分析结果提出一种新的译码校验装置。
具体地,CRC计算过程是伽罗瓦域的多项式求余过程,它把输入的A比特消息m=m0|m1|...|mA-1看作多项式:
m ( x ) = &Sigma; j = 0 A - 1 m j x A - j - 1 - - - ( 1 )
计算CRC多项式:
c(m(x)xC)=m(x)xCmodg(x)(2)
其中,mod为求余运算符,C阶多项式
Figure BDA00002085679400072
也称为CRC生成多项式,多项式阶数C和系数gj可以根据实际应用预先设定的,C>0,gj为0或1。c(f(x))表示对多项式f(x)执行多项式求余运算,即c(f(x))=f(x)modg(x)。
产生的CRC多项式c(m(x)xC)所对应的C比特校验信息被拼接在消息m后面,形成新的长度为L=A+C码字比特序列s,表示为多项式形式:
s(x)=xCm(x)+c(m(x)xC)                   (3)
校验时,只需验证:c(s(x))=s(x)modg(x)=0  (4)
假设译码时长度为L比特的码块被划分为K个分段,在输出译码结果时,在时钟周期i译码器k(0≤k<K,)输出2比特数据为ma(k,i)和mb(k,i)。因为LTE turbo码采用的无冲突的QPP交织器,因此,无论是在分量译码1阶段还是分量译码2阶段,这K比特数据ma(k,i)在码块分段内具有相同的偏移Ia(i),其在正常顺序的码块内的索引可表示为:
Figure BDA00002085679400082
同样地,K比特数据mb(k,i)在码块分段内具有相同的偏移Ib(i),其在正常顺序的码块内的索引可表示为:
Figure BDA00002085679400083
Ia(i)和Ib(i)与QPP交织器的性质相关,也是译码器访问各分段存储器的地址,Ia(i)和Ib(i)的确定可以采用现有方法实现,举例来说,对于偶数次分量译码(未交织,由分量译码1完成):Ia(i)=i,
Figure BDA00002085679400084
对于奇数次分量译码(交织后,由分量译码2完成): I b ( i ) = ( f 1 * ( L K - i - 1 ) 2 + f 2 * ( L K - i - 1 ) ) mod L K , f1和f2是QPP交织器的参数。
考虑每个时钟周期输出的2K比特数据对CRC校验结果的贡献,可以将这2K比特数据分别表示成多项式,对这些多项式求和,然后对求和得到的多项式执行多项式求余运算:
c ~ ( i ) = c ( &Sigma; k = 0 K - 1 ( m kL K + I a ( i ) x L - kL K - I a ( i ) - 1 + m kL K + I b ( i ) x L - kL K - I b ( i ) - 1 ) )
= c ( &Sigma; k = 0 K - 1 m kL K + I a ( i ) x L - kL K - I a ( i ) - 1 ) + c ( &Sigma; k = 0 K - 1 m kL K + I b ( i ) x L - kL K - I b ( i ) - 1 )
( 5 )
进一步,
c ( &Sigma; k = 0 K - 1 ( m kL K + I a ( i ) x L - kL K - I a ( i ) - 1 + m kL K + I b ( i ) x L - kL K - I b ( i ) - 1 ) )
= c ( x L K - I a ( i ) - 1 &Sigma; k = 0 K - 1 m kL K + I a ( i ) x ( K - k - 1 ) L K + x L K - I b ( i ) - 1 &Sigma; k = 0 K - 1 m kL K + I b ( i ) x ( K - k - 1 ) L K )
= c ( c ( x L K - I a ( i ) - 1 ) &Sigma; k = 0 K - 1 m kL K + I a ( i ) c ( x ( K - k - 1 ) L K )
+ c ( x L K - I b ( i ) - 1 ) &Sigma; k = 0 K - 1 m kL K + I b ( i ) c ( x ( K - k - 1 ) L K ) )
( 6 )
其中,
Figure BDA00002085679400096
Figure BDA00002085679400097
Figure BDA00002085679400098
的计算在下面说明,
Figure BDA00002085679400099
Figure BDA000020856794000910
为时钟周期i译码器k输出的2比特数据,
Figure BDA000020856794000911
即为ma(k,i),
Figure BDA000020856794000912
即为mb(k,i),作为选择信号参与计算。
定义:
c ~ a ( i ) = c ( &Sigma; k = 0 K - 1 m kL K + I a ( i ) x L - kL K - I a ( i ) - 1 ) - - - ( 7 )
c ~ b ( i ) = c ( &Sigma; k = 0 K - 1 m kL K + I b ( i ) x L - kL K - I b ( i ) - 1 ) - - - ( 8 )
s a ( i ) = &Sigma; k = 0 K - 1 m kL K + I a ( i ) c ( x ( K - k - 1 ) L K ) - - - ( 9 )
s b ( i ) = &Sigma; k = 0 K - 1 m kL K + I b ( i ) c ( x ( K - k - 1 ) L K ) - - - ( 10 )
那么:
c ~ a ( i ) = c ( c ( x L K - I a ( i ) - 1 ) s a ( i ) ) - - - ( 11 )
c ~ b ( i ) = c ( c ( x L K - I b ( i ) - 1 ) s b ( i ) ) - - - ( 12 )
c ~ ( i ) = c ~ a ( i ) + c ~ b ( i ) - - - ( 13 )
c ( s ( x ) ) = &Sigma; i = 0 L 2 K - 1 c ~ ( i ) - - - ( 14 )
由此,给出了针对LTE Turbo译码输出的实时CRC校验方法,计算过程中的加法均是对位的异或操作;乘法均是多项式的带余乘法。
下面说明
Figure BDA00002085679400105
Figure BDA00002085679400106
的计算。
Figure BDA00002085679400108
的计算结果仅与码块长度L,分段数K和分段索引k有关,在一次Turbo译码过程中,L和K均为固定值,k共有K个不同的取值,分别是0,1,…,K-1,因此的K个不同的取值可在译码的初始化阶段一次性计算。
当k=K-1时,c(x0)是常值。
当k=K-2时,计算
Figure BDA000020856794001010
不失一般性,c(xn)均可以采用以下描述的3个步骤来计算,其中,
Figure BDA000020856794001011
步骤1,将n表示成pw+q,其中,w取2的幂,0≤q<w。在实际应用中,w的取值视译码器设计中的最大分段长度而定,主要目的是为了控制步骤2中的查找表的大小。其中,分段长度为
Figure BDA000020856794001012
例如,LTE中Turbo码块最大长度为6144,在最大译码并行度为8时,最大分段长度为6144/8=768,可以取w=16;在最大译码并行度为16时,最大分段长度为6144/16=384,可以取w=8。p为n/w的整数部分,q=n mod w,即n/w的余数部分。
步骤2,以p为索引查表以获得c(xpw),所查找的表是根据硬件设计预先建立的关于c(xlw)查找表,其中,
Figure BDA00002085679400112
表示不大于
Figure BDA00002085679400113
的最大整数,所述查找表中,c(xlw)采用标准的CRC计算方式得到,即多项式xlw求余,c(xlw)=xlw modg(x)。
步骤3,计算c(xpwxq)。通常,可以用简单的组合逻辑实现c(f(x)x),其中,f(x)=xpw。举例来说,图4给出了生成多项式g(x)=x3+x+1时,c(f(x)x)的组合逻辑实现的示意图,如果c(f(x))=in0*x2+in1*x+in2,那么c(f(x)x)=out0*x2+out1*x+out2。进一步,由于q的取值范围是有限的,0≤q<w,因此c(xpwxq)可以通过q次迭代的c(f(x)x)来实现,这种运算很像是多项式左移,并在右边补了q比特0后,重新计算新多项式的CRC多项式。
当k=K-3时,计算
Figure BDA00002085679400114
可以由两个
Figure BDA00002085679400115
采用多项式带余乘法计算得到,即 c ( x 2 L K ) = c ( x L K x L K ) = c ( c ( x L K ) c ( x L K ) ) . 对于多项式带余乘法计算,后面将做介绍。
当k=K-4时,计算可以由多项式
Figure BDA00002085679400118
与多项式
Figure BDA00002085679400119
采用多项式带余乘法计算得到,即 c ( x 3 L K ) = c ( x 2 L K x L K ) = c ( c ( x 2 L K ) c ( x L K ) ) .
当k=K-5,…,0时,可以类推计算。
因为 0 &le; L K - I a ( i ) - 1 < L K , 0 &le; L K - I b ( i ) - 1 < L K , 所以当 0 < L K - I a ( i ) - 1 < L K , 0 < L K - I b ( i ) - 1 < L K 时,
Figure BDA00002085679400122
Figure BDA00002085679400123
的计算与
Figure BDA00002085679400124
的计算相似。
以下介绍多项式带余乘法计算。多项式带余乘法计算是在知道两个多项式余数的前提下计算两个多项式乘积的余数。不失一般性,假定两个多项式f1(x)和f2(x),则
c(f1(x)f2(x))=c(c(f1(x))c(f2(x)))(15)
假设
c ( f 2 ( x ) ) = &Sigma; j = 1 C r 2 , j x C - j - - - ( 16 )
所以
c ( c ( f 1 ( x ) ) c ( f 2 ( x ) ) ) = c ( f 1 ( x ) f 2 ( x ) ) = &Sigma; j = 1 C r 2 , j c ( x C - j f 1 ( x ) ) - - - ( 17 )
其中,c(xC-jf1(x))的计算可以参照c(f(x)xq)的计算,c(f1(x)f2(x))的计算可以是C个多项式的模加运算,C为多项式阶数,r2,j作为选择信号参与计算。
通过上述分析可知,现有的CRC校验基于公式(3)计算,因此需要按照码块原始顺序进行CRC校验。而本发明技术方案将每个时钟周期译码器输出的每个比特表示为一个独立的多项式,求和后进行多项式求余运算,如公式(5)所示,因此在分量译码输出的每个时钟周期,都可以直接读取译码器的输出进行CRC校验的实时计算。进一步,利用相同时钟周期内K个译码器输出的两组K个比特在码块分段内偏移相同,从而可以通过提取公因子,如公式(6)所示,减少CRC实时计算的运算量。
因此,本发明实施方式提供一种译码校验装置,用于对Turbo分量译码输出的数据进行CRC校验,所述译码校验装置包括:
运算单元,用于对每一时钟周期译码器输出的数据执行校验运算处理,以获得运算结果,所述执行校验运算处理基于如下方式:将每一比特数据表示成多项式并求和,然后对求和得到的多项式执行多项式求余;
输出单元,用于输出校验结果,所述校验结果为译码阶段的所有时钟周期的运算结果之和,即其中c(s(x))为校验结果,为时钟周期i的运算结果。
所述运算单元可以采用上述公式(5)直接计算得到运算结果
Figure BDA00002085679400133
而采用此种直接计算方式,运算量比较大,为了减少实时计算的运算量,发明人在上述公式(5)的基础上,进行了推导和变换,如上述公式(6)至(14)所示,由此提出了一种优选的方案,如图5所示,所述运算单元A1包括:
查表单元CRC_LUT,用于以p为索引查表以获得c(xpw),其中,n=pw+q,
Figure BDA00002085679400134
w取2的幂,0≤q<w;
逻辑单元CRC_LSH,用于计算c(xpwxq);
求和单元CRC_SUM,用于计算 s a ( i ) = &Sigma; k = 0 K - 1 m kL K + I a ( i ) c ( x ( K - k - 1 ) L K ) s b ( i ) = &Sigma; k = 0 K - 1 m kL K + I b ( i ) c ( x ( K - k - 1 ) L K ) , 其中,
Figure BDA00002085679400137
Figure BDA00002085679400138
为时钟周期i译码器k输出的2比特数据,
Figure BDA00002085679400139
0≤k<K;
乘法单元CRC_MUL,用于对两个多项式执行带余乘法运算;
加法单元CRC_XOR,用于对两个多项式执行加法运算;
第一运算控制单元CTRL_1,用于调用所述查表单元CRC_LUT、逻辑单元CRC_LSH和乘法单元CRC_MUL计算
Figure BDA00002085679400141
其中,k=0,1,...,K-1;
第二运算控制单元CTRL_2,用于调用所述查表单元CRC_LUT和逻辑单元CRC_LSH计算
Figure BDA00002085679400142
Figure BDA00002085679400143
调用所述求和单元CRC_SUM计算sa(i)和sb(i),调用所述乘法单元CRC_MUL计算 c ~ a ( i ) = c ( c ( x L K - I a ( i ) - 1 ) s a ( i ) ) c ~ b ( i ) = c ( c ( x L K - I b ( i ) - 1 ) s b ( i ) ) , 调用所述加法单元CRC_XOR计算 c ~ ( i ) = c ~ a ( i ) + c ~ b ( i ) .
本实施例中,所述输出单元A2,用于调用所述加法单元CRC_XOR计算并输出校验结果 c ( s ( x ) ) = &Sigma; i = 0 L 2 K - 1 c ~ ( i ) .
上述运算资源可以采用硬件结构实现,其中,查表单元CRC_LUT和逻辑单元CRC_LSH实现c(xn)的计算,查表单元CRC_LUT的处理过程参考上述步骤1和2,逻辑单元CRC_LSH的处理过程参考上述步骤3;求和单元CRC_SUM实现上述公式(9)和(10)的计算;乘法单元CRC_MUL实现上述公式(17)的计算,所述乘法单元CRC_MUL的输入为c(f1(x))和c(f2(x)),输出为c(c(f1(x))c(f2(x))),实现了两个小于或等于C-1阶多项式带余乘法;加法单元CRC_XOR通过位的异或操作实现多项式的加法计算,所述加法单元CRC_XOR的输入为c(f1(x))和c(f2(x)),输出为c(f1(x))+c(f2(x))。
本实施例中,CRC校验的计算可以分两个阶段:
第一阶段(初始化阶段),计算
Figure BDA00002085679400148
具体地,第一运算控制单元CTRL_1调用的运算资源和实现过程如图6所示,调用查表单元CRC_LUT和逻辑单元CRC_LSH计算k=K-2时的
Figure BDA00002085679400151
Figure BDA00002085679400152
其中,调用乘法单元CRC_MUL计算k=K-3、K-4、K-5、…、0时
Figure BDA00002085679400154
这里需要用到两个乘法单元CRC_MUL,其中一个乘法单元的输入为: c ( f 1 ( x ) ) = c ( x L K ) c ( f 2 ( x ) ) = c ( x ( K - k - 3 ) L K ) , 另一个乘法单元的输入为: c ( f 1 ( x ) ) = c ( x L K ) c ( f 2 ( x ) ) = c ( x ( K - k - 2 ) L K ) . 第一运算控制单元CTRL_1可以用状态机实现,
Figure BDA00002085679400159
只需在初始化阶段计算一次。
第二阶段(实时计算阶段),第二运算控制单元CTRL_2根据每个时钟周期译码器输出的比特数据及其偏移Ia(i),以及比特数据
Figure BDA000020856794001511
及其Ib(i),计算输出单元A2累加
Figure BDA000020856794001513
得到c(s(x))。
第二运算控制单元CTRL_2和输出单元A2调用的运算资源和实现过程如图7所示,以计算
Figure BDA000020856794001514
为例,第二运算控制单元CTRL_2调用查表单元CRC_LUT和逻辑单元CRC_LSH计算
Figure BDA000020856794001515
其中,
Figure BDA000020856794001516
根据比特数据
Figure BDA000020856794001517
和第一阶段计算的调用求和单元CRC_SUM计算sa(i);然后调用乘法单元CRC_MUL计算
Figure BDA000020856794001519
其中,所述乘法单元CRC_MUL的输入为:
Figure BDA000020856794001520
和c(f2(x))=sa(i)(与公式(16)的表示形式相同)。
Figure BDA000020856794001521
的计算和sa(i)的计算可以并行进行,计算
Figure BDA00002085679400161
的过程与计算类似。
第二运算控制单元CTRL_2根据计算的
Figure BDA00002085679400164
调用加法单元CRC_XOR计算
Figure BDA00002085679400165
其中,所述加法单元CRC_XOR的输入为: c ( f 1 ( x ) ) = c ~ a ( i ) c ( f 2 ( x ) ) = c ~ b ( i ) .
输出单元A2调用加法单元CRC_XOR累加每个时钟周期的
Figure BDA00002085679400168
得到c(s(x)),其中,所述加法单元CRC_XOR的输入为: c ( f 1 ( x ) ) = c ~ ( i ) c ( f 2 ( x ) ) = c ~ ( i - 1 ) .
第二阶段计算的硬件设计采用流水线的方式实时计算。由于第一阶段计算与第二阶段计算在时间上没有重叠,故第一阶段计算使用的硬件资源可以复用第二阶段计算用到的硬件资源,即这种实时CRC校验的实现采用的主要运算资源CRC_LUT,CRC_LSH,CRC_SUM和CRC_MUL均为2个。
通过上述两个阶段的计算过程可以看到,在一次译码过程中,提取的公因子
Figure BDA000020856794001612
仅需计算一次,
Figure BDA000020856794001613
Figure BDA000020856794001614
在一个时钟周期也仅计算一次,因此相比于通过公式(5)计算
Figure BDA000020856794001615
可以把运算单元使用的乘法单元CRC_MUL的个数从2K个减少至2个,有效地减少了多项式带余乘法的运算量。
需要说明的是,为了减小运算复杂度,本实施例是基于查表方式获得c(xn),即通过查表单元和逻辑单元计算c(xn)。在其他实施例中,在n较小的情况下,也可以利用基本单元根据c(xn)=xn modg(x)直接计算。
由于运算单元实现了CRC校验的实时计算,因此在分量译码输出的每个时钟周期,所述译码校验装置可以通过读取单元直接从所述译码器读取译码输出的数据,而不需要等到一个分量译码完成后从排序存储器读取数据。具体地,所述读取单元从K个译码器读取时钟周期i的译码输出的数据。
进一步,在实际的Turbo译码器硬件实现中,为了减少两个分量译码之间的背靠背延迟(该延迟等于基于本实施例实现的CRC校验的流水线的长度),一个分量译码的迭代开始无需等待另一个分量译码的CRC校验的完成,在CRC校验计算通过时,可以产生控制信号来软复位正在进行的分量译码的迭代处理,即终止译码处理过程。因此,本实施例的译码校验装置还可以包括译码控制单元,用于在根据所述校验结果判断出校验通过后,输出终止译码处理的控制信号。所述校验通过是指计算得到的校验结果c(s(x))=0。
基于上述译码校验装置,本发明实施方式还提供一种译码装置,如图8所示,包括:第一分量译码单元B1、第二分量译码单元B2、校验控制单元B3和译码校验装置B4。所述第一分量译码单元和第二分量译码单元分别通过K个译码器进行译码处理,第一分量译码单元和第二分量译码单元的译码处理交替迭代进行;所述校验控制单元B3用于控制所述译码校验装置B4对所述第一分量译码单元B1或第二分量译码单元B2译码输出的数据进行校验以输出校验结果。所述译码校验装置B4的结构在前面已经详细介绍。
在本发明实施例中,所述译码装置还可以包括:排序存储单元,用于存储排序后的所述第一分量译码单元或第二分量译码单元译码输出的数据;译码输出单元,用于在根据所述校验结果判断出校验通过后,从所述排序存储单元中读取排序后的数据并予以输出。
可选的,所述译码输出单元还用于在根据所述校验结果判断出校验失败且迭代次数达到最大值时,从所述排序存储单元中读取排序后的数据并予以输出。在其他实施例中,若根据所述校验结果判断出校验失败且迭代次数达到最大值,也可以不输出译码数据。
此外,由于译码过程的两个分量译码不同时进行,因此第一分量译码单元B1和第二分量译码单元B2可以共用K个译码器。
下面结合图9说明本实施例的译码装置的译码和校验过程:
分量译码1和分量译码2分别通过K个译码器执行译码处理,分量译码1和分量译码2的译码交替迭代处理,K个译码器通过交换网络从存储器阵列中读取数据。第一分量译码单元实现分量译码1的译码处理,第二分量译码单元实现分量译码2的译码处理,其中第二分量译码单元还包括解交织器。在各分量译码的过程中,每个时钟周期分量译码单元输出的数据写入排序存储器进行重新排序,恢复码块的原始顺序。
在分量译码1的译码结果输出阶段,每个时钟周期每个译码器输出2比特数据,K个译码器共输出2K个比特数据,这2K个比特数据分属于交织前码块的K个不同分段,可以直接传输至译码校验装置,由运算单元执行CRC校验的实时计算,也就是说分量译码1的译码处理和校验计算可以并行执行;在分量译码1的译码处理完成后,输出单元输出分量译码1阶段的所有时钟周期的CRC运算结果之和,即分量译码1的校验结果。
在分量译码2的译码结果输出阶段,每个时钟周期每个译码器输出2比特数据,K个译码器共输出2K个比特,这2K个比特分属于交织后码块的K个不同分段,在解交织后传输至译码校验装置,由运算单元执行CRC校验的实时计算,也就是说分量译码2的译码处理和校验计算可以并行执行;在分量译码2的译码处理完成后,输出单元输出分量译码2阶段的所有时钟周期的CRC运算结果之和,即分量译码2的校验结果。
分量译码2可以在分量译码1完成后即开始,不需要等到对分量译码1的校验结果的判断完成后再开始,当译码控制单元根据分量译码1的校验结果判断出分量译码1的校验通过后,输出终止分量译码2的译码处理的控制信号。
同样地,分量译码1可以在分量译码2完成后即开始,不需要等到对分量译码2的校验结果的判断完成后再开始,当译码控制单元根据分量译码2的校验结果判断出分量译码2的校验通过后,输出终止分量译码1的译码处理的控制信号。
当译码控制单元判断出分量译码1或分量译码2的校验通过时,译码输出单元从排序存储器读取并输出排序后的数据。
综上所述,本发明技术方案具有如下有益效果:
基于将每个时钟周期译码输出的每一比特数据表示成多项式并求和,然后对求和得到的多项式执行多项式求余的方式,实现了译码校验的实时计算,因此不需要等到译码完成后从排序存储器读出数据进行译码校验。由于仅在校验成功后从排序存储器读出数据,由此节省了因多次无效访问排序存储器而产生的硬件功耗。
一个分量译码的译码处理和校验计算可以并行执行,在一个分量译码的译码处理完成后可以尽早产生校验结果,由此提高了译码校验的处理速度。一个分量译码的译码处理和另一个分量译码的校验结果判断可以并行执行,因此可以提高译码过程的处理速度。
在一个分量译码的译码处理完成后及时产生校验结果,当一个分量译码的校验通过后,通过控制信号可以立即终止另一个分量译码的译码处理,因此可以避免分量译码的无效迭代计算,从而提高译码装置的吞吐量,节省硬件的功耗。
两个分量译码采用相同的逻辑实现CRC校验,简化了硬件设计。
利用QPP交织器的特性,各译码器在相同时钟周期内输出的数据在分段内具有相同的偏移,通过提取公因子,可以有效地减少多项式带余乘法的计算量,从而降低实时校验的运算复杂度。
通过分解n=pw+q,利用查找表获得c(xpw),简化了运算复杂度;并且,用组合逻辑实现c(xpwxq),有效地减少了查找表深度。
将每一时钟周期译码器输出的比特数据按其在分段内的偏移分成两组,在生成这两组比特对总的CRC校验的贡献
Figure BDA00002085679400201
Figure BDA00002085679400202
时,采用相同的硬件结构。
把CRC校验计算分成两个阶段,即初始化阶段与实时计算阶段,并将基本的运算分类成CRC_LUT,CRC_LSH,CRC_SUM与CRC_MUL,由于这两个阶段的计算在时间上没有重叠,故在硬件设计上可以最大限度地复用资源,因此简化了硬件设计,所采用的主要运算资源CRC_LUT,CRC_LSH,CRC_SUM、CRC_MUL和CRC_XOR均为2个。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。

Claims (22)

1.一种译码校验装置,其特征在于,包括:
运算单元,用于对每一时钟周期译码器输出的数据执行校验运算处理,以获得运算结果,所述执行校验运算处理基于如下方式:将每一比特数据表示成多项式并求和,然后对求和得到的多项式执行多项式求余;
输出单元,用于输出校验结果,所述校验结果为译码阶段的所有时钟周期的运算结果之和。
2.如权利要求1所述的译码校验装置,其特征在于,所述运算单元通过下述公式获得运算结果:
c ~ ( i ) = c ( &Sigma; k = 0 K - 1 ( m kL K + I a ( i ) x L - kL K - I a ( i ) - 1 + m kL K + I b ( i ) x L - kL K - I b ( i ) - 1 ) )
= c ( &Sigma; k = 0 K - 1 m kL K + I a ( i ) x L - kL K - I a ( i ) - 1 ) + c ( &Sigma; k = 0 K - 1 m kL K + I b ( i ) x L - kL K - I b ( i ) - 1 ) ,
其中,
Figure FDA00002085679300013
为运算结果,
Figure FDA00002085679300014
Figure FDA00002085679300015
为时钟周期i译码器k输出的2比特数据,
Figure FDA00002085679300016
0≤k<K,L为码块长度,K为分段数,Ia(i)为数据
Figure FDA00002085679300017
在码块分段内的偏移,Ib(i)为数据在码块分段内的偏移。
3.如权利要求1所述的译码校验装置,其特征在于,所述运算单元包括:
基本单元,用于计算c(xn),其中,
Figure FDA00002085679300019
L为码块长度,K为分段数;
求和单元,用于计算 s a ( i ) = &Sigma; k = 0 K - 1 m kL K + I a ( i ) c ( x ( K - k - 1 ) L K ) s b ( i ) = &Sigma; k = 0 K - 1 m kL K + I b ( i ) c ( x ( K - k - 1 ) L K ) ,
Figure FDA00002085679300022
Figure FDA00002085679300023
为时钟周期i译码器k输出的2比特数据,
Figure FDA00002085679300024
0≤k<K;
乘法单元,用于对两个多项式执行带余乘法运算;
加法单元,用于对两个多项式执行加法运算;
第一运算控制单元,用于调用所述基本单元计算k=K-2时的
Figure FDA00002085679300025
调用所述乘法单元计算k≤K-3时的
第二运算控制单元,用于调用所述基本单元计算
Figure FDA00002085679300027
Figure FDA00002085679300028
调用所述求和单元计算sa(i)和sb(i),调用所述乘法单元计算 c ~ a ( i ) = c ( c ( x L K - I a ( i ) - 1 ) s a ( i ) ) c ~ b ( i ) = c ( c ( x L K - I b ( i ) - 1 ) s b ( i ) ) , 调用所述加法单元计算运算结果 c ~ ( i ) = c ~ a ( i ) + c ~ b ( i ) .
4.如权利要求3所述的译码校验装置,其特征在于,所述输出单元用于调用所述加法单元,以输出所述校验结果。
5.如权利要求3所述的译码校验装置,其特征在于,所述基本单元包括:
查表单元,用于以p为索引查表以获得c(xpw),其中,n=pw+q,w取2的幂,0≤q<w;
逻辑单元,用于计算c(xpwxq)。
6.如权利要求1所述的译码校验装置,其特征在于,还包括:读取单元,用于从所述译码器读取译码输出的数据。
7.如权利要求1所述的译码校验装置,其特征在于,还包括:译码控制单元,用于在根据所述校验结果判断出校验通过后,输出终止译码处理的控制信号。
8.一种译码装置,包括第一分量译码单元和第二分量译码单元,所述第一分量译码单元和第二分量译码单元分别通过K个译码器进行译码处理,两个分量译码单元的译码处理交替迭代进行,其特征在于,还包括:校验控制单元和权利要求1至7任一项所述的译码校验装置,所述校验控制单元用于控制所述译码校验装置对所述第一分量译码单元或第二分量译码单元译码输出的数据进行校验以输出校验结果。
9.如权利要求8所述的译码装置,其特征在于,还包括:
排序存储单元,用于存储排序后的所述第一分量译码单元或第二分量译码单元译码输出的数据;
译码输出单元,用于在根据所述校验结果判断出校验通过后,从所述排序存储单元中读取排序后的数据并予以输出。
10.如权利要求9所述的译码装置,其特征在于,所述译码输出单元还用于在根据所述校验结果判断出校验失败且迭代次数达到最大值时,从所述排序存储单元中读取排序后的数据并予以输出。
11.如权利要求8所述的译码装置,其特征在于,所述第一分量译码单元和第二分量译码单元共用K个译码器。
12.一种接收端,其特征在于,包括权利要求8至11任一项所述的译码装置。
13.一种译码校验方法,其特征在于,包括:
对每一时钟周期译码器输出的数据执行校验运算处理,以获得运算结果,所述执行校验运算处理基于如下方式:将每一比特数据表示成多项式并求和,然后对求和得到的多项式执行多项式求余;
输出校验结果,所述校验结果为译码阶段的所有时钟周期的运算结果之和。
14.如权利要求13所述的译码校验方法,其特征在于,所述运算结果通过下述公式获得:
c ~ ( i ) = c ( &Sigma; k = 0 K - 1 ( m kL K + I a ( i ) x L - kL K - I a ( i ) - 1 + m kL K + I b ( i ) x L - kL K - I b ( i ) - 1 ) )
= c ( &Sigma; k = 0 K - 1 m kL K + I a ( i ) x L - kL K - I a ( i ) - 1 ) + c ( &Sigma; k = 0 K - 1 m kL K + I b ( i ) x L - kL K - I b ( i ) - 1 ) ,
其中,
Figure FDA00002085679300043
为运算结果,
Figure FDA00002085679300044
Figure FDA00002085679300045
为时钟周期i译码器k输出的2比特数据,
Figure FDA00002085679300046
0≤k<K,L为码块长度,K为分段数,Ia(i)为数据
Figure FDA00002085679300047
在码块分段内的偏移,Ib(i)为数据
Figure FDA00002085679300048
在码块分段内的偏移。
15.如权利要求13所述的译码校验方法,其特征在于,所述校验运算处理包括:
调用基本单元计算k=K-2时的
Figure FDA00002085679300049
调用乘法单元计算k≤K-3时的
Figure FDA000020856793000410
调用所述基本单元计算
Figure FDA000020856793000411
调用求和单元计算sa(i)和sb(i),调用所述乘法单元计算 c ~ b ( i ) = c ( c ( x L K - I b ( i ) - 1 ) s b ( i ) ) , 调用加法单元计算运算结果 c ~ ( i ) = c ~ a ( i ) + c ~ b ( i ) ;
所述基本单元用于计算c(xn),其中,
Figure FDA000020856793000416
L为码块长度,K为分段数;
所述求和单元用于计算 s a ( i ) = &Sigma; k = 0 K - 1 m kL K + I a ( i ) c ( x ( K - k - 1 ) L K ) s b ( i ) = &Sigma; k = 0 K - 1 m kL K + I b ( i ) c ( x ( K - k - 1 ) L K ) ,
Figure FDA00002085679300053
为时钟周期i译码器k输出的2比特数据,
Figure FDA00002085679300055
0≤k<K;
所述乘法单元用于对两个多项式执行带余乘法运算;
所述加法单元用于对两个多项式执行加法运算。
16.如权利要求15所述的译码校验方法,其特征在于,所述输出校验结果包括:调用所述加法单元,以输出所述校验结果。
17.如权利要求15所述的译码校验方法,其特征在于,所述计算c(xn)包括:
以p为索引查表以获得c(xpw),其中,n=pw+q,w取2的幂,0≤q<w;
计算c(xpwxq)。
18.如权利要求13所述的译码校验方法,其特征在于,还包括:从所述译码器读取译码输出的数据。
19.如权利要求13所述的译码校验方法,其特征在于,还包括:在根据所述校验结果判断出校验通过后,输出终止译码处理的控制信号。
20.一种译码方法,包括第一分量译码和第二分量译码,所述第一分量译码和第二分量译码分别通过K个译码器进行译码处理,两个分量译码的译码处理交替迭代进行,其特征在于,还包括:采用权利要求13至19任一项所述的译码校验方法对所述第一分量译码或第二分量译码输出的数据进行校验以输出校验结果。
21.如权利要求20所述的译码方法,其特征在于,还包括:
存储排序后的所述第一分量译码或第二分量译码输出的数据;
在根据所述校验结果判断出校验通过后,读取排序后的数据并予以输出。
22.如权利要求20所述的译码方法,其特征在于,还包括:在根据所述校验结果判断出校验失败且迭代次数达到最大值时,读取排序后的数据并予以输出。
CN201210319840.5A 2012-08-31 2012-08-31 译码校验装置和方法、译码装置和方法以及接收端 Active CN103684655B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201210319840.5A CN103684655B (zh) 2012-08-31 2012-08-31 译码校验装置和方法、译码装置和方法以及接收端
US13/784,910 US9048866B2 (en) 2012-08-31 2013-03-05 Apparatus and method for checking decoded data, apparatus and method for decoding, and receiving terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210319840.5A CN103684655B (zh) 2012-08-31 2012-08-31 译码校验装置和方法、译码装置和方法以及接收端

Publications (2)

Publication Number Publication Date
CN103684655A true CN103684655A (zh) 2014-03-26
CN103684655B CN103684655B (zh) 2017-03-15

Family

ID=50189230

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210319840.5A Active CN103684655B (zh) 2012-08-31 2012-08-31 译码校验装置和方法、译码装置和方法以及接收端

Country Status (2)

Country Link
US (1) US9048866B2 (zh)
CN (1) CN103684655B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104796162A (zh) * 2015-04-09 2015-07-22 深圳市三朋电子有限公司 Turbo码译码停止迭代准则判断系统、方法及装置
CN112118016A (zh) * 2020-09-22 2020-12-22 展讯通信(上海)有限公司 译码控制方法及装置、终端、存储介质
CN113821370A (zh) * 2021-01-22 2021-12-21 北京诺芮集成电路设计有限公司 一种用于数据传输错误校验的高速crc产生方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1188380A (zh) * 1997-01-17 1998-07-22 松下电器产业株式会社 报文接收机
CN101043300A (zh) * 2006-03-24 2007-09-26 索尼株式会社 重新发送控制电路、控制方法、控制程序以及发送装置
US20080154998A1 (en) * 2006-12-26 2008-06-26 Fujitsu Limited Method and apparatus for dividing information bit string

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100424460B1 (ko) * 2000-10-05 2004-03-26 삼성전자주식회사 터보 복호기의 전송률 검출 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1188380A (zh) * 1997-01-17 1998-07-22 松下电器产业株式会社 报文接收机
CN101043300A (zh) * 2006-03-24 2007-09-26 索尼株式会社 重新发送控制电路、控制方法、控制程序以及发送装置
US20080154998A1 (en) * 2006-12-26 2008-06-26 Fujitsu Limited Method and apparatus for dividing information bit string

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104796162A (zh) * 2015-04-09 2015-07-22 深圳市三朋电子有限公司 Turbo码译码停止迭代准则判断系统、方法及装置
CN104796162B (zh) * 2015-04-09 2017-10-24 深圳市三朋电子有限公司 Turbo码译码停止迭代准则判断系统、方法及装置
CN112118016A (zh) * 2020-09-22 2020-12-22 展讯通信(上海)有限公司 译码控制方法及装置、终端、存储介质
CN112118016B (zh) * 2020-09-22 2022-07-19 展讯通信(上海)有限公司 译码控制方法及装置、终端、存储介质
CN113821370A (zh) * 2021-01-22 2021-12-21 北京诺芮集成电路设计有限公司 一种用于数据传输错误校验的高速crc产生方法和装置
CN113821370B (zh) * 2021-01-22 2024-04-19 北京诺芮集成电路设计有限公司 一种用于数据传输错误校验的高速crc产生方法和装置

Also Published As

Publication number Publication date
US9048866B2 (en) 2015-06-02
US20140068398A1 (en) 2014-03-06
CN103684655B (zh) 2017-03-15

Similar Documents

Publication Publication Date Title
CN109379086B (zh) 低复杂度的码率兼容的5g ldpc编码方法和编码器
CN101902228B (zh) 快速循环冗余校验编码方法及装置
CN102412850B (zh) Turbo码并行交织器及其并行交织方法
Huo et al. High performance table-based architecture for parallel CRC calculation
Angelopoulos et al. Energy-aware hardware implementation of network coding
CN104683072A (zh) 一种删余turbo码分量编码器的参数盲识别方法
CN105322973A (zh) 一种rs码编码器及编码方法
CN106712906A (zh) 一种对上行控制信息进行编码的方法和装置
US9065482B1 (en) Circuit for forward error correction encoding of data blocks
CN103684655A (zh) 译码校验装置和方法、译码装置和方法以及接收端
CN107992283A (zh) 一种基于降维实现有限域乘法的方法和装置
CN106533452A (zh) 一种多进制ldpc编码方法及编码器
Zhang et al. Fast factorization architecture in soft-decision Reed-Solomon decoding
CN111313910B (zh) 空间通信应用的低密度奇偶校验码编码器装置
US8862968B1 (en) Circuit for forward error correction encoding of data blocks
CN103929209A (zh) 基于fpga的高性能组合rs处理器
CN103763064A (zh) 适用于超高速通讯系统的循环冗余校验码生成方法与电路
US20180006664A1 (en) Methods and apparatus for performing reed-solomon encoding by lagrangian polynomial fitting
US9985661B1 (en) Reed-Solomon erasure code decoder
US10171109B2 (en) Fast encoding method and device for Reed-Solomon codes with a small number of redundancies
Zhu et al. Efficient VLSI architecture for soft-decision decoding of Reed–Solomon codes
CN103888224A (zh) 一种用于LTE系统Turbo码内交织的并行实现方法及装置
D’Anvers One-Hot Conversion: Towards Faster Table-Based A2B Conversion
Bobade et al. VLSI architecture for an area efficient Elliptic Curve Cryptographic processor for embedded systems
Lu et al. High-speed low-complexity architecture for Reed-Solomon decoders

Legal Events

Date Code Title Description
PB01 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