CN110166060B - 高吞吐流水线型极化码bp译码器及其实现方法 - Google Patents

高吞吐流水线型极化码bp译码器及其实现方法 Download PDF

Info

Publication number
CN110166060B
CN110166060B CN201910439148.8A CN201910439148A CN110166060B CN 110166060 B CN110166060 B CN 110166060B CN 201910439148 A CN201910439148 A CN 201910439148A CN 110166060 B CN110166060 B CN 110166060B
Authority
CN
China
Prior art keywords
information
calculation
processing unit
decoder
fifo
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
Application number
CN201910439148.8A
Other languages
English (en)
Other versions
CN110166060A (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.)
University of Shanghai for Science and Technology
Original Assignee
University of Shanghai for Science and Technology
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 University of Shanghai for Science and Technology filed Critical University of Shanghai for Science and Technology
Priority to CN201910439148.8A priority Critical patent/CN110166060B/zh
Publication of CN110166060A publication Critical patent/CN110166060A/zh
Application granted granted Critical
Publication of CN110166060B publication Critical patent/CN110166060B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1555Pipelined decoder implementations

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Engineering & Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Complex Calculations (AREA)

Abstract

一种高吞吐流水线型极化码BP译码器,当译码信息长度为N时,包括:
Figure DDA0002071501190000011
阶计算模块和
Figure DDA0002071501190000012
种不同深度,每种N个的先进先出队列模块;每阶计算模块包括:N/2个用于更新L信息和R信息的处理单元,其中:
Figure DDA0002071501190000013
阶的计算模块进行R信息的更新计算,另外
Figure DDA0002071501190000014
阶的计算模块进行L信息的更新计算;本发明保留利用BP算法解码器与快速傅里叶变换处理器之间的相似性而提出的流水线架构,将不同stage的计算结果放入不同大小的FIFO中,不需要delay、switch或控制ram即可往返传播数据并进行计算,真正实现多码字,高吞吐,高资源利用率的BP译码器。

Description

