CN117411492A - 一种基于编码分布式快速哈达玛变换的多元ldpc码译码方法 - Google Patents
一种基于编码分布式快速哈达玛变换的多元ldpc码译码方法 Download PDFInfo
- Publication number
- CN117411492A CN117411492A CN202311336574.1A CN202311336574A CN117411492A CN 117411492 A CN117411492 A CN 117411492A CN 202311336574 A CN202311336574 A CN 202311336574A CN 117411492 A CN117411492 A CN 117411492A
- Authority
- CN
- China
- Prior art keywords
- node
- fht
- submatrices
- uncoded
- matrix
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000009466 transformation Effects 0.000 title description 23
- 239000011159 matrix material Substances 0.000 claims description 90
- 238000004364 calculation method Methods 0.000 claims description 45
- 238000006243 chemical reaction Methods 0.000 claims description 27
- 238000004422 calculation algorithm Methods 0.000 claims description 21
- 238000004891 communication Methods 0.000 abstract description 5
- 230000001133 acceleration Effects 0.000 description 7
- 238000011084 recovery Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000009897 systematic effect Effects 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003867 tiredness Effects 0.000 description 1
- 208000016255 tiredness Diseases 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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
-
- 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
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明涉及无线通信技术领域,属于信道译码方法,具体涉及一种基于编码分布式快速哈达玛变换的多元LDPC码译码方法,该方案改进了多元LDPC码的经典FHT‑QSPA译码算法,将其计算复杂度最高的快速哈达玛变换和逆快速哈达玛变换卸载到多个从节点中并行执行,并通过编码冗余信息的嵌入克服了节点掉队的不利影响,在不损失抗掉队能力的前提下,降低了从节点的计算复杂程度量,从而稳定地加速整体译码。
Description
技术领域
本发明涉及无线通信技术领域,属于信道译码方法,具体涉及一种基于编码分布式快速哈达玛变换的多元LDPC码译码方法。
背景技术
多元LDPC码(NB-LDPC,Non-binary LDPC)是由二元LDPC码在有限域(GF,GaloisField)上扩展而来。相比二元码而言,多元LDPC码更好地消除了Tanner图中的短环,提高了纠错性能。多元LDPC码用多个比特表示一个多元符号,获得了较二元LDPC码更好的抗突发错误能力。另外,多元符号与高阶调制更匹配,提升了频谱利用率。
但是,多元LDPC码较高的译码复杂度,极大地阻碍了多元LDPC码的实际应用。多元LDPC码的译码算法以多元和积算法(QSPA,Q-ary Sum-Product Algorithm)为代表,后续针对QSPA算法计算复杂度问题,研究者简化了QSPA算法中的迭代步骤,如替换和积操作、降低信息传递数量等,从而以不同程度的纠错性能损失换取了译码复杂度的降低。此外,现有多元LDPC码的硬件加速算法多基于简化译码算法展开,并在FPGA芯片和GPU设备的支持下实现更高的译码吞吐量。
因此,若要在单点计算资源有限且难以搭载昂贵专用芯片的设备上应用低误码率、高复杂度的多元LDPC码QSPA类译码,则可借鉴分布式计算思路,利用多个节点的算力,共同完成计算密集型的译码任务,从而在纠错译码性能和算法复杂度两方面做出更好的折中。但是,多节点分布式系统中某些节点可能出现通信繁忙、资源抢占、甚至节点失效等情况,从而影响整体任务。这些节点称为掉队节点(Stragglers)。为了克服节点掉队的影响,传统的副本策略使用多个节点负责相同的任务,只要任意节点完成当前任务即可继续后续计算。然而,副本策略中成倍增加的资源消耗,使其在资源利用率方面表现欠佳。
近年来,编码分布式计算(CDC,Coded Distributed Computing)(或简称编码计算)借鉴编码理论,巧妙地在计算任务中嵌入了冗余信息,克服了节点掉队、保护了数据隐私、优化了通信负载,成为了分布式计算领域的研究热点。以主从计算架构的编码计算方案为例,主节点能够通过部分从节点的计算结果直接恢复出掉队节点的计算结果,完成整体计算,克服了掉队节点的拖累。具体来看,编码分布式计算重点关注了矩阵乘法(矩阵-矩阵乘法和矩阵-向量乘法)的分布式加速,译码恢复过程的数值稳定性,利用掉队节点/慢节点部分计算结果,计算稀疏性保持等具体问题;此外,编码分布式计算也嵌入了边缘计算架构,多无人机集群等应用场景,为整体性能优化提供了新的建模方式。
基于现有的编码分布式计算方法,实现抗掉队的分布式多元LDPC码QSPA类译码,其核心是在实现抗掉队的分布式哈达玛变换(FHT,Fast Hadamard Transform),这需要将待变换概率矩阵和系数矩阵进行矩阵乘法,利用多项式码编码矩阵乘法和正交多项式编码矩阵乘法来实现抗掉队的分布式FHT计算。然而,上述两种方案需要将待变换矩阵和FHT系数矩阵均进行编码,破坏了FHT系数矩阵所内涵的蝶形运算结构,使得从节点上FHT由蝶形运算退化为矩阵乘法,其计算复杂度大幅增加。
发明内容
基于此,本发明提出了一种基于系统型MDS码的编码分布式FHT多元LDPC码译码算法。该方案改进了多元LDPC码的经典FHT-QSPA译码算法,将其计算复杂度最高的快速哈达玛变换和逆快速哈达玛变换卸载到多个从节点中并行执行,并通过编码冗余信息的嵌入克服了节点掉队的不利影响,在不损失抗掉队能力的前提下,降低了从节点的计算复杂程度量,从而稳定地加速整体译码。
本发明提出的基于编码分布式快速哈达玛变换的多元LDPC码译码方法,面向主从分布式计算架构,包含一个主节点和多个从节点,采用FHT-QSPA译码算法,其中的快速哈达玛变换或逆快速哈达玛变换计算包括以下步骤:
步骤1:主节点获取用于译码计算的信道概率矩阵B;
步骤2:主节点获取分布式译码设定,包括,参与计算的从节点数量n,设定未编码节点数量k以及编码节点数量n-k;
步骤3:主节点根据分布式节点参数,若执行FHT变换,将信道概率矩阵B按列划分为k个子矩阵,有B={B1,B2,...,Bk},子矩阵Bi称为未编码子矩阵;
对k个未编码子矩阵进行n-k次随机线性组合,得到n-k个编码子矩阵
步骤4:主节点将k个未编码子矩阵和n-k编码子矩阵分别发送给n个从节点;
步骤5:各从节点根据FHT变换的蝶形计算结构,对收到的子矩阵按列进行FHT变换,并将各子矩阵的FHT变换结果的发送给主节点;
步骤6:主节点根据反馈计算结果的从节点索引判读节点掉队情况,如果无未编码子矩阵的节点掉队,则将所有未编码子矩阵的FHT变换结果恢复为最终的信道概率矩阵B的FHT变换结果,如当前需要的是信道概率矩阵B的IFHT计算结果,则有IFHT(B)=1/2r×FHT(B),其中2r为当前码字的有限域阶数;
若有被分配到未编码子矩阵的节点掉队,则根据接收到的其他未编码子矩阵以及编码子矩阵的FHT变换结果,通过求解齐次线性方程组恢复未收到的未编码子矩阵的FHT变换结果,再利用恢复出的结果和已接收到的结果恢复最终的信道概率矩阵B的FHT或IFHT变换结果。
进一步,步骤3中,还包括,建立系数子矩阵PB以确定n-k组编码子矩阵的随机系数,即:
其中的元素为基于标准高斯分布的随机采样;
对k个未编码子矩阵进行如下的随机线性组合,得到n-k个编码子矩阵:
进一步的,步骤6中,求解以下的线性方程组以恢复未收到的未编码子矩阵的FHT变化结果:
其中,Su,Sc分别表示主节点收到的未编码节点索引和节点索引,而Ss表示需要恢复的掉队节点索引,b则表示了编码矩阵中的随机编码系数。
本发明的收益在于:通过将信道概率向量建模为矩阵,为后续分布式并行实现奠定基础,也便于引入编码计算注入冗余信息。在此基础上,本发明面向主从结构分布式架构,设计了一套基于系统型MDS码的编码分布式FHT加速方案,提高了FHT-QSPA译码算法的效率,并且没有影响译码性能。该方法在主节点上对信道概率矩阵进行了切分,并通过编码嵌入了冗余信息;其后,将所有子矩阵卸载到从节点上并行执行快速哈达玛变换以及逆快速哈达玛变换,从节点再将计算结果传回给主节点完成最终译码。编码冗余的嵌入克服了节点掉队问题,稳定地提升了变换效率,从而加速了整个译码过程。与先前编码矩阵乘法相比,本发明的编码复杂度更低,译码恢复数值精度更高,并在从节点上保持了高效蝶形计算结构,降低了从节点计算复杂度。不同有限域和不同码长的多元LDPC耗时对比和译码性能分析表明,本方法大幅提升了FHT-QSPA译码效率,且没有译码性能损失。
附图说明
图1是本发明实施例中的基于编码分布式快速哈达玛变换的多元LDPC码译码方法的架构示意图。
图2是FHT变换蝶形计算结构示意图。
图3是本发明实施例中的译码方法对200码长64元LDPC的FHT和IFHT耗时对比图。
图4是本发明实施例中的译码方法对不同码长的64元LDPC码的FHT和IFHT耗时对比图。
图5是本发明实施例中的译码方法对200码长的不同有限域LDPC码的FHT和IFHT耗时对比图。
图6是本发明实施例中的译码方法与传统FHT-QSPA方案译码的性能对比图。
具体实施方式
下面结合附图对本发明进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。具体实施步骤如下:
一个定义在有限域GF(q)上的多元LDPC码可称为q-元LDPC码,其中q=pr,p为素数,且r>1。令α表示有限域GF(q)的本原元,则有限域GF(q)中的所有元素均可用本原元的幂次来表示,即αi,i∈{0,1,...,q-2,-∞},其中当p=2时,GF(2r)表示二元域的扩展域,其中每一个元素都可以唯一地映射为一个长为r的二元序列。因此,GF(2r)上的多元LDPC码的码字符号可以由r个二进制比特来表示。与二元LDPC码不同,多元LDPC码的校验矩阵中的非零元不仅是‘1’,而是有限域GF(q)中的q-1个非零元αi,i∈{0,1,...,q-2},即一个(n,k)q-元LDPC码/>可由有限域CF(q)上的校验矩阵Hm×n=[hi,j]的零空间来定义,其中hi,j是有限域GF(q)中的元素。合法码字c和校验矩阵H的乘积为0,即HTc=0。
因此,本例中的基于编码分布式快速哈达玛变换的多元LDPC码译码方法,基于FHT-QSPA算法,每个单次译码迭代中包括了校验节点更新,变量节点更新和尝试性译码三步,其中校验节点更新包括等效变换、FHT变换、IFHT变换和逆等效变换四步,而本例的方法中的FHT变换、IFHT变换利用如图1中所示的从分布式计算架构进行加速,该分布式计算架构包含一个主节点和n=5个从节点。
设x为多元LDPC码字经过信号调制和信道传输后接受到的向量,根据多元LDPC码字/>的校验矩阵Hm×n=[hi,j],以参与校验方程的所有非零元素对应的信道概率拼接为一个矩阵[qmn]。其中,[qmn]的尺寸为2r×N,2r表示有限域的大小,而N表示校验矩阵中的非零元素数量。
首先对[qmn]中每一列与校验矩阵中对应的非零元素进行等效变换,等效变换的公式可以参考下式:
其中,÷表示了有限域上的乘法逆运算,而hmn表示校验矩阵中的非零元素。表1给出了一个四元有限域GF(4)上的乘法逆运算的真值表,若用除法来类比其计算关系,则行表示被除数,列表示除数。
表1.GF(4)上的乘法逆运算操作真值表
÷ | 0 | 1 | 2 | 3 |
0 | × | × | × | × |
1 | 0 | 1 | 2 | 3 |
2 | 0 | 3 | 1 | 2 |
3 | 0 | 2 | 3 | 1 |
其次,主节点确定参与计算的从节点数量n,设定未编码节点数量k、编码节点数量n-k。之后,主节点再根据分布式环境参数,将完成等效变换的信道概率矩阵[q′mn]按列划分为k份。
为表述方便,后续令信道概率矩阵为B=[q′mn]。此时,子矩阵划分可表示为B={B1,B2,...,Bk}。具体来说,针对尺寸为2r×N矩阵[q′mn],其划分后的子矩阵规模为2r×N/k。例如,一个定义在GF(4)上的多元LDPC码,若其校验矩阵中有非零元素30个,则概率矩阵[q′mn]尺寸为4×30。那在一个由1个主节点和5个从节点组成的分布式系统中,设置未编码节点数量为3个。此时概率矩阵[q′mn]则分为了3份,每个未编码子矩阵的大小为4×10。
接下来,主节点根据切分好的子矩阵进行编码,得到编码(冗余)子矩阵。总的生成矩阵可建模为下式:
其中,Ik×k表示一个k阶单位阵,而PB表示一个在标准高斯分布上采样的随机数子矩阵,因此,通过生成矩阵与未编码子矩阵序列,即可求出分配所有从节点的子矩阵序列/>即:
具体来看,PB中的每一行确定了一组随机系数,对未编码子矩阵进行线性组合,得到对应的编码子矩阵,即:在上述编码矩阵生成式中,未编码矩阵实际上在计算前后未发生任何变化(子矩阵序列/>的前k个子矩阵即未编码矩阵),直接作为了分发给对应从节点的子矩阵。编码(冗余)子矩阵则是对未编码子矩阵序列进行不同的随机系数线性组合,嵌入了冗余信息,并对应分配给以下的n-k个从节点。正如前述矩阵划分例子,若此时共有5个从节点,其中设置2个编码节点,则编码过程则是将三个大小为4×10的未编码子矩阵进行两次随机线性组合,即和/>
主节点完成子矩阵编码之后,再将所有的未编码子矩阵和编码子矩阵分别发送给相应的从点,即k个从节点各自分配一个未编码子矩阵,剩余n-k个从节点各自分配一个编码子矩阵,此时称被分配到未编码子矩阵的节点为未编码节点,被分配到编码子矩阵的节点为编码节点。所有n个从节点收到主节点所发送的子矩阵之后,就开始根据蝶形结构并行执行快速哈达玛变换,其计算逻辑可以参考图2所示。图2给出了一个四维向量执行FHT变换的例子。可以看到,FHT变换根据蝶形结构仅需要完成加减运算即可完成。
从节点完成FHT变换之后,再将变换后的子矩阵发送给主节点。在此过程中,从节点可能由于计算资源占用、通信链路繁忙、节点失效等情况造成掉队,从而影响主节点的后续任务。因此,采用编码计算方案可以有效抑制节点掉队问题,稳定加速分布式并行算法。具体来说,若编码计算方案由生成矩阵G确定,PB为矩阵G的子矩阵,其大小为(n-k)×k,且PB中的元素均为标准高斯分布中的独立同分布采样得到。此时,该方案给定了一个系统型的MDS码编码计算方案,当主节点收到n个子矩阵变换结果中的任意k个,即可以概率1的可能译码恢复掉队节点对应的子矩阵变换结果。
简便起见,可令前k个节点负责未编码子矩阵的FHT变换,后n-k个节点负责编码子矩阵的FHT变换。设节点的索引集合为i∈{1,2,...,k,k+1,...,n},其中未编码子矩阵对应节点(简称未编码节点)和编码子矩阵对应节点(简称编码节点)所对应的节点索引集合可规定为Iu={i1,i2,...,ik}和Ic={ik+1,ik+2,...,in}。
因此,在前述编码冗余嵌入的基础上,主节点可以在只收到k个从节点计算结果的情况下完成掉队结果的恢复。若此时,主节点共收到了nu个未编码子矩阵的变换结果和nc个编码子矩阵的变换结果。当nu=k时,主节点收到了所有未编码子矩阵的变换结果,并不需要进行译码恢复,可直接进行后续计算任务。
而nu<k时,即未编码节点中出现了掉队,则主节点至少需要收到k-nu个编码子矩阵的变换结果。设主节点此时收到的未编码节点索引集合为和编码节点索引集合为/>且nu+nc=k。主节点可以通过将收到的未编码子矩阵计算结果、编码子矩阵计算结果以及掉队的未编码子矩阵计算结果联立齐次线性方程组。而对该方程组求解即可完成译码恢复,得到掉队节点Ss=Iu\Su的计算结果。
在前述四个从节点分布式并行执行FHT变换例子中,若前三个未编码节点中出现任意一个节点掉队,主节点都可以通过简单的线性方程来求出掉队的未编码子任务结果。例如图1所示,节点1和节点3所对应的未编码子矩阵变换出现了掉队现象。主节点可通过下列方程组求出掉队节点对应的计算结果:
此时,主节点通过冗余信息的嵌入,克服了分布式系统中掉队节点的影响,稳定地加速了FHT变换。
在此基础上,主节点重组得到了FHT变换后的矩阵。此时,校验节点的更新还需对归一化后的FHT变换结果矩阵进行IFHT变换。由于IFHT与FHT的差别仅在于IFHT需要将FHT变换结果乘以码字有限域阶数的倒数,即IFHT(B)=1/2r×FHT(B)。因此,IFHT变换和FHT变换都可以通过上述编码分布式方案进行并行加速。
在完成IFHT变换之后,主节点再接着完成FHT-QSPA译码算法的校验节点更新的逆等效变换,具体的计算公式参考如下:
在完成上述等效变换、FHT、IFHT以及逆等效变换之后,主节点完成了单次译码迭代中的校验节点更新。
其后根据FHT-QSPA译码流程,主节点继续根据校验节点更新步骤所获得的概率矩阵,完成变量节点更新、尝试性译码步骤。若尝试性译码后校验方程全部满足则输出译码结果,完成译码;否则基于变量节点更新的结果,更新概率矩阵[qmn],并进入下一次译码迭代。若达到最大迭代次数,仍未满足全部校验方程,则宣告译码失败,并输出译码结果。
总的来看,本发明提出的基于系统型MDS码的编码分布式FHT变换方案,可以将FHT变换任务卸载到多个从节点上并行执行,并通过冗余信息的嵌入,克服了掉队节点的影响。针对经典的FHT-QSPA译码算法,该方案大大加速了FHT变换及其逆变换的效率,从而加速了整体译码过程。对此,我们选择了多种不同有限域阶数和不同码长的多元LDPC进行了耗时分析,验证了本方案能够在节点掉队的情况下稳定地加速FHT及其逆变换;此外,译码性能对比说明了本方案在掉队结果译码恢复环节数值稳定,没有降低多元LDPC码译码性能。
图3中所展示的实验仿真结果尾针对200码长的64元LDPC码进行的耗时分析,其中共有6组数据。第一组数据的表示单节点自行计算FHT和IFHT的总耗时,大约为191毫秒。而第二组数据则是对两个变换进行了分布式改造,实心数据柱表示(n=5)五个从节点在不掉队的情况下的耗时,约为42毫秒;而虚线数据表示五个节点中有1个节点为编码节点时的耗时,约为49毫秒。后续四组数据表示五个节点中有一个节点为掉队节点,其计算速度退化为原来的1/λ。此时,我们设置其计算速度为原来的1/2一直到1/5。可以看出的是,实心数据表示的纯分布式系统的耗时出现了不断增加的情况。当单个节点计算速度退化为原来1/5时,甚至出现了不如单节点自行计算耗时的情况,此时分布式改造并没有耗时方面的获益。而虚线所表示的编码分布式方案则稳定了将FHT变换和IFHT变换进行了加速,耗时均在50毫秒左右。
图4和图5中展示了针对不同的码字有限域阶数和码长的实验结果。分布式参数仍设置为5个节点,其中有1个节点为编码节点。此时设置掉队节点数量为1,而掉队程度设置为2。图4中的实验选用了不同码长的64元LDPC码作为测试对象,分析了单节点执行FHT和IFHT的耗时与编码分布式执行FHT和IFHT的耗时。当码长从200增长到2000,两个变换的总耗时从191毫秒快速增加到了2105毫秒。而编码分布式FHT方案能够对FHT和IFHT进行稳定的并行加速,提升两者计算效率。图5中的实验则固定码长为200,将有限域阶数从16增加到256,随着有限域阶数增加,两个变换的总耗时从49毫秒增长到866毫秒。因此,针对码长变长和有限域变大的情况,编码分布式FHT方案大幅节约了FHT和IFHT计算时间,加速了校验节点更新,从而加速了整体FHT-QSPA译码过程。
现有技术中,若要实现抗掉队的分布式FHT,可以将待变换概率矩阵和系数矩阵进行矩阵乘法。因此,可以利用先前文献中所提多项式码编码矩阵乘法和正交多项式编码矩阵乘法来实现抗掉队的分布式FHT计算。然而,上述两种方案将待变换矩阵和FHT系数矩阵均进行了编码,破坏了FHT系数矩阵所内涵的蝶形运算结构,使得从节点上FHT由蝶形运算退化为矩阵乘法,其计算复杂度则由大幅增加为/>其中r表示扩展域阶数、2r表示子矩阵行数、N/k表示子矩阵列数。而本方案优化了编码冗余嵌入方式,主节点仅需对待变换矩阵进行编码即可实现抗节点掉队,从而在从节点上维持了FHT变换的高效蝶形计算结构,降低了从节点上的计算复杂度。
接下来选用了码长为800的16元LDPC码作为测试码字。首先通过随机方法得到了码字生成矩阵,之后对随机生成的码字进行编码,并对信号进行BPSK调制,其后经过AWGN信道加噪;最后再分别使用FHT-QSPA和基于编码分布式方案的FHT-QSPA进行译码,并分析其译码性能。图6给出了两种算法的译码性能曲线,可以看出基于编码分布式FHT方案的译码算法(Coded FHT-QSPA),其译码性能相较于原始算法没有损失。此外,本例也分析了经过编码分布式FHT的方案和原始单节点FHT方案在5个从节点,其中有1个编码节点的分布式环境下的加速效果,掉队节点数量为1个,节点掉队程度为正常未掉队节点的1/2。具体的加速效果如下表所示:
表2两种译码算法单次迭代耗时统计表
总的来看,本发明所提方案针对多元LDPC码的FHT-QSPA译码进行了改进,通过编码分布式计算稳定加速了其FHT和IFHT计算环节,克服了掉队节点的影响,且没有译码性能损失。
Claims (3)
1.一种基于编码分布式快速哈达玛变换的多元LDPC码译码方法,面向主从分布式计算架构,包含一个主节点和多个从节点,采用FHT-QSPA译码算法,其特征在于,其中的快速哈达玛变换或逆快速哈达玛变换计算包括以下步骤:
步骤1:主节点获取用于译码计算的信道概率矩阵B;
步骤2:主节点获取分布式译码设定,包括,参与计算的从节点数量n,设定未编码节点数量k以及编码节点数量n-k;
步骤3:主节点根据分布式节点参数,将信道概率矩阵B按列划分为k个子矩阵,有B={B1,B2,...,Bk},子矩阵Bi称为未编码子矩阵;
对k个未编码子矩阵进行n-k次随机线性组合,得到n-k个编码子矩阵
步骤4:主节点将k个未编码子矩阵和n-k编码子矩阵分别发送给n个从节点;
步骤5:各从节点根据FHT变换的蝶形计算结构,对收到的子矩阵按列进行FHT变换,并将各子矩阵的FHT变换结果的发送给主节点;
步骤6:主节点根据反馈计算结果的从节点索引判读节点掉队情况,如果无未编码子矩阵的节点掉队,则将所有未编码子矩阵的FHT变换结果恢复为最终的信道概率矩阵B的FHT变换结果,如当前需要的是信道概率矩阵B的IFHT变换结果,则有IFHT(B)=1/2r×FHT(B),其中2r为当前码字的有限域阶数;
若有被分配到未编码子矩阵的节点掉队,则根据接收到的其他未编码子矩阵以及编码子矩阵的FHT变换结果,通过求解齐次线性方程组恢复未收到的未编码子矩阵的FHT变换结果,再利用恢复出的结果和已接收到的结果恢复最终的信道概率矩阵B的FHT或IFHT变换结果。
2.根据权利要求1所述的方法,其特征在于,步骤3中,还包括,建立系数子矩阵PB以确定n-k组编码子矩阵的随机系数,即:
其中的元素为基于标准高斯分布的随机采样;
对k个未编码子矩阵进行如下的随机线性组合,得到n-k个编码子矩阵:
3.根据权利要求2所述的方法,其特征在于,步骤6中,求解以下的线性方程组以恢复未收到的未编码子矩阵的FHT变化结果:
其中,Su,Sc分别表示主节点收到的未编码节点索引和节点索引,而Ss表示需要恢复的掉队节点索引,b则表示了编码矩阵中的随机编码系数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311336574.1A CN117411492A (zh) | 2023-10-16 | 2023-10-16 | 一种基于编码分布式快速哈达玛变换的多元ldpc码译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311336574.1A CN117411492A (zh) | 2023-10-16 | 2023-10-16 | 一种基于编码分布式快速哈达玛变换的多元ldpc码译码方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117411492A true CN117411492A (zh) | 2024-01-16 |
Family
ID=89488202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311336574.1A Pending CN117411492A (zh) | 2023-10-16 | 2023-10-16 | 一种基于编码分布式快速哈达玛变换的多元ldpc码译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117411492A (zh) |
-
2023
- 2023-10-16 CN CN202311336574.1A patent/CN117411492A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7373581B2 (en) | Device, program, and method for decoding LDPC codes | |
TWI419481B (zh) | 低密度奇偶檢查碼編解碼器及其方法 | |
Chepyzhov et al. | On a fast correlation attack on certain stream ciphers | |
KR101270815B1 (ko) | 다양한 클래스의 코드들을 인코딩 및 디코딩하는 애플리케이션을 갖는 인-플레이스 변환 | |
CN101924565B (zh) | Ldpc编码器、解码器、系统及方法 | |
KR100502609B1 (ko) | Ldpc 코드를 이용한 부호화기 및 부호화 방법 | |
CN111162797B (zh) | 一种速率兼容的5g ldpc码的编码装置及编码方法 | |
CN100581064C (zh) | 低密度奇偶校验码解码装置和方法 | |
JP4320418B2 (ja) | 復号装置および受信装置 | |
CN105656604A (zh) | 一种比特交织极化编码调制方法及装置 | |
CN109586732B (zh) | 中短码ldpc编解码系统和方法 | |
Das et al. | Distributed matrix-vector multiplication: A convolutional coding approach | |
CN106998208B (zh) | 一种可变长Polar码的码字构造方法 | |
US20130283119A1 (en) | Method and Apparatus for Elementary Updating a Check Node During Decoding of a Block Encoded with a Non-binary LDPC Code | |
CN105262493A (zh) | 低密度奇偶校验码的译码方法 | |
KR102092634B1 (ko) | Ldpc 부호 복호기 및 복호 방법 | |
CN113422611B (zh) | 一种qc-ldpc编码器的高度并行编码方法 | |
CN117411492A (zh) | 一种基于编码分布式快速哈达玛变换的多元ldpc码译码方法 | |
CN112534724B (zh) | 用于解码极化码和乘积码的解码器和方法 | |
CN102347774A (zh) | 低密度奇偶检查码编解码方法 | |
CN112640314A (zh) | 用于在乘积码和分量极化码之间映射冻结集的装置和方法 | |
Kakde et al. | FPGA implementation of decoder architectures for high throughput irregular LDPC codes | |
Subramaniyan et al. | Pushing the limits of energy efficiency for non-binary LDPC decoders on GPUs and FPGAs | |
CN110730003A (zh) | 一种ldpc编码方法及ldpc编码器 | |
CN114553242B (zh) | 基于半概率计算的部分并行ldpc译码器 |
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 |