CN111431543B - 可变码长可变码率qc-ldpc译码方法及装置 - Google Patents
可变码长可变码率qc-ldpc译码方法及装置 Download PDFInfo
- Publication number
- CN111431543B CN111431543B CN202010400072.0A CN202010400072A CN111431543B CN 111431543 B CN111431543 B CN 111431543B CN 202010400072 A CN202010400072 A CN 202010400072A CN 111431543 B CN111431543 B CN 111431543B
- Authority
- CN
- China
- Prior art keywords
- llr
- decoding
- cyclic shift
- code blocks
- vector
- 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
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/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明提出了一种可变码长可变码率QC‑LDPC译码方法及装置。本发明采用水平分层的块并行结构,利用多码块归并策略,使得译码器能够克服传统译码器在可变码长可变码率配置下计算资源不能得到充分利用,吞吐量降低的问题;进一步地,本发明采用偏移循环移位策略,能够大大减少逻辑资源消耗,降低译码处理时延;此外,本发明采用分布式提前终止策略,能够减少译码迭代次数。相较于现有译码器,本发明在可变码长可变码率场景下具有高能效、高吞吐量、低时延、低资源消耗的特点。
Description
技术领域
本发明属于通信领域,具体涉及一种可变码长可变码率的准循环低密度奇偶校验码(Quasi-Cyclic Low-Density Parity-Check,QC-LDPC)译码实现方法及装置。
背景技术
一方面,为了满足为了移动通信在语言、视频和数据等方面多样化的服务需求,新一代移动通信系统需要支持多种不同的码块长度。另一方面,为了克服无线信道质量的不稳定性,移动通信系统支持的自适应调制编码(Adaptive Modulation and Code,AMC)要求信道编码的码率可变。因此,支持可变码长和可变码率的QC-LDPC被确定为增强移动宽带(Enhanced Mobile Broadband,eMBB)场景数据信道的信道编码方案。由于传统QC-LDPC译码实现方式在支持可变码长可变码率条件时,特别是在小码长低码率场景下,存在计算资源利用率低下的问题,译码吞吐量也大幅下降。
发明内容
发明目的:本发明的目的是提供一种基于改进块并行结构的QC-LDPC译码方法及装置,以提高在各种码长码率配置下计算资源的利用率和译码吞吐量。
技术方案:为实现上述发明目的,本发明采用的技术方案为:
一种可变码长可变码率QC-LDPC译码方法,包括以下步骤:
对待译码块缓存池中的码块进行调度,若存在多个提升因子小于译码并行度的码块,则将多个码块归并,否则按序选择提升因子大于译码并行度的码块;将调度选择的码块的LLR信息载入到LLR缓存区中;
遍历校验基础矩阵,按地址并行取出LLR缓存中的LLR信息向量,进行循环移位处理,当进行多个码块归并译码时,循环移位处理同时对多个LLR信息向量进行处理,对提升因子大于译码并行度的码块进行译码时,循环移位处理通过对LLR信息向量分解的子向量循环移位后再合并;
通过并行计算对各信息向量的值进行更新,更新后的消息重新存入各缓存区的对应位置;
在满足设定的迭代终止条件或达到最大迭代次数时,将LLR信息整理后输出译码结果,完成待译码块缓存池中一次调度选择的码块的迭代译码。
作为优选,在码块调度过程中,根据待译QC-LDPC码块的提升因子大小对码块进行归并,设译码最大并行度为P,将m个提升因子小于等于的QC-LDPC码块进行归并存储,m为归并码块的数量。
作为优选,利用大小为N的benes network对m个向量长度小于的LLR向量进行循环移位,通过对benes network的基本交换单元的控制信号的管理实现输入向量与输出向量的循环移位。
作为优选,定义多个LLR向量的长度为Z=[Z1,Z2,....,Zm],循环移位值为S=[S1,S2,...,Sm],控制信号生成函数CSG(Z,S,m,N),则benes network控制信号生成方法为:当N>2时,调用函数CSG(Z,S,m,N)直至N=2,当N=2时,若(Z1=1,S1=1,m=1),则基本交换单元设为交叉连接CROSS,否则设为直连BAR;其中函数CSG(Z,S,m,N)如下:
生成输入端第一级基本交换单元的控制信号:将第一级基本交换单元分成m组,对i从1到m,如果Zi是偶数,则将第i组的个基本交换单元的控制信号设为BAR,如果Zi是奇数,则将第i组的/>个基本交换单元中前/>个设为BAR,其余设为CROSS,为向下取整符号;
对中间大小为的上下两个子benes network分别调用函数和/>1为1×m维单位向量[1,1,...,1],计算其基本单元的控制信号;
生成输出端最后一级基本单元的控制信号:将最后一级基本交换单元分成m组,对i从1到m,若Zi和Si均为偶数或者奇数,则将第i组的个基本交换单元的控制信号设为BAR,若Zi为偶数且Si为奇数,则将第i组的/>个基本交换单元的前/>个设为CROSS,其余设为BAR,若Zi为奇数且Si为偶数,则将第i组的的/>个基本交换单元的前个设为BAR,其余设为CROSS。
作为优选,LLR信息向量在迭代更新中应用偏移循环移位,具体为在LLR信息向量更新后,将LLR信息向量直接写回到缓存中,下一次读取该地址LLR向量后进行循环移位时,循环移位值设置为原始循环移位值相对与此地址LLR向量上一次更新时循环移位值的偏移;在译码迭代结束后,将各地址LLR向量反向循环移位整理至原始位置。
作为优选,通过设置提前终止条件判断是否提前终止迭代译码,所述提前终止条件为:通过比对更新前后的LLR向量的符号判断层符号是否稳定,同时通过异或累加判断层的LLR比特判决结果是否满足奇偶校验关系;当连续满足符号稳定性和层奇偶校验,输出提前终止信号。
基于相同的发明构思,本发明提供的一种可变码长可变码率QC-LDPC译码装置,包括:码块调度归并模块,用于对待译码块缓存池中的码块进行调度,若存在多个提升因子小于译码并行度的码块,则将多个码块归并,否则按序选择提升因子大于译码并行度的码块;将调度选择的码块的LLR信息载入到LLR缓存区中;
循环移位模块,用于遍历校验基础矩阵,按地址并行取出LLR缓存中的LLR信息向量,进行循环移位处理,当进行多个码块归并译码时,循环移位处理同时对多个LLR信息向量进行处理,对提升因子大于译码并行度的码块进行译码时,循环移位处理通过对LLR信息向量分解的子向量循环移位后再合并;
消息更新模块,用于通过并行计算对各个信息向量的值进行更新,更新后的消息重新存入各缓存区的对应位置;
以及校验终止模块,用于在满足设定的迭代终止条件或达到最大迭代次数时,将LLR信息整理后输出译码结果,完成待译码块缓存池中一次调度选择的码块的迭代译码。
有益效果:与现有技术相比,本发明具有如下优点:
1.本发明的QC-LDPC译码实现方式通过码块调度和多模式循环移位处理,可同时进行多个小提升因子码块的并行译码,解决了传统QC-LDPC译码实现方式对小提升因子码块译码时存在的计算资源利用率低下的问题,提升了译码吞吐量和能效。
2.本发明的QC-LDPC译码实现方式通过在迭代译码过程中判断层处理中符号是否稳定和层奇偶校验是否连续满足的条件来决定是否提前终止迭代译码,分布式的提前终止判断策略能够减少译码迭代次数,提升译码吞吐量。
3.本发明的QC-LDPC译码实现方式通过偏移循环移位处理避免传统译码方式译码流水过程将LLR信息向量反向循环移位的处理,译码装置可只部署一个循环移位模块,大大减少了逻辑资源消耗,并且降低了处理时延。
附图说明
图1为本发明实施例的方法流程图。
图2为本发明实施例的系统结构示意图。
图3为本发明实施例中多码块归并存储结构示意图。
图4为本发明实施例中消息更新模块实现结构示意图。
图5为本发明实施例中提前终止模块实现结构示意图。
具体实施方式
以下结合附图和具体实施例对本发明作进一步的描述,这些实施例仅用于说明本发明,并不是对本发明保护范围的限制。
由于具有支持可变码长的特性,QC-LDPC作为信道编码方法被广泛应用于各类通信系统中。和通常的LDPC码一样,QC-LDPC码的译码过程可以用Tanner图来表示。对于校验矩阵为m×n的LDPC码,拥有n个变量节点(VN)和m个校验节点(CN)。根据置信传播(BP)算法,通过让VN和CN间的对数似然比(LLR)信息相互传递,在多次迭代后就可以实现LDPC译码。分层BP算法在每一层处理中对变量节点和校验节点信息进行更新,能够大大降低迭代次数,提高译码处理的吞吐量。而为了降低计算复杂度,分层的BP算法又可以简化为分层的最小和(MS)算法(具体算法细节可参考J.Chen等的Near optimum universal beliefpropagation based decoding of low-density parity check codes)。对于QC-LDPC码的译码,由于其校验矩阵是由多个循环置换矩阵的块组成,上述过程可以通过块并行的方式进行实现。
如图1和图2所示,本发明实施例公开的一种可变码长可变码率QC-LDPC译码方法,该方法基于改进块并行结构,可在FPGA硬件平台或者ASIC硬件平台实现高吞吐量、高能效、低时延的QC-LDPC译码,主要包括以下步骤:
(1)对待译码块缓存池中的码块进行调度,选择满足一定归并规则的一个或多个码块。
步骤(1)中,将待译码块的码块信息如提升因子大小、基础矩阵选择、缓存区存储起始地址等信息送入码块信息缓存中,码块调度归并模块通过遍历码块信息缓存中的码块信息,选择同一基础矩阵下提升因子在同一范围内的一个或者多个码块,若存在多个提升因子小于译码并行度的码块,则将多个码块归并,否则按序选择提升因子大于译码并行度的码块。具体地,定义译码最大并行度为P,即选择m个提升因子小于等于的QC-LDPC码块,m为归并码块的数量。
(2)将调度选择的码块的LLR信息载入到LLR缓存区中,同时将VN缓存、CN缓存、迭代次数计数置零。
步骤(2)中将m个调度码块的子循环移位矩阵块对应的LLR信息向量进行归并存储,使得能够同时对m个调度码块的LLR信息向量同时进行读写操作。以图3所示为例,最大并行度P设为128时,LLR缓存按照提升因子Z的大小可分为4种存储模式,存储模式1可归并存储4个Z≤32的码块,存储模式2可归并存储2个Z≤64的码块,存储模式3可存储一个Z≤128的码块,每个LLR信息向量占据一个地址位,存储模式4可存储一个Z>128的码块,每个LLR信息向量占据多个地址位。
(3)从上至下逐行,从左至右逐块遍历校验基础矩阵,按地址并行取出LLR缓存中的LLR信息向量,完成循环移位处理后送入消息更新模块,LLR向量的符号向量送入校验终止模块。
步骤(3)利用大小为N的benes network对LLR信息向量进行多模式循环移位,模式一完成长度m个向量长度小于的LLR向量的循环移位,模式二完成长度大于N的LLR向量的循环移位。当最大并行度P设为128,benes network大小N设为128时,循环移位模式一且m=1对应的存储模式为存储模式3,循环移位模式一且m=2对应的存储模式为存储模式2,循环移位模式一且m=4对应的存储模式为存储模式1,循环移位模二对应的存储模式为存储模式4。benes network由2×2的基本交换单元组成,交换单元存在交叉连接(CROSS)和直连(BAR)两种连接方式,通过对benes network的基本交换单元的控制信号的管理可以实现输入向量与输出向量的多模式循环移位。
定义多个LLR向量的长度为Z=[Z1,Z2,....,Zm],循环移位值为S=[S1,S2,...,Sm],控制信号生成函数CSG(Z,S,m,N),则模式一对应benes network控制信号生成算法如下:当N>2时,调用函数CSG(Z,S,m,N)直至N=2,当N=2时,若(Z1=1,S1=1,m=1),则基本交换单元设为CROSS,否则设为BAR。函数CSG(Z,S,m,N)如下:
第一步,生成输入端第一级基本交换单元的控制信号。将第一级基本交换单元分成m组,对i从1到m,如果Zi是偶数,则将第i组的个基本交换单元的控制信号设为BAR,如果Zi是奇数,则将第i组的/>个基本交换单元中前/>个设为BAR,其余设为CROSS,/>为向下取整符号。
第二步,对中间大小为的上下两个子benes network分别调用函数和/>1为1×m维单位向量[1,1,...,1],计算其基本单元的控制信号。
第三步,生成输出端最后一级基本单元的控制信号。将最后一级基本交换单元分成m组,对i从1到m,若Zi和Si均为偶数或者奇数,则将第i组的个基本交换单元的控制信号设为BAR,若Zi为偶数且Si为奇数,则将第i组的/>个基本交换单元的前/>个设为CROSS,其余设为BAR,若Zi为奇数且Si为偶数,则将第i组的/>个基本交换单元的前/>个设为BAR,其余设为CROSS。
模式二完成长度大于N的LLR向量的循环移位。可通过对LLR信息向量进行先分解成多个子向量,对子向量循环移位后再进行合并完成。具体地,定义长度为Z的向量x(n),循环移位值为S,将其分解成q个长度的子向量,要求Z能够被q整除且Zsub≤P,则模式二循环移位步骤如下:
第一步,对长向量x(n)进行均匀采样,其中n∈{0,1,2,...,Z-1},得到子向量:
xi(k)=x(q·k+i),
其中i∈{0,1,2,...,q-1},k∈{0,1,2,...,Nsub-1}。
第二步,计算各个子向量的循环移位值Ssub,i:
其中,bool(·)返回事件的逻辑值,真为1,假为0。利用模式一循环移位中m=1对应的benes network进行子向量的循环移位。
第三步,将q个循环移位后的子向量重新组合为循环移位序列xcs(n):
xcs(n)=xi(n/q)if(mod(mod(n,q))+mod(S,q)=i),
xcs(n)即为模式二循环移位的目的向量。
LLR定点化采用8比特量化,则需例化8个benes network分别完成各比特向量的循环移位,由于各比特向量的循环移位值相同,故只需一个控制信号生成单元。
LLR在迭代更新中应用了偏移循环移位。具体为在LLR信息向量更新后,将LLR信息向量直接写回到缓存中,下一次读取该地址LLR向量后进行循环移位时,实际循环移位值Sreal设置为原始循环移位值Sinitial相对与此地址LLR向量上一次更新时循环移位值Spast的偏移,即
Sreal=mod(Sinitial-Spast+Z,Z).
利用寄存器组存储LLR向量组的历史循环移位值,每次进行循环移位时利用历史循环移位值和原始循环移位值计算相对偏移作为实际循环移位值,并将历史循环移位值更新为实际循环移位值。结束迭代译码后,通过对LLR向量组反向循环移位,循环移位值为对应寄存器存储的历史循环移位值,将LLR数据整理至原始位置。
(4)消息更新模块通过并行计算对各信息向量的值进行更新,更新后的消息将会重新存入各缓存区的对应位置,更新后的LLR向量的符号向量送入校验终止模块。
步骤(4)中,消息更新模块接收循环移位处理之后的LLR向量、VN节点信息向量、CN节点信息向量进行逻辑运算,如图4所示,消息更新模块中的变量节点更新子模块并行计算其外信息:
L(l,k)(qij)=L(l)(LLRi)-L(l-1,k)(rij),
其中,qij表示CNj传递给VNi的信息,rij表示VNi传递给CNj的信息,L(l)(LLRi)为第l次迭代中第i个变量节点对应的LLR信息,L(l-1,k)(rij)表示第k层在第l-1次迭代时CNj传递给VNi的信息,L(l,k)(qij)表示第k层在第l次迭代时VNi传递给CNj的信息。VN-CN的信息向量串行进入最小和计算模块,从而可以并行计算最小和信息,最小和信息包括:
以及对应的VN节点序号imin,其中sgn(·)为取符号函数,Rj标识与CNj连接的VN集合,min(·)为取最小值函数,submin(·)为取次小值函数。软信息更新模块接收到多路并行最小和信息和VN-CN的信息向量,从而计算CN的外信息和LLR信息。计算CN的外信息:
同时,可以按照归一化最小和算法(NMS)或者偏移最小和算法(OMS)对上式进行线性变型。继而更新LLR信息:
L(l)(LLRi)=L(l,k)(rij)+L(l,k)(qij).
在消息更新过程中,各类信息的更新计算均为向量并行化,最大并行度同样为P。各类信息完成更新后均写回到各类型缓存中。
(5)校验终止模块按照层符号稳定和层奇偶校验的判决准则决定是否提前终止迭代译码,若提前终止,则将LLR信息整理后进行输出译码结果,跳转到步骤(8),否则,继续进行迭代译码。
步骤(5)中,校验终止模块接收层处理LLR更新前后的符号向量进行判断。如图5所示,校验终止模块接收层处理前的LLR符号向量并缓存,等到LLR更新后的符号就绪时,一方面,通过比对处理前后LLR符号是否发生变化判断LLR的符号稳定性,另一方面,通过对处理后的LLR向量符号进行模二加法判断是否满足当前层的奇偶校验方程关系。设置带有复位功能的终止计数器,译码开始时初始化置零,当两者条件均满足时加一,否则复位置零。当终止计数器达到预设值时,预设值可以设为当前码率对应基础矩阵的行数,表明译码结果连续满足符号稳定性和层奇偶校验,译码结果稳定,输出提前终止信号。
(6)重复步骤(3)-(5)过程,逐层译码,直至完成所有信息向量的更新,迭代次数计数器加一;即每遍历完一次校验基础矩阵,则完成一次迭代译码。
(7)若迭代次数计数器达到预设最大达到预设值时,退出迭代译码过程,将LLR信息整理后进行输出译码结果;否则,重复(3)-(6),继续进行迭代译码。
(8)对待译码块缓存池中码块重复(1)-(7)过程,直至全部码块完成译码。
基于相同的发明构思,本发明实施例提供的一种可变码长可变码率QC-LDPC译码装置,包括码块调度归并模块,循环移位模块,消息更新模块以及校验终止模块。其中:
码块调度归并模块,用于对待译码块缓存池中的码块进行调度,若存在多个提升因子小于译码并行度的码块,则将多个码块归并,否则按序选择提升因子大于译码并行度的码块;将调度选择的码块的LLR信息载入到LLR缓存区中;
循环移位模块,用于遍历校验基础矩阵,按地址并行取出LLR缓存中的LLR信息向量,进行循环移位处理,当进行多个码块归并译码时,循环移位处理同时对多个LLR信息向量进行处理,对提升因子大于译码并行度的码块进行译码时,循环移位处理通过对LLR信息向量分解的子向量循环移位后再合并;
消息更新模块,用于通过并行计算对各个信息向量的值进行更新,更新后的消息重新存入各缓存区的对应位置;
校验终止模块,用于在满足设定的迭代终止条件或达到最大迭代次数时,将LLR信息整理后输出译码结果,完成待译码块缓存池中一次调度选择的码块的迭代译码。可通过提前终止模块比对处理前后的LLR向量的符号判断层符号是否稳定,同时通过异或累加判断当前层的LLR比特判决结果是否满足奇偶校验关系,当层处理中两种条件均满足时,终止计数器加一,否则清零,当终止计数器达到预设值时,终止迭代译码。
综上所述,本发明利用多码块归并译码、偏移循环移位、提前终止策略的改进型块并行译码结构在FPGA/ASIC平台上完成可变码率可变码长QC-LDPC译码器,具备高吞吐量、高能效、低时延的特点。
Claims (7)
1.一种可变码长可变码率QC-LDPC译码方法,其特征在于,包括以下步骤:
对待译码块缓存池中的码块进行调度,若存在多个提升因子小于译码并行度的码块,则将多个码块归并,否则按序选择提升因子大于译码并行度的码块;将调度选择的码块的LLR信息载入到LLR缓存区中;
遍历校验基础矩阵,按地址并行取出LLR缓存中的LLR信息向量,进行循环移位处理,当进行多个码块归并译码时,循环移位处理同时对多个LLR信息向量进行处理,对提升因子大于译码并行度的码块进行译码时,循环移位处理通过对LLR信息向量分解的子向量循环移位后再合并;
通过并行计算对各信息向量的值进行更新,更新后的消息重新存入各缓存区的对应位置;
在满足设定的迭代终止条件或达到最大迭代次数时,将LLR信息整理后输出译码结果,完成待译码块缓存池中一次调度选择的码块的迭代译码。
2.根据权利要求1所述的一种可变码长可变码率QC-LDPC译码方法,其特征在于,在码块调度过程中,根据待译QC-LDPC码块的提升因子大小对码块进行归并,设译码最大并行度为P,将m个提升因子小于等于的QC-LDPC码块进行归并存储,m为归并码块的数量。
3.根据权利要求1所述的一种可变码长可变码率QC-LDPC译码方法,其特征在于,利用大小为N的benes network对m个向量长度小于的LLR向量进行循环移位,通过对benesnetwork的基本交换单元的控制信号的管理实现输入向量与输出向量的循环移位。
4.根据权利要求3所述的一种可变码长可变码率QC-LDPC译码方法,其特征在于,定义多个LLR向量的长度为Z=[Z1,Z2,....,Zm],循环移位值为S=[S1,S2,...,Sm],控制信号生成函数CSG(Z,S,m,N),则benes network控制信号生成方法为:当N>2时,调用函数CSG(Z,S,m,N)直至N=2,当N=2时,若(Z1=1,S1=1,m=1),则基本交换单元设为交叉连接,否则设为直连;其中函数CSG(Z,S,m,N)如下:
生成输入端第一级基本交换单元的控制信号:将第一级基本交换单元分成m组,对i从1到m,如果Zi是偶数,则将第i组的个基本交换单元的控制信号设为直连,如果Zi是奇数,则将第i组的/>个基本交换单元中前/>个设为直连,其余设为交叉连接,为向下取整符号;
对中间大小为的上下两个子benes network分别调用函数/>和1为1×m维单位向量[1,1,...,1],计算其基本单元的控制信号;
生成输出端最后一级基本单元的控制信号:将最后一级基本交换单元分成m组,对i从1到m,若Zi和Si均为偶数或者奇数,则将第i组的个基本交换单元的控制信号设为直连,若Zi为偶数且Si为奇数,则将第i组的/>个基本交换单元的前/>个设为交叉连接,其余设为直连,若Zi为奇数且Si为偶数,则将第i组的的/>个基本交换单元的前个设为直连,其余设为交叉连接。
5.根据权利要求1所述的一种可变码长可变码率QC-LDPC译码方法,其特征在于,LLR信息向量在迭代更新中应用偏移循环移位,具体为在LLR缓存中某一地址LLR信息向量更新后,将LLR信息向量直接写回到缓存中,下一次读取该地址LLR向量后进行循环移位时,循环移位值设置为原始循环移位值相对与此地址LLR向量上一次更新时循环移位值的偏移;在译码迭代结束后,将各地址LLR向量反向循环移位整理至原始位置。
6.根据权利要求1所述的一种可变码长可变码率QC-LDPC译码方法,其特征在于,通过设置提前终止条件判断是否提前终止迭代译码,所述提前终止条件为:通过比对更新前后的LLR向量的符号判断层符号是否稳定,同时通过异或累加判断层的LLR比特判决结果是否满足奇偶校验关系;当连续满足符号稳定性和层奇偶校验,输出提前终止信号。
7.一种可变码长可变码率QC-LDPC译码装置,其特征在于,包括:
码块调度归并模块,用于对待译码块缓存池中的码块进行调度,若存在多个提升因子小于译码并行度的码块,则将多个码块归并,否则按序选择提升因子大于译码并行度的码块;将调度选择的码块的LLR信息载入到LLR缓存区中;
循环移位模块,用于遍历校验基础矩阵,按地址并行取出LLR缓存中的LLR信息向量,进行循环移位处理,当进行多个码块归并译码时,循环移位处理同时对多个LLR信息向量进行处理,对提升因子大于译码并行度的码块进行译码时,循环移位处理通过对LLR信息向量分解的子向量循环移位后再合并;
消息更新模块,用于通过并行计算对各个信息向量的值进行更新,更新后的消息重新存入各缓存区的对应位置;
以及校验终止模块,用于在满足设定的迭代终止条件或达到最大迭代次数时,将LLR信息整理后输出译码结果,完成待译码块缓存池中一次调度选择的码块的迭代译码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010400072.0A CN111431543B (zh) | 2020-05-13 | 2020-05-13 | 可变码长可变码率qc-ldpc译码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010400072.0A CN111431543B (zh) | 2020-05-13 | 2020-05-13 | 可变码长可变码率qc-ldpc译码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111431543A CN111431543A (zh) | 2020-07-17 |
CN111431543B true CN111431543B (zh) | 2023-08-01 |
Family
ID=71552836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010400072.0A Active CN111431543B (zh) | 2020-05-13 | 2020-05-13 | 可变码长可变码率qc-ldpc译码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111431543B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113162630B (zh) * | 2021-04-25 | 2024-04-09 | 扬州大学 | 一种自适应码长高速率bp译码器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1956368A (zh) * | 2005-10-26 | 2007-05-02 | 中兴通讯股份有限公司 | 基于单位阵及其循环移位阵的ldpc码向量译码装置和方法 |
CN109417392A (zh) * | 2016-07-20 | 2019-03-01 | 华为技术有限公司 | Ldpc码的编解码方法及系统 |
CN110380735A (zh) * | 2019-06-24 | 2019-10-25 | 东南大学 | 一种基于单指令多数据流的软件实现qc-ldpc译码方法 |
-
2020
- 2020-05-13 CN CN202010400072.0A patent/CN111431543B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1956368A (zh) * | 2005-10-26 | 2007-05-02 | 中兴通讯股份有限公司 | 基于单位阵及其循环移位阵的ldpc码向量译码装置和方法 |
CN109417392A (zh) * | 2016-07-20 | 2019-03-01 | 华为技术有限公司 | Ldpc码的编解码方法及系统 |
CN110380735A (zh) * | 2019-06-24 | 2019-10-25 | 东南大学 | 一种基于单指令多数据流的软件实现qc-ldpc译码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111431543A (zh) | 2020-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100703271B1 (ko) | 통합노드 프로세싱을 이용한 저밀도 패리티 검사 코드복호 방법 및 장치 | |
JP4160617B2 (ja) | 移動通信システムにおけるブロック低密度パリティ検査符号の符号化/復号化装置及び方法 | |
RU2369008C2 (ru) | Устройство и способ кодирования-декодирования блочного кода проверки на четность с низкой плотностью с переменной длиной блока | |
US7373581B2 (en) | Device, program, and method for decoding LDPC codes | |
CN109495115B (zh) | 一种基于fpga的ldpc译码器及译码方法 | |
CN107612560B (zh) | 基于部分信息比特似然比的极化码早期迭代停止方法 | |
WO2008080272A1 (fr) | Procédé de décodage pour code ldpc basé sur l'arithmétique bp | |
KR20060032464A (ko) | 효율적인 저밀도 패리티 검사 코드 복호 방법 및 장치 | |
CN101854177B (zh) | 一种高吞吐率的ldpc译码器 | |
CN101931416A (zh) | 移动数字多媒体广播系统中的ldpc码的并行分层译码器 | |
CN109361403A (zh) | Ldpc译码方法、ldpc译码器及其存储设备 | |
US20110179337A1 (en) | Memory utilization method for low density parity check code, low density parity check code decoding method and decoding apparatus thereof | |
CN111431543B (zh) | 可变码长可变码率qc-ldpc译码方法及装置 | |
CN106856406B (zh) | 一种译码方法中校验节点的更新方法及译码器 | |
US11483011B2 (en) | Decoding method, decoding device, and decoder | |
CN110380735B (zh) | 一种基于单指令多数据流的软件实现qc-ldpc译码方法 | |
CN111384970B (zh) | 一种译码方法、装置及通信设备 | |
CN112367085B (zh) | 准循环ldpc码译码方法、译码器、终端及介质 | |
CN116073839A (zh) | 一种提升ldpc译码器短码译码效率的方法及装置 | |
CN113612575A (zh) | 面向Wimax协议的QC-LDPC译码器译码方法及系统 | |
Jabour et al. | The best, the requested, and the default non-binary LDPC decoding algorithm | |
CN113014270B (zh) | 码长可配置的部分折叠极化码译码器 | |
CN110048805B (zh) | 低密度奇偶校验码的译码控制系统及方法、无线通信系统 | |
WO2020052769A1 (en) | Apparatuses and methods for mapping frozen sets between product codes and component polar codes | |
US20230412197A1 (en) | Acceleration of s-polar ecc throughput by scheduler |
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 |