高吞吐流水线型极化码BP译码器及其实现方法
技术领域
本发明涉及的是一种无线通信领域的技术,具体是吞吐量达到9.752Gbps的流水线型极化码BP译码器及其实现方法。
背景技术
现有最常用的极化码的译码算法如SC译码算法,在进行译码时容易出现错误传播并且在有限码长的情况下性能不佳。此外,当使用SC译码算法时,极化码的信道容量可达特性只有在码长足够长的情况下才能实现。而基于SC译码算法的一系列改进算法由于都是串行解码,解码的等待时延都比较长,因此,有研究者借鉴于LDPC的解码算法,提出了极化码的置信传播(Belief Propagation,BP)解码算法。
BP译码算法因其内在的并行结构优势,译码的延迟远远小于SC译码。但是BP译码需要进行多次迭代,计算复杂度比较高,在设计过程中对资源的使用率和译码的吞吐率提出了更高的要求。如何设计一个高吞吐,高资源利用率,低硬件复杂度的极化码BP译码器,显得尤为重要。
发明内容
本发明针对当前流水架构的译码设计控制复杂,资源利用效率低的问题,提出一种高吞吐流水线型极化码BP译码器及其实现方法,保留利用BP算法解码器与快速傅里叶变换(FFT)处理器之间的相似性而提出的流水线架构,将不同stage的计算结果放入不同大小的FIFO中,不需要delay、switch或控制ram即可往返传播数据并进行计算,真正实现多码字,高吞吐,高资源利用率的BP译码器。
本发明是通过以下技术方案实现的:
本发明涉及一种高吞吐流水线型极化码BP译码器,包括:
Figure BDA0002071501170000011
阶计算模块和
Figure BDA0002071501170000012
种不同深度、每种N个、用于存储和传递译码信息的先进先出队列模块,其中:N为译码信息长度,每阶计算模块包括:N/2个用于更新L信息和R信息的处理单元,其中:
Figure BDA0002071501170000013
阶的计算模块进行R信息的更新计算,另外
Figure BDA0002071501170000014
阶的计算模块进行L信息的更新计算。
技术效果
与现有技术相比,本发明在进行多码字译码的阶段,所有的PE在每一拍都在进行迭代输出,所有的FIFO都存入了有效的迭代信息,实现了百分百的资源利用。以1024码长为例,本发明可以将18码字在译码器中进行译码,在迭代次数完成之后,可以在18拍输出18个码字的译码结果,具有极高的吞吐量。此外,本发明利用FIFO模块不仅完成了迭代信息的存储的难题,同时也将迭代信息的传递变成了自动化的流程,不需要额外的控制,实现了简易的流水线架构拥有极低的设计复杂度。
附图说明
图1为处理单元(PE)结构示意图;
图2为FIFO模块结构示意图;
图3为(8,4)流水译码器结构图;
图4为(1024,512)流水译码器结构图;
图5为处理单元(PE)实现流程图;
图6为FIFO模块实现流程图。
具体实施方式
对于极化码的编码:给定一个极化码
Figure BDA0002071501170000029
其中:N,K,A,
Figure BDA00020715011700000210
分别表示码长、信息长度、信息比特组和冻结比特值,GN和BN分别表示生成矩阵和位反置换矩阵,则极化码的编码为:
Figure BDA0002071501170000021
其中:N=2n
Figure BDA0002071501170000022
Figure BDA0002071501170000023
的克罗内克积。
对于极化码的BP译码:同样以(N,K)极化码为例,译码方式是基于(n+1)N个节点组成的因子图的迭代运算。在迭代的过程中会产生两种LLR信息,Li,j表示从左到右的LLR消息,Ri,j表示从右到左的LLR消息,其中:(i,j)表示阶段i的第j个输入。
本实施例涉及一种利用FIFO来传递中间迭代数据的流水线型BP译码器,通过巧妙地使用FIFO可以免去在传统设计中对ram地址和读写的控制,并且在有限硬件开销上,同时实现高吞吐量和高资源利用率。
所述的BP译码器在译码信息长度为N时,包括:
Figure BDA0002071501170000024
阶计算模块和
Figure BDA0002071501170000025
种不同深度,每种N个,用于存储和传递译码信息的FIFO模块。
所述的译码器中:每阶计算模块包括:N/2个用于更新L信息和R信息的处理(Process Element,PE)单元,其中:
Figure BDA0002071501170000026
阶的计算模块进行R信息的更新计算,另外
Figure BDA0002071501170000027
阶的计算模块进行L信息的更新计算。
所述的处理单元包括:R信息处理单元和L信息处理单元,其中:L信息处理单元规则为:
Figure BDA0002071501170000028
R信息处理单元规则为:
Figure BDA0002071501170000031
其中:
Figure BDA0002071501170000032
运用最小和近似算法得到g(x,y)≈sign(x)sign(y)min(|x|,|y|)。
如图5所示,所述的PE实现流程图,其中abs表示取绝对值操作,sign表示取符号位操作,<号表示比较取最小值操作,XOR表示异或操作,{}表示g函数操作。out1=g(a,d+b),out2=g(a+c)+b,其中:a,b,c,d分别表示输入的Li+1,2j-1,Li+1,2j,Ri,j,
Figure BDA0002071501170000033
out1,out2分别表示输出的Li,j和Li,j+N/2或Ri+1,2j-1和Ri+1,2j
所述的FIFO模块包括:用于存储和传递R信息的R_FIFO模块以及用于存储和传递L信息的L_FIFO模块,其中:R_FIFO的输入端与R信息处理单元相连将R信息向右传递输出至L信息处理单元用于计算L信息,L_FIFO的输入端与L信息处理单元相连将L信息向左传递输出至R信息处理单元用于计算R信息。
所述的FIFO模块的数据输入与输出均与时钟同步,当数据输入FIFO后,经过时钟的个数和FIFO自身的深度相同时,数据从FIFO中输出。
FIFOx就表示深度为x的FIFO,如图4所示,FIFO1、FIFO3、FIFO15等,即分别表示深度为1、3、15的FIFO。
如图6所示,本实施例采用多级D触发器级联的方式实现FIFO模块。
如图3所示,为当码字为8时的流水译码器结构。
本装置涉及上述译码器的工作流程,具体包括:
步骤1)数据初始化为
Figure BDA0002071501170000034
即:R信息的第一阶根据其是否为信息比特判断该位置是零还是正无穷,L信息的最后一阶根据信道输出的对数似然比LLR确定。其他的中间节点信息初始化均为零。
步骤2)时钟第一个上升沿到来后,第一阶PE的R信息处理单元R1有效,PE通过x0~7和L1,1~8计算得出码字1的第一阶R信息,即R1,1~8
步骤3)当时钟第二个上升沿到来时,第一阶PE的R信息处理单元R1、第二阶PE的R信息处理单元R2有效,其中:R1用来产生码字2的第一阶R信息,R2用来产生码字1的第二阶R信息,同时R_FIFO1存入码字1的第一阶R信息;
步骤4)当时钟第三个上升沿到来时,R1、R2、L2有效,R1用来产生码字3的第一阶R信息,R2用来产生码字2的第二阶R信息,L2通过码字1对应的u0~7和R2产生的R2,1~8计算得出码字1的第二阶L信息,即L2,1~8,R_FIFO1模块将码字1的R1,1~8输出至L1的输入端,同时将码字2的R1,1~8输入进来;
步骤5)当时钟第四个上升沿到来时,R1、R2、L2、L1同时有效,R1用来产生码字4的第一阶R信息,R2用来产生码字3的第二阶R信息,L2用来产生码字2的第二阶L信息,L1通过上一拍R_FIFO1模块输出的码字1的R1,1~8和L2输出的L2,1~8计算的得出L1,1~8,R_FIFO1模块输出码字2的R1,1~8并输入码字3的R1,1~8,L_FIFO1模块输入码字1的L2,1~8;至此码字1完成了第一次迭代运算。
步骤6)回到步骤2)开始循环迭代直至码字2~4按照码字1的流水形式依次迭代得到,4个码字在同一个译码器之中各自进行各自的译码操作,将硬件资源的利用率提升至百分之百。
当码字N=1024的时候流水译码器结构图,如图4所示,具体的译码流程与N=8时的分析方式一致。
经过具体实际实验,以N=1024为例,在synopsys的综合工具designer compiler运行环境下,数据定标为5bits,译码迭代次数设定为20次,运行上述方法,能够达到200M的时钟。由
Figure BDA0002071501170000041
得,吞吐量达到9.752Gbps。与现有技术相比,本方法通过借助FIFO存储和传递数据,使得硬件复杂度大大缩减,流水的译码架构实现多码字同时译码达到对高吞吐量的要求。
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。

