CN110739975B - 一种半随机译码器的变量节点复用方法 - Google Patents
一种半随机译码器的变量节点复用方法 Download PDFInfo
- Publication number
- CN110739975B CN110739975B CN201910892186.9A CN201910892186A CN110739975B CN 110739975 B CN110739975 B CN 110739975B CN 201910892186 A CN201910892186 A CN 201910892186A CN 110739975 B CN110739975 B CN 110739975B
- Authority
- CN
- China
- Prior art keywords
- variable
- variable node
- node
- probability value
- nodes
- 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/11—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 using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
Abstract
本发明公开了一种半随机译码器的变量节点复用方法,属于无线通信中的信道编解码的领域,包括:在每个时钟周期内,由计数器控制的复用器同时从m个变量节点中选出一个变量节点,记为VNi,将其置信概率值Pi,1~Pi,n用乘法运算电路进行计算;在完成乘法运算电路的计算后,解复用器将计算结果Pi,1'~Pi,n'返回VNi;每个变量节点将获取的更新后的置信概率值Pi,1'~Pi,n'通过重随机化单元转化成随机比特流,向对应的校验节点输出。本发明采用多个变量节点复用一个乘法运算电路,并多个变量节点以分时的方式轮流将待处理的置信概率值通过复用器传送给乘法运算电路进行计算,本发明在不显著降低半随机译码器的性能的同时显著地降低了变量节点消耗的资源。
Description
技术领域
本发明属于无线通信中的信道编解码的领域,更具体地,涉及一种半随机译码器的变量节点复用方法。
背景技术
置信传播(Belief Propagation,BP)算法是一种广泛用于LDPC(Low DensityParity Check Code)码,Raptor码,Turbo码和RCM(盲速率自适应传输的速率兼容调制:Rate Compatible Modulation)的译码算法。BP译码算法在校验节点与变量节点之间传递置信信息,通过反复迭代计算使译码过程逐渐趋于收敛。由于BP译码算法具有天然的节点并行性,非常适合实现具有高并行度的译码器,从而提高译码吞吐率。但是由于校验节点和变量节点的复杂度较高,且节点数量较多,在目前的硬件条件下,难以实现全并行结构的译码器。
基于随机计算(Stochastic Computing,SC)的随机译码算法是传统BP译码算法的变形,该算法用串行随机比特流中“1”的比例表示节点传递的置信概率信息,将置信概率的乘、加运算转换为随机比特流的与、或等逻辑运算,从而可以采用简单的逻辑门电路实现节点的处理运算,极大地降低了节点消耗的硬件资源,适合实现全并行结构的译码器。
在随机译码器基础上提出的半随机译码器中,仅有校验节点采用随机计算,而变量节点仍采用概率值相乘的更新运算。由于变量节点的运算具有更高的计算精度,因此,半随机译码器比随机译码器具有很快的收敛速度和更好的译码性能。
发明内容
针对现有技术的缺陷,本发明的目的在于提供一种半随机译码器的变量节点复用方法,旨在解决现有的半随机译码器中因变量节点存在大量的乘法运算,导致半随机译码器中变量节点的硬件资源开销较大的问题。
为实现上述目的,本发明提供了一种半随机译码器的变量节点复用方法,包括:
(1)将译码器中的变量节点分为多组,各组的变量节点个数大于1,且各分组内的变量节点复用一个乘法运算电路;
(2)在当前时钟周期内,各分组并行地从组内的变量节点中选取一个变量节点;
(3)选取的各变量节点先将对应的校验节点输入的随机比特流转换为置信概率值;
(4)置信概率值通过复用器进入各分组对应的乘法运算电路中计算更新后的置信概率值;
(5)将更新后的置信概率值通过解复用器传送给对应选取的各变量节点,并将其转换为随机比特流作为输出传送给对应的校验节点;
(6)判断当前译码器中所有变量节点更新后的置信概率值判决后的输出比特是否满足校验方程或当前译码器是否达到最大译码周期,若是,则停止译码,否则,转至步骤(7);
(7)转至下一时钟周期,判断选取的变量节点是否为各分组中的最后一个变量节点,若是,将分组中的第一个变量节点作为选取的变量节点,转至步骤(3);否则,将分组中的下一个变量节点作为选取的变量节点,转至步骤(3)。
优选地,各分组内对应的变量节点数为2,4,8和16中的一种或至少两种组合;
优选地,所述乘法运算电路的实现方式为对更新前的置信概率值相乘或取对数后相加。
优选地,乘法运算为:
其中,Pi为第i个校验节点更新前的置信概率值;n为一个变量节点对应的校验节点总数;x为校验节点的编号;Px'为第x个校验节点更新后的置信概率值;
优选地,所述变量节点应用于LDPC码或Raptor码或Turbo码或RCM码译码器中的变量节点结构。优选地,时钟周期为5ns;
优选地,最大译码周期数为1800或2000。
通过本发明所构思的以上技术方案,与现有技术相比,能够取得以下有益效果:
(1)本发明采用多个变量节点复用一个乘法运算电路,并多个变量节点以分时的方式轮流将待处理的置信概率值通过复用器传送给乘法运算电路进行计算,相比于传统的一个变量节点对应一个乘法运算电路而言,本发明显著地降低了变量节点消耗的资源。同时由于随机计算是用一定长度的随机比特流来表示概率值,对于概率计算更新的即时性要求不高,所以本发明不会显著降低半随机译码器的性能。
(2)本发明提出各乘法运算电路复用的变量节点数可以为2,4,8和16中的一种或至少两种组合,且提出的变量节点复用方法中的变量节点可以应用于LDPC码或Raptor码或Turbo码或RCM码译码器中的变量节点结构充分可以看出,本发明提出的变量节点复用方法的适用范围较广。
(3)本发明时钟频率在200MHz及以上,对应时钟周期设置在5ns及以下,译码器的吞吐率因此得到提高。
(4)本发明将最大译码周期数设置为1800或2000,足够满足能够成功译码的帧的译码需要,同时对于不能成功译码的数据帧也能及时终止译码。
附图说明
图1是传统的半随机算法变量节点对应的结构图;
图2是本发明提出的变量节点复用方法对应的示意图;
图3是实施例提供的复用度与误帧率之间的关系示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图2所示,本发明提供了一种半随机译码器的变量节点复用方法,包括:
(1)将译码器中的变量节点分为多组,各组的变量节点个数大于1,且各分组内的变量节点复用一个乘法运算电路;
(2)在当前时钟周期内,各分组并行地从组内的变量节点中选取一个变量节点;
(3)选取的各变量节点先将对应的校验节点输入的随机比特流转换为置信概率值;
(4)置信概率值通过复用器进入各分组对应的乘法运算电路中计算更新后的置信概率值;
(5)将更新后的置信概率值通过解复用器传送给对应选取的各变量节点,并将其转换为随机比特流作为输出传送给对应的校验节点;
(6)判断当前译码器中所有变量节点更新后的置信概率值判决后的输出比特是否满足校验方程或当前译码器是否达到最大译码周期,若是,则停止译码,否则,转至步骤(7);
(7)转至下一时钟周期,判断选取的变量节点是否为各分组中的最后一个变量节点,若是,将分组中的第一个变量节点作为选取的变量节点,转至步骤(3);否则,将分组中的下一个变量节点作为选取的变量节点,转至步骤(3)。
图2以一个分组内的变量节点说明本发明提出的变量节点复用方法,假设变量节点复用结构的复用度为m,即该分组内有m个变量节点。其中每个变量节点又和n个校验节点相连。m个变量节点将校验节点将校验节点{CNi,j|1≤i≤m,1≤j≤n}输入的随机比特流均通过概率统计单元统计出对应的置信概率值{Pi,j|1≤i≤m,1≤j≤n}。其中,CNi,j表示该校验节点是与第i个变量节点相连的第j个校验节点。
在每个时钟周期到来时,由计数器控制的复用器同时从m个变量节点中选出一个变量节点,记为VNi,将其置信概率值Pi,1~Pi,n用乘法运算电路进行计算;
在完成乘法运算电路的计算后,解复用器将计算结果Pi,1'~Pi,n'返回VNi;
每个变量节点将获取的更新后的置信概率值Pi,1'~Pi,n'通过重随机化单元转化成随机比特流,向对应的校验节点输出。
需要说明的是,相比于传统的半随机译码器,由于本发明多个变量节点复用一套乘法运算电路,因此可以显著降低电路消耗的资源。虽然该复用方法降低了每个变量节点输出置信概率信息的更新速率,但是由于随机计算是用一定长度的随机比特流来表示概率值,概率信息更新速率降低对随机比特流的统计信息并不会造成很大的影响。
(1)基于上述的陈述,下面进行译码性能分析:
译码性能分析以误帧率(Frame Error Rate,FER)为评价指标,以校验节点和变量节点的个数均为400的RCM半随机译码器为测试实例,将普通的无复用的半随机译码器和几种将变量节点进行不同程度复用的半随机译码器在不同信噪比条件下进行FER测试,得到误帧率性能曲线如图3所示。此性能曲线表明,随着复用度m的增加,译码器的误帧率会逐渐升高,译码器的性能也随之降低。但是,即使在复用度m=16的条件下,该译码器的性能相比无复用的情况仅损失不到0.5dB。所以本发明不会显著降低译码器的误帧率性能。
(2)收敛速度
收敛速度以每种译码器的平均迭代周期为评价指标。平均迭代周期数越低,收敛速度越快。以校验节点和变量节点的个数均为400的RCM半随机译码器为测试实例,表1中测出了对变量节点进行不同程度复用的半随机译码器在信噪比SNR=8.0dB条件下对应的平均迭代周期数。由表1可知,采用了本发明复用方法的译码器收敛速度均慢于无复用结构的普通译码器。且随着复用度m的增加,每个变量节点的更新速率逐渐降低,对应测得的译码器的收敛速度也会降低。但总体而言,收敛速度降低的程度不大,证明本发明不会显著降低译码器的收敛速度。
(3)硬件资源消耗
由于本复用方法是仅针对变量节点的结构改变,所以在评估硬件消耗时仅以变量节点的资源消耗作为标准。表1测出了对变量节点进行不同程度复用的随机译码器相比无复用的普通译码器的变量节点硬件资源消耗占比。表1表明,在不同复用度下,运用本发明的变量节点结构的硬件开销都相对于没有复用的变量节点结构有所降低。且从表1可以看出硬件资源消耗并不是随着复用度m的增加而不断降低,因为在乘法运算电路的开销被多个变量节点分摊的同时,复用器和解复用器又会增加额外的开销。复用度m=8时,测得变量节点开销达到最低,相比无复用结构降低了48%。
表1
平均迭代周期数(SNR=8.0) | 硬件资源消耗占比 | |
无复用 | 313 | 100% |
复用度m=2 | 327 | 74% |
复用度m=4 | 340 | 59% |
复用度m=8 | 363 | 52% |
复用度m=16 | 451 | 54% |
由以上技术指标分析可以看出对变量节点不同程度的复用可以导致半随机译码器具有不同的性能表现及硬件开销。在应用本发明方法时应该综合考虑译码性能,收敛速度和硬件开销等方面,选择合适的复用度完成半随机译码器的设计。
综上所述,本发明采用多个变量节点复用一个乘法运算电路,并多个变量节点以分时的方式轮流将待处理的置信概率值通过复用器传送给乘法运算电路进行计算,相比于传统的一个变量节点对应一个乘法运算电路而言,本发明在不显著降低半随机译码器的性能的同时显著地降低了变量节点消耗的资源。
本发明提出各乘法运算电路复用的变量节点数可以为2,4,8和16中的一种或至少两种组合,且提出的变量节点复用方法中的变量节点可以应用于LDPC码或Turbo码或Raptor码或RCM译码器中的变量节点结构,充分可以看出,本发明提出的变量节点复用方法的适用范围较广。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种半随机译码器的变量节点复用方法,其特征在于,包括:
(1)将译码器中的变量节点分为多组,各组的变量节点个数大于1,且各分组内的变量节点复用一个乘法运算电路,各分组内对应的变量节点数为2、4、8和16中的一种或至少两种组合;
(2)在当前时钟周期内,各分组并行地从组内的变量节点中选取一个变量节点;
(3)选取的各变量节点先将对应的校验节点输入的随机比特流转换为置信概率值;
(4)置信概率值通过复用器进入各分组对应的乘法运算电路中计算更新后的置信概率值;
(5)将更新后的置信概率值通过解复用器传送给对应选取的各变量节点,并将其转换为随机比特流作为输出传送给对应的校验节点;
(6)判断当前译码器中所有变量节点更新后的置信概率值判决后的输出比特是否满足校验方程或当前译码器是否达到最大译码周期,若是,则停止译码,否则,转至步骤(7);
(7)转至下一时钟周期,判断选取的变量节点是否为各分组中的最后一个变量节点,若是,将分组中的第一个变量节点作为选取的变量节点,转至步骤(3);否则,将分组中的下一个变量节点作为选取的变量节点,转至步骤(3)。
2.根据权利要求1所述的变量节点复用方法,其特征在于,所述乘法运算电路的实现方式为对更新前的置信概率值乘法运算或取对数后做加法运算。
4.根据权利要求1至3任一所述的变量节点复用方法,其特征在于,所述变量节点可以应用于LDPC码或Raptor码或Turbo码或RCM码译码器中的变量节点结构。
5.根据权利要求1所述的变量节点复用方法,其特征在于,所述时钟周期为不高于5ns。
6.根据权利要求1或5所述的变量节点复用方法,其特征在于,所述最大译码周期数为1800或2000。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910892186.9A CN110739975B (zh) | 2019-09-20 | 2019-09-20 | 一种半随机译码器的变量节点复用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910892186.9A CN110739975B (zh) | 2019-09-20 | 2019-09-20 | 一种半随机译码器的变量节点复用方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110739975A CN110739975A (zh) | 2020-01-31 |
CN110739975B true CN110739975B (zh) | 2021-06-11 |
Family
ID=69268309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910892186.9A Active CN110739975B (zh) | 2019-09-20 | 2019-09-20 | 一种半随机译码器的变量节点复用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110739975B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113838498B (zh) * | 2021-09-27 | 2023-02-28 | 华中科技大学 | 一种用于存内计算的数据复用运算电路及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005119957A1 (en) * | 2004-06-01 | 2005-12-15 | Nokia Corporation | General code design for the relay channel and factor graph decoding |
CN101404505A (zh) * | 2007-10-03 | 2009-04-08 | 索尼株式会社 | 再现设备和再现方法 |
CN106936446A (zh) * | 2017-03-10 | 2017-07-07 | 南京大学 | 一种基于多进制ldpc码的高速译码器及其译码方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8898537B2 (en) * | 2010-03-17 | 2014-11-25 | The Royal Institution For The Advancement Of Learning/Mcgill University | Method and system for decoding |
CN106911336B (zh) * | 2017-01-17 | 2020-07-07 | 清华大学 | 多核调度的高速并行低密度奇偶校验译码器及其译码方法 |
CN108462496B (zh) * | 2018-04-24 | 2021-04-02 | 成都吉纬科技有限公司 | 一种基于随机比特流更新的ldpc译码器 |
CN109560821A (zh) * | 2018-11-21 | 2019-04-02 | 南京大学 | 一种通用的qc-ldpc码的硬判决比特翻转译码器 |
CN110224703B (zh) * | 2019-05-31 | 2020-11-17 | 华中科技大学 | 一种准循环矩阵及其构造方法 |
-
2019
- 2019-09-20 CN CN201910892186.9A patent/CN110739975B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005119957A1 (en) * | 2004-06-01 | 2005-12-15 | Nokia Corporation | General code design for the relay channel and factor graph decoding |
CN101404505A (zh) * | 2007-10-03 | 2009-04-08 | 索尼株式会社 | 再现设备和再现方法 |
CN106936446A (zh) * | 2017-03-10 | 2017-07-07 | 南京大学 | 一种基于多进制ldpc码的高速译码器及其译码方法 |
Non-Patent Citations (2)
Title |
---|
Variable-Node-Based Dynamic Scheduling Strategy for Belief-Propagation Decoding of LDPC Codes;Xingcheng Liu等;《IEEE Communications Letters》;20141222;第147-150页 * |
基于变量节点更新的LDPC码加权比特翻转译码算法;陶雄飞等;《电子与信息学报》;20160315;第688-693页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110739975A (zh) | 2020-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107612560B (zh) | 基于部分信息比特似然比的极化码早期迭代停止方法 | |
CN100539446C (zh) | 提早终止迭代的涡轮解码器 | |
CN107968657B (zh) | 一种适用于低密度奇偶校验码的混合译码方法 | |
CN105515590A (zh) | 一种基于随机二进制数据流的有效低复杂度串行抵消列表极化码译码算法及其译码构架 | |
CN107809303B (zh) | 一种基于awgn子信道优化的极化码译码方法 | |
CN103957015A (zh) | 用于ldpc码解码的非均匀量化编码方法及其在解码器的应用 | |
CN110233628B (zh) | 极化码的自适应置信传播列表译码方法 | |
CN108809518A (zh) | 用于降低错误性能的级联Spinal码构建方法 | |
CN110739975B (zh) | 一种半随机译码器的变量节点复用方法 | |
CN101577607B (zh) | 可提前结束迭代的归一化最小和译码方法 | |
CN104378122B (zh) | 一种可变长度Turbo码的编译方法 | |
CN102811065A (zh) | 基于线性最小均方误差估计的修正最小和解码方法 | |
CN108199805A (zh) | 一种降低稀疏码多址系统译码复杂度的方法 | |
CN111654353A (zh) | 一种面向下一代以太网的fec方案及其解码器硬件架构 | |
CN101299613B (zh) | ZigZag码译码方法及其装置 | |
US8665970B2 (en) | Method and arrangement related to blind detection | |
CN115037310B (zh) | 一种基于随机计算的5g ldpc译码器性能优化方法及架构 | |
CN109217984B (zh) | 极化码的高效盲检测译码方法及译码器 | |
Lian et al. | Low complexity decoding method for SCMA in uplink random access | |
CN101854179B (zh) | 一种应用于ldpc译码的5比特量化方法 | |
CN111082842A (zh) | 基于码本复用的上行链路scma发射方法与接收方法 | |
CN106533454A (zh) | Turbo码译码迭代控制方法及装置 | |
CN107707333A (zh) | 一种基于码字估计值的极化码早期迭代停止方法及装置 | |
CN110808740B (zh) | 删节信道下基于极化码的低复杂度译码方法 | |
CN114665890A (zh) | 基于冻结比特改进的一种极化码信道构造方法 |
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 |