CN110620587B - 基于不同数据类型传输的极化码bp译码单元 - Google Patents
基于不同数据类型传输的极化码bp译码单元 Download PDFInfo
- Publication number
- CN110620587B CN110620587B CN201910890645.XA CN201910890645A CN110620587B CN 110620587 B CN110620587 B CN 110620587B CN 201910890645 A CN201910890645 A CN 201910890645A CN 110620587 B CN110620587 B CN 110620587B
- Authority
- CN
- China
- Prior art keywords
- sign
- subunit
- output
- input
- input data
- 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
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
一种基于不同数据类型传输的极化码BP译码单元,包括:N个I型计算单元、N个II型计算单元、分别与计算单元的输入和输出相连的深度为1的左输出队列和右输出队列,其中:N为码长,输出队列分别与各个计算单元的输出和其他计算单元的输入相连,本发明选择数据以补码类型和幅值类型共存的形式,有效的节省了数据类型转化的操作,减小了硬件开销,提高了时钟频率。
Description
技术领域
本发明涉及的是一种通信编码领域的技术,具体是一种基于不同数据类型传输的极化码BP译码单元。
背景技术
通信系统中信道编码为数据的传输提供了可靠性,多采用极化码处理。现有的极化码的译码方式主要包括SC(successive cancellation)译码和BP(belief propagation)译码。由于极化码BP译码器基本是由最小PE(process element)单元搭建而成,因此如何设计出一个优化译码单元对整体译码器而言也十分重要。而现有的极化码BP译码器,PE单元使用的是单一的补码类型的数据或单一的幅值类型的数据,在进行加法操作的运算时也需要消耗过多的资源进行数据类型转化的操作。
发明内容
本发明针对现有技术存在的上述不足,提出一种基于不同数据类型传输的极化码BP译码单元,选择数据以补码类型和幅值类型共存的形式,有效的节省了数据类型转化的操作,减小了硬件开销,提高了时钟频率。
本发明是通过以下技术方案实现的:
本发明包括:N个I型计算单元、N个II型计算单元、分别与计算单元的输入和输出相连的深度为1的左输出队列和右输出队列,其中:N为码长,输出队列分别与各个计算单元的输出和其他计算单元的输入相连,从而实现以下计算方式:
其中:(i,j)表示阶段i的第j个输入。
所述的计算单元各自分别包括两个子单元并分别输出out1、out2及其补码形式:
out1=sign(a)sign(d+b)min(|a|,|d+b|),out2=sign(a)sign(c)min(|a|,|c|)+b,其中:a、b、c、d分别为计算单元的输入。
所述的I型计算单元包括第一子单元和第四子单元;II型计算单元包括第二子单元和第三子单元。
技术效果
与现有技术相比,本发明通过使用补码和幅值两种数据表示方式优化PE设计,减少不同数据转化所带来的硬件资源消耗。基于Type-I和Type-II两种PE单元构建译码器的排布形式。
附图说明
图1为本发明PE模块结构示意图;
图2为实施例中第一子单元的硬件实现示意图;
图中signed()表示数据以补码的形式存在;mag()表示数据的幅值大小;sign()表示数据的符号位;/表示数据位宽;Adder表示有符号溢出加法器;Comp&Sel表示比较两个数的幅值大小;inc表示数据自加一;
图3为实施例中第二子单元的硬件实现示意图;
图4为实施例中第三子单元的硬件实现示意图;
图5为实施例中第四子单元的硬件实现示意图;
图6为实施例中I型计算模块实现示意图;
图7为实施例中II型计算模块实现示意图;
图8为实施例中码长N=8的译码器结构示意图。
具体实施方式
对于极化码的BP译码:同样以(N,K)极化码为例,译码方式是基于(n+1)N个节点组成的因子图的迭代运算。在迭代的过程中会产生两种LLR信息,Li,j表示从左到右的LLR消息,Ri,j表示从右到左的LLR消息,其中(i,j)表示阶段i的第j个输入。
如图1所示,所述的LLR信息根据PE单元计算得到,其中左侧数据代表输入的R信息和L信息,右侧输出的数据表示经过PE单元计算得到的下一节点的R信息和L信息。
所述的PE单元的具体的计算规则为:
本实施例通过包含两种表达式类型的PE单元实现上述计算:
out1=g(a,d+b)=sign(a)sign(d+b)min(|a|,|d+b|),
out2=g(a,c)+b=sign(a)sign(c)min(|a|,|c|)+b
其中:在更新L信息的时候,out1表示Li,j,out2表示Li,j+N/2,a,b,c,d分别表示为Li+1,2j-1,Li+1,2j,Ri,j,在更新R信息的时候,out1表示Ri+1,2j-1,out2表示Ri+1,2j,a,b,c,d分表表示为Ri,j,Ri,j+N/2,Li+1,2j-1,Li+1,2j。
优选地,本实施例中输入数据a,c选用幅值的形式存放,输入数据b,d选用补码的形式存放,从而节省PE单元内同一数据信息在不同表达形式之间的转换。
进一步地,根据译码器不同节点间输入与输出的约束关系,out1和out2也同时需要含有幅值和补码类型的数据。
综上,本实施例通过以下四种子单元及两种PE结构实现:
如图2所示,第一子单元包括:一个有符号溢出的加法器、一个幅值比较器、一个逻辑异或门和一个选择器,其中:输入数据a和b的补码signed(a)、signed(b)输入至加法器,通过有符号溢出的相加操作之后,输出结果为signed(b_ADD_d),数据位宽为q,即完成了表达式中b+d的过程;加法器输出的signed(b_ADD_d)的q-1位数据位进行取反加一操作,再和自身经过由sign(b_ADD_d)控制的二选一的选择器输出mag(b_ADD_d);输入数据的幅值mag(a)和mag(b_ADD_d)经选择操作输出较小者,得到min(|a|,|d+b|),即mag(out1),将sign(a)和sign(b_ADD_d)进行异或操作得到sign(a)sign(d+b),即sign(out1)。
如图3所示,第二子单元包括:一个有符号溢出的加法器、两个幅值比较器、一个逻辑异或门和一个选择器,与第一子单元相比,第二子单元的第二幅值比较器将第一子单元的输出进行幅值到补码的数据类型转化操作后作为其输出signed(out1)。
如图4所示,第三子单元包括:一个带进位的溢出加法器、一个幅值比较器、一个逻辑异或门和一个选择器,其中:输入数据a和c的幅值mag(a)、mag(c)输入至幅值比较器得到min(|a|,|c|),输入数据a和c的符号sign(a)和sign(c)经异或得到符号位sign(a)sign(c),选择器根据符号位sign(a)sign(c)将min(|a|,|c|)进行取补码:当sign(a)sign(c)为1说明输出表达式结果为负数需要进行取反加一的操作并与输入数据b的补码signed(b)相加后作为其输出signed(out2)。
如图5所示,第四子单元包括:一个带进位的溢出加法器、两个幅值比较器、一个逻辑异或门和一个选择器,与第三子单元相比,第四子单元的第二幅值比较器将第三子单元的输出进行幅值到补码的数据类型转化操作后作为其新增的输出mag(out2)。
如图6所示,为I型PE计算单元结构示意图,该计算单元包括:第一子单元和第四子单元,其中:输入数据a的幅值以及输入数据b和d的补码分别作为第一子单元的输入,输入数据a的幅值以及输入数据b和d的补码分别作为第四子单元的输入,输入数据a和c的幅值以及输入数据b的补码分别作为第四子单元的输入,该计算单元输出为out1和out2的幅值:out1=g(a,d+b)=sign(a)sign(d+b)min(|a|,|d+b|),out2=g(a,c)+b=sign(a)sign(c)min(|a|,|c|)+b。
如图7所示,为II型PE计算单元结构示意图,该计算单元包括:第二子单元和第三子单元,其中:输入数据a的幅值和符号位以及输入数据b的补码分别作为第二子单元的输入,输入数据a和c的幅值以及符号位以及输入数据b的补码分别作为第三子单元的输入,输入数据a和c的幅值以及输入数据b的补码分别作为第四子单元的输入,该计算单元输出为out1和out2的补码形式。
如图8所示,本实施例具体以码长N=8为例,设计的PE单元在译码器,包括八个I型计算单元、八个II型计算单元、一个深度为1的左节点信息队列和一个深度为1的右节点信息队列,其中:R(0,1~8)即x0~x7由信息比特和冻结比特位置决定,L(3,1~8)即u0~u7由信道输出的LLR信息确定,其余的L和R信息初始化为0;右节点信息队列向后传递R(1,1~8)节点信息用于计算L(1,1~8)节点信息;左节点信息队列向前传递L(1,1~8)节点信息用于计算R(1,1~8)节点信息,具体为:
在更新R节点信息时,前一半的计算单元选用I型计算单元后一半的计算单元选用II型计算单元;在更新L节点信息时,I型和II型计算单元交替排布。通过上述方式对两种PE进行放置,使得补码和幅值两种数据形式并巧妙在译码器中并存,完成循环迭代译码的过程。
硬件开销少:在现有技术中数据转化操作占据了一定的资源消耗比例,本发明选用输入数据选用补码和幅值两种形式共同存在,使得这部分比例大大降低。本实施例中的两种计算单元仅需要3次数据转化操作,而现有方案一中单个block就已经含有3次的数据转化。通过业内广泛使用的综合软件design compiler和smic 55nm的工艺库(scc55nll_vhs_lvt)进行综合实验,结果表明在面积使用方面I型和II型分别对现有方案一优化了约综合9.91%和11.79%。具体的综合对比结果如下表所示:
低复杂度:由上述四个子单元的硬件实现可以看出,本发明的两种计算单元的结构所使用的设计方法和逻辑结构简洁明了,仅使用加法器,比较器,选择器,异或门,非门等基本逻辑单元就完成了译码单元的设计。
时序优化:本发明两种计算单元均减少了部分数据转化的操作,组合逻辑简化的同时也带来了关键路径的时序优化,实验综合结果表明两种计算单元的最高时钟频率高达280M。
所述的两种PE单元中的幅值类型输入a和c直接进行绝对值比较操作,补码类型输入b和d进行加法操作,从而可以显著减少由于数据类型转化所带来的不必要的资源消耗。
经过具体实际实验,在中兴国际55纳米的综合库下scc55nll_vhs_lvt,环境温度为125摄氏度,电压为1.08V。能够得到的实验数据是:综合时钟280M,Type-I占用的面积为336.72μm2,Type-II占用的面积为359.04μm2。使用synopsys的综合软件design compiler综合结果表明:在面积使用方面本发明中的Type-I型和Type-II型PE分别对现有技术优化了约9.91%和11.79%。
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。
Claims (6)
2.根据权利要求1所述的基于不同数据类型传输的极化码BP译码单元,其特征是,所述的I型计算单元包括第一子单元和第四子单元;II型计算单元包括第二子单元和第三子单元。
3.根据权利要求1所述的基于不同数据类型传输的极化码BP译码单元,其特征是,所述的I型计算单元包括:第一子单元和第四子单元,其中:输入数据a的幅值以及输入数据b和d的补码分别作为第一子单元的输入,输入数据a的幅值以及输入数据b和d的补码分别作为第四子单元的输入,输入数据a和c的幅值以及输入数据b的补码分别作为第四子单元的输入,该计算单元输出为out1和out2的幅值:out1=g(a,d+b)=sign(a)sign(d+b)min(|a|,|d+b|),out2=g(a,c)+b=sign(a)sign(c)min(|a|,|c|)+b。
4.根据权利要求1所述的基于不同数据类型传输的极化码BP译码单元,其特征是,所述的II型计算单元包括:第二子单元和第三子单元,其中:输入数据a的幅值和符号位以及输入数据b的补码分别作为第二子单元的输入,输入数据a和c的幅值以及符号位以及输入数据b的补码分别作为第三子单元的输入,输入数据a和c的幅值以及输入数据b的补码分别作为第四子单元的输入,该计算单元输出为out1和out2的补码形式。
5.根据权利要求3所述的基于不同数据类型传输的极化码BP译码单元,其特征是,所述的第一子单元包括:一个有符号溢出的加法器、一个幅值比较器、一个逻辑异或门和一个选择器,其中:输入数据a和b的补码signed(a)、signed(b)输入至加法器,通过有符号溢出的相加操作之后,输出结果为signed(b_ADD_d),数据位宽为q,即完成了表达式中b+d的过程;加法器输出的signed(b_ADD_d)的q-1位数据位进行取反加一操作,再和自身经过由sign(b_ADD_d)控制的二选一的选择器输出mag(b_ADD_d);输入数据的幅值mag(a)和mag(b_ADD_d)经选择操作输出较小者,得到min(|a|,|d+b|),即mag(out1),将sign(a)和sign(b_ADD_d)进行异或操作得到sign(a)sign(d+b),即sign(out1);
所述的第四子单元包括:一个带进位的溢出加法器、两个幅值比较器、一个逻辑异或门和一个选择器,与第三子单元相比,第四子单元的第二幅值比较器将第三子单元的输出进行幅值到补码的数据类型转化操作后作为其新增的输出mag(out2)。
6.根据权利要求4所述的基于不同数据类型传输的极化码BP译码单元,其特征是,所述的第二子单元包括:一个有符号溢出的加法器、两个幅值比较器、一个逻辑异或门和一个选择器,与第一子单元相比,第二子单元的第二幅值比较器将第一子单元的输出进行幅值到补码的数据类型转化操作后作为其输出signed(out1);
所述的第三子单元包括:一个带进位的溢出加法器、一个幅值比较器、一个逻辑异或门和一个选择器,其中:输入数据a和c的幅值mag(a)、mag(c)输入至幅值比较器得到min(|a|,|c|),输入数据a和c的符号sign(a)和sign(c)经异或得到符号位sign(a)sign(c),选择器根据符号位sign(a)sign(c)将min(|a|,|c|)进行取补码:当sign(a)sign(c)为1说明输出表达式结果为负数需要进行取反加一的操作并与输入数据b的补码signed(b)相加后作为其输出signed(out2)。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910890645.XA CN110620587B (zh) | 2019-09-20 | 2019-09-20 | 基于不同数据类型传输的极化码bp译码单元 |
PCT/CN2020/114313 WO2021052229A1 (zh) | 2019-09-20 | 2020-09-10 | 基于不同数据类型传输的极化码bp译码单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910890645.XA CN110620587B (zh) | 2019-09-20 | 2019-09-20 | 基于不同数据类型传输的极化码bp译码单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110620587A CN110620587A (zh) | 2019-12-27 |
CN110620587B true CN110620587B (zh) | 2023-02-17 |
Family
ID=68923691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910890645.XA Active CN110620587B (zh) | 2019-09-20 | 2019-09-20 | 基于不同数据类型传输的极化码bp译码单元 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110620587B (zh) |
WO (1) | WO2021052229A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110620587B (zh) * | 2019-09-20 | 2023-02-17 | 上海大学 | 基于不同数据类型传输的极化码bp译码单元 |
CN113014270B (zh) * | 2021-02-22 | 2022-08-05 | 上海大学 | 码长可配置的部分折叠极化码译码器 |
CN115809041B (zh) * | 2022-12-30 | 2023-04-25 | 中科南京智能技术研究院 | 一种可配置的补码运算装置及计算设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104158549A (zh) * | 2014-07-24 | 2014-11-19 | 南京大学 | 一种极性码译码方法及译码装置 |
CN107273088A (zh) * | 2017-06-16 | 2017-10-20 | 山东科技大学 | 一种针对极化码的快速排序网络方法及装置 |
CN108449091A (zh) * | 2018-03-26 | 2018-08-24 | 东南大学 | 一种基于近似计算的极化码置信传播译码方法及译码器 |
CN108809329A (zh) * | 2018-05-03 | 2018-11-13 | 东南大学 | 一种能同时处理极化码和ldpc码的bp译码器的配置方法 |
CN110166060A (zh) * | 2019-05-24 | 2019-08-23 | 上海大学 | 高吞吐流水线型极化码bp译码器及其实现方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012098898A1 (ja) * | 2011-01-21 | 2012-07-26 | パナソニック株式会社 | 符号化方法、復号方法 |
EP3480959B1 (en) * | 2017-11-03 | 2020-05-13 | Mitsubishi Electric R & D Centre Europe B.V. | Belief propagation decoding of polar codes with prioritized updating of kernels which have not reached stability |
CN108418588B (zh) * | 2018-01-17 | 2022-02-11 | 中国计量大学 | 低延迟极化码译码器 |
CN110620587B (zh) * | 2019-09-20 | 2023-02-17 | 上海大学 | 基于不同数据类型传输的极化码bp译码单元 |
-
2019
- 2019-09-20 CN CN201910890645.XA patent/CN110620587B/zh active Active
-
2020
- 2020-09-10 WO PCT/CN2020/114313 patent/WO2021052229A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104158549A (zh) * | 2014-07-24 | 2014-11-19 | 南京大学 | 一种极性码译码方法及译码装置 |
CN107273088A (zh) * | 2017-06-16 | 2017-10-20 | 山东科技大学 | 一种针对极化码的快速排序网络方法及装置 |
CN108449091A (zh) * | 2018-03-26 | 2018-08-24 | 东南大学 | 一种基于近似计算的极化码置信传播译码方法及译码器 |
CN108809329A (zh) * | 2018-05-03 | 2018-11-13 | 东南大学 | 一种能同时处理极化码和ldpc码的bp译码器的配置方法 |
CN110166060A (zh) * | 2019-05-24 | 2019-08-23 | 上海大学 | 高吞吐流水线型极化码bp译码器及其实现方法 |
Non-Patent Citations (1)
Title |
---|
极化码的译码算法研究及实现;刘星;《中国优秀硕士学位论文全文数据库信息科技辑》;20160815(第8期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2021052229A1 (zh) | 2021-03-25 |
CN110620587A (zh) | 2019-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110620587B (zh) | 基于不同数据类型传输的极化码bp译码单元 | |
Zhang et al. | Reduced-latency SC polar decoder architectures | |
CN104079382A (zh) | 一种基于概率计算的极化码译码器和极化码译码方法 | |
US8495116B2 (en) | Circuit and method converting boolean and arithmetic masks | |
CN108462496B (zh) | 一种基于随机比特流更新的ldpc译码器 | |
Natesan et al. | Shift invert coding (SINV) for low power VLSI | |
WO2022116799A1 (zh) | 一种具有单置换网络的分层半并行ldpc译码器系统 | |
Cyriac et al. | Polar code encoder and decoder implementation | |
CN112214200B (zh) | 一种量子减法运算方法、装置、电子装置及存储介质 | |
CN110166060B (zh) | 高吞吐流水线型极化码bp译码器及其实现方法 | |
Che et al. | TC: Throughput centric successive cancellation decoder hardware implementation for polar codes | |
CN115882875A (zh) | 一种半并行的前瞻性sc译码器设计方法和系统 | |
Bian et al. | A low-latency SC polar decoder based on the sequential logic optimization | |
Wang et al. | An area-efficient hybrid polar decoder with pipelined architecture | |
Ying et al. | Area optimization of MPRM circuits using approximate computing | |
WO2007074708A1 (ja) | 畳み込み符号化器、通信装置、及び畳み込み符号化方法 | |
Imrane et al. | Machine learning for decoding linear block codes: case of multi-class logistic regression model | |
Liu et al. | A stage-reduced low-latency successive cancellation decoder for polar codes | |
Liang et al. | Joint list polar decoder with successive cancellation and sphere decoding | |
CN110752893B (zh) | 一种用于极化码的置信传播的近似译码方法及装置 | |
Tay et al. | A tree search algorithm for low multiplicative complexity logic design | |
US9294134B2 (en) | Viterbi decoding device and method for decoding a signal produced by a convolutional encoder | |
Zhang et al. | Approximate computation for baseband processing | |
Wadayama et al. | Bounds on the Asymptotic Rate for Capacitive Crosstalk Avoidance Codes for On-Chip Buses | |
Zhang et al. | Low-latency SC decoder architectures for polar codes |
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 |