Claims (1)

1.一种高吞吐流水线型极化码BP译码器,其特征在于,包括:
Figure FDA0003021382790000011
阶计算模块和
Figure FDA0003021382790000012
种不同深度、每种N个、用于存储和传递译码信息的先进先出队列模块,其中:N为译码信息长度,每阶计算模块包括:N/2个用于更新L信息和R信息的处理单元,其中:
Figure FDA0003021382790000013
阶的计算模块进行R信息的更新计算,另外
Figure FDA0003021382790000014
阶的计算模块进行L信息的更新计算;
所述的处理单元包括:R信息处理单元和L信息处理单元,其中:L信息处理单元规则为:
Figure FDA0003021382790000015
R信息处理单元规则为:
Figure FDA0003021382790000016
其中:(i,j)表示阶段i的第j个输入,Li,j表示从左到右的LLR消息,Ri,j表示从右到左的LLR消息,N表示码长,g(x,y)≈sign(x)sign(y)min(|x|,|y|);
所述的先进先出队列模块包括:用于存储和传递R信息的R-FIFO模块以及用于存储和传递L信息的L-FIFO模块,其中:R-FIFO的输入端与R信息处理单元相连将R信息向右传递输出至L信息处理单元用于计算L信息,L-FIFO的输入端与L信息处理单元相连将L信息向左传递输出至R信息处理单元用于计算R信息;
所述的先进先出队列模块的数据输入与输出均与时钟同步,当数据输入先进先出队列模块后,经过时钟的个数和先进先出队列自身的深度相同时,数据从先进先出队列模块中输出。
CN201910439148.8A 2019-05-24 2019-05-24 高吞吐流水线型极化码bp译码器及其实现方法 Active CN110166060B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910439148.8A CN110166060B (zh) 2019-05-24 2019-05-24 高吞吐流水线型极化码bp译码器及其实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910439148.8A CN110166060B (zh) 2019-05-24 2019-05-24 高吞吐流水线型极化码bp译码器及其实现方法

Publications (2)

Publication Number Publication Date
CN110166060A CN110166060A (zh) 2019-08-23
CN110166060B true CN110166060B (zh) 2021-09-14

Family

ID=67632441

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910439148.8A Active CN110166060B (zh) 2019-05-24 2019-05-24 高吞吐流水线型极化码bp译码器及其实现方法

Country Status (1)

Country Link
CN (1) CN110166060B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110620587B (zh) * 2019-09-20 2023-02-17 上海大学 基于不同数据类型传输的极化码bp译码单元
CN111614362A (zh) * 2020-06-10 2020-09-01 重庆邮电大学 一种基于均匀量化的极化码快速简化串行抵消译码算法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9176927B2 (en) * 2011-11-08 2015-11-03 The Royal Institution For The Advancement Of Learning/Mcgill University Methods and systems for decoding polar codes
CN103208997B (zh) * 2013-05-03 2019-09-24 北京理工大学 一种边输入/边译码/边输出的编译码器结构
CN105049064B (zh) * 2015-06-11 2018-08-21 东南大学 一种流水线极化编码器
CN105634507B (zh) * 2015-12-30 2019-05-17 东南大学 极化码置信传播译码器的流水线系统
CN108039891B (zh) * 2017-12-22 2021-02-12 山东科技大学 一种基于多级更新流程的极化码bp译码方法及装置
CN109547035B (zh) * 2018-12-30 2023-02-10 山东科技大学 流水bp极化译码器硬件架构的建立方法及译码器硬件架构

Also Published As

Publication number Publication date
CN110166060A (zh) 2019-08-23

Similar Documents

Publication Publication Date Title
Yuan et al. Low-latency successive-cancellation list decoders for polar codes with multibit decision
Zhang et al. Reduced-latency SC polar decoder architectures
Abbas et al. High-throughput and energy-efficient belief propagation polar code decoder
CN111162797B (zh) 一种速率兼容的5g ldpc码的编码装置及编码方法
KR100846869B1 (ko) 저 복잡도 ldpc복호 장치 및 그 방법
Giard et al. Fast low-complexity decoders for low-rate polar codes
CN104079382A (zh) 一种基于概率计算的极化码译码器和极化码译码方法
Cheng et al. High-speed parallel CRC implementation based on unfolding, pipelining, and retiming
JP4320418B2 (ja) 復号装置および受信装置
Yuan et al. LLR-based successive-cancellation list decoder for polar codes with multibit decision
CN110166060B (zh) 高吞吐流水线型极化码bp译码器及其实现方法
CN108462496B (zh) 一种基于随机比特流更新的ldpc译码器
CN109802688B (zh) 一种多进制ldpc译码系统和方法
Abbas et al. Low complexity belief propagation polar code decoder
CN114297571A (zh) 一种适用于格密码算法的多项式乘法硬件实现系统
Ercan et al. Operation merging for hardware implementations of fast polar decoders
Zhang et al. Fast factorization architecture in soft-decision Reed-Solomon decoding
JP5148586B2 (ja) 復号装置および復号方法
Xu et al. Stochastic BP polar decoding and architecture with efficient re-randomization and directive register
CN112799634A (zh) 一种基于基22mdc ntt结构的高性能环多项式乘法器
Tan et al. Area-efficient pipelined vlsi architecture for polar decoder
Bian et al. A low-latency SC polar decoder based on the sequential logic optimization
Kennedy et al. High-speed CRC computations using improved state-space transformations
Simsek et al. Hardware optimization for belief propagation polar code decoder with early stopping criteria using high-speed parallel-prefix ling adder
Natarajan et al. Lossless parallel implementation of a turbo decoder on GPU

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant