CN103973317A - 一种多元ldpc码的快速译码方法 - Google Patents
一种多元ldpc码的快速译码方法 Download PDFInfo
- Publication number
- CN103973317A CN103973317A CN201410180958.3A CN201410180958A CN103973317A CN 103973317 A CN103973317 A CN 103973317A CN 201410180958 A CN201410180958 A CN 201410180958A CN 103973317 A CN103973317 A CN 103973317A
- Authority
- CN
- China
- Prior art keywords
- prime
- delta
- max
- check
- node
- 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
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明公开一种多元LDPC码的快速译码方法,该方法包括建立校验矩阵H;建立变量节点集合;定义剩余变量节点的集合;确定变量节点之间的信息向量;确定信息向量中最可靠的分量;根据最可靠分量求得所对应的可靠度信息;对信息向量进行相应的逆变换,更新变量节点信息,得到最终译码结果。采用本发明所述技术方案可简化译码算法,节省大量搜索时间,降低译码的复杂度,减少对存储空间的使用,有效提高译码效率。
Description
技术领域
本发明涉及一种译码方法。更具体地,涉及一种多元LDPC码的快速译码方法。
背景技术
对于一个GF(q)上的多元LDPC码,其译码算法与二元LDPC码基本相同,都是基于Tanner图进行的。不同的是,二元LDPC码的每个变量(校验)节点仅带有一个可靠度信息,而多元LDPC码的每个变量(校验)节点都带有q个域元素以及它们所对应的可靠度信息。译码的实质就是通过迭代的过程,从这q个域元素中找出一个具有最大可靠度信息的域元素,作为相应变量节点的译码结果。
目前,多元LDPC码的译码方法很多,常见的有QSPA、FFT-QSPA、ISRB-MLGD算法,多元最小和(min-sum,MS),以及扩展最小和(extendedMS,EMS)译码算法。这些方法在进行校验节点更新时,实质是遍历搜索所有满足校验和关系的校验方程,更新相应的域元素的可靠度信息。由于一个校验节点有q个域元素需要更新,所以这样的遍历搜索会导致计算复杂度的增加。其中,多元MS算法是基于对数域来设计的,在更新校验节点的每个域元素分量时,该算法是在满足校验和关系的多个校验方程中,选取最可靠的一个方程作为校验节点更新后的信息,传递给相邻的变量节点。多元MS算法的校验节点更新复杂度为O(q2),相对于QSPA并没有实质下降。因此,对于该算法的简化和优化是必要的。
因此,需要提供一种多元LDPC码的快速译码方法,以降低译码的复杂度,减少译码时间,提高译码速度。
发明内容
本发明要解决的技术问题是提供一种多元LDPC码的快速译码方法,以克服现有译码方法运算复杂、译码时间长、浪费空间的问题。
为解决上述技术问题,本发明采用下述技术方案:一种多元LDPC码的快速译码方法,该方法包括
S1、在GF(q)上构建多元LDPC码的校验矩阵H,校验矩阵大小为m×n,行重为ρ,列重为γ,其中每个非零元素为hij,0≤i<m,0≤j<n,用q维向量表示变量节点与校验节点之间传递的信息;
S2、建立参与第i个校验方程的所有变量节点的集合Ni={j:0≤j<n,hij=1}和参与第j个符号的所有校验方程的集合Mj={i:0≤i<m,hij=1};
S3、将除去变量节点j的第i个校验方程中剩余变量节点的集合定义为Ni\j;将第i个变量节点所参加的第j个校验方程除去后剩余的校验方程的集合定义为Mj\i;
S4、令表示在第k次迭代时,变量节点j传递给校验节点i的信息向量;令 为校验节点i传递给变量节点j的信息向量;
S5、确定中最可靠的分量 其中
S6、根据步骤5中求得的最可靠的分量,求得q-1个分量所对应的可靠度信息
S7、对进行相应的逆置换,更新变量节点信息,得到最终译码结果:
优选的,所述步骤S4中
任一分量代表了变量节点j取域元素α时,向校验节点i传递的对数密度比信息;
任一分量为校验节点i传递到变量节点j的对数密度比,代表了在第j个符号取域元素α时,第i个校验方程满足校验和关系的可靠度信息。
优选的,所述步骤S5进一步包括
S51、更新校验节点i到变量节点j的信息时,对所有相邻变量节点j'∈Ni\j,都取其信息向量中的最大分量记为此分量所对应的域元素记为δmax,ij';
S52、将步骤S51中所述的最大分量相加获得中最可靠的分量 其中
优选的,所述步骤S6进一步包括
S61、在与校验节点i相邻的ρ-1个变量节点的信息向量中找到域元素δ'+δt对应的ρ-1个可靠度信息
S62、从ρ-1个值中选择最大值,并将整个最大值所对应的支路记为此时可得到
本发明的有益效果如下:
采用本发明所述技术方案可简化译码算法,节省大量搜索时间,降低译码的复杂度,减少对存储空间的使用,有效提高译码效率。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的说明。
图1示出本发明所述的快速译码方法步骤示意图;
图2示出本发明所述的校验节点更新示意图;
图3示出实施例1误码性能对比示意图;
图4示出实施例2误码性能对比示意图。
具体实施方式
为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。
本发明是基于多元MS算法进行改进的。多元MS算法是基于对数域来设计的,其原因有两个:首先,对数域可以将原本较复杂的乘法转化为简单的加法运算,从而减少运算复杂度,有利于硬件的实现;其次,对数域算法通常更具有健壮性,可以对抗量化带来的性能损失。因此二进制LDPC码及Turbo码常见的简化算法都是基于对数域的。在对数域算法中,我们采用对数密度比(LDR)来表示符号所携带的可靠度信息。对于GF(2r=q)中任意一个非零元素b,α为GF(q)的本元原
Ln(b)=[Ln(b=α1),…,Ln(b=αq-1)] (1)
其中
对于任一0≤l<q,GF(2r)中的元素αl的二进制向量形式可以表示为(αl,0,αl,1,…,αl,r)。此外,P(b=αl)表示b取αl的概率,而式(2)称为b取αl的对数密度比。根据定义可知Ln(b=0)=0。且对数密度比的值Ln(b=αl)越大,说明域元素b取αl的概率越高。
如式(3)所示,令H为定义在GF(q)上的多元LDPC码的校验矩阵,其大小为m×n,,行重为ρ,列重为γ。其中每个非零元素为hij,0≤i<m,0≤j<n。变量节点与校验节点之间传递的信息用q维向量来定义。
定义下面两个集合:
Ni={j:0≤j<n,hij=1} (4)
Mj={i:0≤i<m,hij=1} (5)
集合Ni中的元素表示矩阵H的第i行hi中非零元素的位置,即参与第i个校验方程的所有变量节点的集合,而集合Mj中的元素表示矩阵H的第j列中非零元素的位置,即参与校验第j个符号的所有校验方程的集合。其次,将除去变量节点j的第i个校验方程中剩余变量节点的集合定义为Ni\j,将第i个变量节点所参加的第j个校验方程除去后剩余的校验方程的集合定义为Mj\i。
令表示在第k次迭代时,变量节点j传递给校验节点i的信息向量,其中任一分量代表了变量节点j取域元素α时向校验节点i传递的对数密度比信息;为校验节点i传递给变量节点j的信息向量。其中每一分量为校验节点i传递到变量节点j的对数密度比,代表了在第j个符号取域元素α时,第i个校验方程满足校验和关系的可靠度信息。
本发明中所述校验节点更新的具体方法包括:
第一步:确定中最可靠的分量:更新校验节点i到变量节点j的信息时,对所有相邻变量节点j’∈Ni\j,都取其信息向量中的最大分量,记为此分量所对应的域元素记为δmax,ij'。将这些分量相加得到的值,即是中最可靠的分量,记为 其中
第二步:确定中的其它q-1个分量:根据第一步中得到的最可靠的分量,求得其他q–1个分量的值,同时保证校验和能够得到满足,即保证如图1所示的输出分支取GF(q)中的某一域元素a时,输入分支所携带的域元素相加和恰好等于a。对于GF(q)中任意除δ'外的域元素δt=δ'+(δ'+δt)(这里的加法是基于GF(q)的伽罗华域加法,根据伽罗华域加法规则知δ'+δ'=0,所以可以推导出上式左右两端相等),其中0≤t<q,且δt≠δ',确定其对应的可靠度信息方法如下:
在与校验节点i相邻的ρ-1个变量节点的信息向量中找到域元素δ'+δt对应的ρ-1个可靠度信息并从这ρ-1个值中选择值最大的一个,且将这个最大值所对应的支路记为则
用此方法即可得到其余的q-1个分量所对应的可靠度信息
本发明所述的快速译码方法实施过程如下:
1、初始化:设k=0,且最大迭代次数为Imax。对于所有的i∈Mj,中任一分量初始化为信道信息z为经过信道后的硬判决向量。
2、校验:若Hz=0,则停止迭代输出译码结果。若不为0,则令k=k+1,继续译码迭代过程。
3、元素置换:对于H中的非零元素hij,需要进行元素置换,
4、校验节点信息更新:
1)确定中最可靠的分量:求得校验节点信息向量中最可靠的分量 其中
2)确定中的其它q-1个分量:对于0≤t<q,且δt≠δ’;
5、元素逆置换:对进行相应的逆置换。即
6、变量节点信息更新:
7、译码: 得到最终译码结果。
本发明针对多元MS算法进行改进,主要是对校验节点的更新进行优化,改进的译码算法不再盲目尝试求解所有满足校验和关系的方程,而是有目的性的求出一个可靠性最高的校验方程。将改进的多元MS算法称为IMS(improvedMS)算法。IMS算法通过对MS算法中如何找到一个可靠的校验方程代替所有满足校验和关系的校验方程的过程进行改进,对于定义在GF(q)上的LDPC码,保留信息向量的完整性,通过有目的性的求解最可靠的校验方程,使得校验节点更新这一步的算法简化。在此基础上,对于校验节点信息向量中的分量的更新做区分处理,可以求出一个最可靠的分量,再根据这个分量,通过最大值准则计算出其它的q–1个分量的更新值,也就确定了其对应的最可靠的校验方程。传统的MS算法在校验节点更新每个域元素时需要列出对应于该域元素的所有校验方程,再从中找寻可靠度最大的方程。这样需要大量的存储空间,且搜索可靠度最大方程时需要大量的时间。为了减小时间和空间复杂度,本发明所述的IMS算法不再采用这种列表的方式。本发明书所述方法利用的是,在校验矩阵中很容易找到每个校验节点的邻居变量节点中可靠度最大的那些域元素,这组域元素组成的校验方程得到的域元素便是在更新过程中可靠度最大的域元素,此处与MS算法中列表找到最大校验方程的过程所要达到的效果是相同的,但却不再需要存储邻居变量节点组合出的所有校验方程。找到了这个最大域元素后,只需要在这个域元素上加上一个偏移量,即GF(q)中的任意元素,就可以得到新的域元素,而偏移量加到对应于最大域元素的那组邻居变量节点上,便得到了新的域元素所对应的可靠度信息。综上所述,本发明所述方案只需要一个偏移量就能找到新的域元素的可靠度,不需要列表搜索,节省了大量的搜索时间。
下面根据具体实施例对本发明所述方法与常见方法对比及描述:
实施例1
现定义一个在GF(64)上的(63,37)EG-LDPC码,该码是在GF(8)上的二维欧氏几何空间EG(2,23)上构造的。该码使用本发明所述的IMS算法的误码性能,该算法是在AWGN信道上进行,译码的最大迭代次数为50。同时,使用基于快速傅里叶变换的多元和积算法(FFT-QSPA)对(63,37)欧氏几何LDPC码进行译码,并与本发明所述方法的误码性能进行对比如图3所示。从图中可以看出,IMS算法在误分组率为10-4时候,虽然与FFT-QSPA相差0.6dB,但是校验节点更新速度明显比FFT-QSPA快,且复杂度有明显降低。本实施例中进一步采用ISRB-MLGD算法对该码进行译码,并与本发明所述IMS方法进行对比。如图3所示,本发明所述IMS算法与ISRB-MLGD算法相比,可以获得约0.3dB的编码增益,即在相同误码率的情况下,得到了0.3dB的改进。此外,本发明所述方法相对于FFT-QSPA译码的复杂度大大降低。在本例中,使用FFT-QSPA在一次迭代过程中需要实数乘法92736次,实数加法217728次;而本发明所述IMS算法在一次迭代过程中不需要实数乘法,需要实数加法仅有4032次。尽管有限域加法运算次数增加了一倍,但在硬件实现中,有限域运算相比实数运算相对容易实现且占用内存更少。
实施例2
现在定义一个在GF(32)上的(868,746)LDPC码,该码是基于定义在GF(25)上的RS码,通过有限域方法构造的多元LDPC码。在图4中给出了使用本发明所述IMS译码算法时的误码性能,可以看出,在误分组率为10-5时,IMS译码算法与FFT-QSPA仅相差0.5dB,但由于IMS算法不需要实数乘法,从而降低了译码复杂度。而与ISRB-MLGD算法相比,IMS译码算法可以获得约0.2dB的编码增益,即译码性能得到了改善。这三种算法的仿真都是在AWGN信道上进行,译码的最大迭代次数为50。
实施例3
现拟定一尺寸为m×n的校验矩阵,该矩阵的行重为dc和列重dv,且令σ=dc·m=dv·n,表示H中的非零元素总数。根据上述拟定校验矩阵对发明所述方法与QSPA、FFT-QSPA和EMS译码算法的计算复杂度进行对比,如表1所示,
表1算法复杂度对比
IMS译码算法主要的性能损失是来源于校验节点更新中,使用最大值准则来确定最可靠的校验方程。表一对IMS译码算法的计算复杂度进行了分析,并与QSPA,FFT-QSPA及现有的EMS译码算法进行对比。与FFT-QSPA相比,第Ⅰ类IMS译码算法都不需要实数乘法和除法,只包含实数加法和比较。在硬件实现过程中,有限域加法远比实数乘法容易实现,占用内存更少,因此IMS算法与FFT-QSPA相比更适合硬件实现和实际应用。而和EMS译码算法比较,虽然两者都不需要进行实数乘法,但IMS译码算法所需的域运算更少,实数比较的次数也更少,这是由于IMS算法不需要求出所有满足校验和关系的校验方程,因此域乘法和加法的运算量更少。
综上所述,本发明所述方法可降低译码复杂度,在校验节点更新时,采用目标驱使型的搜索方法,不需要像传统译码算法那样进行列表的建立和搜索,从而加速了校验节点更新每一个域元素的过程。本发明所述一码方法可节省各个运算单元的开支,有益于硬件实现。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。
Claims (4)
1.一种多元LDPC码的快速译码方法,其特征在于:该方法包括
S1、在GF(q)上构建多元LDPC码的校验矩阵H,变量节点与校验节点之间的传递信息用q维向量表示;
S2、建立参与第i个校验方程的所有变量节点的集合和参与第j个符号的所有校验方程的集合;
S3、将除去变量节点j的第i个校验方程中剩余变量节点的集合定义为Ni\j;将第i个变量节点所参加的第j个校验方程除去后剩余的校验方程的集合定义为Mj\i;
S4、令表示在第k次迭代时,变量节点j传递给校验节点i的信息向量;令 为校验节点i传递给变量节点j的信息向量;
S5、确定中最可靠的分量 其中
S6、根据步骤5中求得的最可靠的分量,求得q-1个分量所对应的可靠度信息
S7、对进行相应的逆置换,更新变量节点信息,得到最终译码结果:
2.根据权利要求1所述的快速译码方法,其特征在于:所述步骤S4中
任一分量代表了变量节点j取域元素α时,向校验节点i传递的对数密度比信息;
任一分量为校验节点i传递到变量节点j的对数密度比,代表了在第j个符号取域元素α时,第i个校验方程满足校验和关系的可靠度信息。
3.根据权利要求1所述的快速译码方法,其特征在于:所述步骤S5进一步包括
S51、更新校验节点i到变量节点j的信息时,对所有相邻变量节点j'∈Ni\j,都取其信息向量中的最大分量记为此分量所对应的域元素记为δmax,ij';
S52、将步骤S51中所述的最大分量相加获得中最可靠的分量 其中
4.根据权利要求1所述的快速译码方法,其特征在于:所述步骤S6进一步包括
S61、在与校验节点i相邻的ρ-1个变量节点的信息向量中找到域元素δ'+δt对应的ρ-1个可靠度信息
S62、从ρ-1个值中选择最大值,并将整个最大值所对应的支路记为此时可得到
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410180958.3A CN103973317A (zh) | 2014-04-30 | 2014-04-30 | 一种多元ldpc码的快速译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410180958.3A CN103973317A (zh) | 2014-04-30 | 2014-04-30 | 一种多元ldpc码的快速译码方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103973317A true CN103973317A (zh) | 2014-08-06 |
Family
ID=51242417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410180958.3A Pending CN103973317A (zh) | 2014-04-30 | 2014-04-30 | 一种多元ldpc码的快速译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103973317A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105024705A (zh) * | 2015-08-19 | 2015-11-04 | 西安电子科技大学 | 一种低复杂度的多元ldpc码译码方法及译码器 |
CN106936445A (zh) * | 2017-03-14 | 2017-07-07 | 西安电子科技大学 | 一种低复杂度近似最大似然的多元ldpc码译码方法 |
CN110166171A (zh) * | 2018-03-19 | 2019-08-23 | 西安电子科技大学 | 多元ldpc码基于ems的分段式补偿高性能译码方案 |
CN112118013A (zh) * | 2019-06-20 | 2020-12-22 | 南京大学 | 一种适用于多进制ldpc码的高性能、低复杂度的迭代大数逻辑译码方法 |
-
2014
- 2014-04-30 CN CN201410180958.3A patent/CN103973317A/zh active Pending
Non-Patent Citations (1)
Title |
---|
卢萌: "多元LDPC码的构造及译码算法研究", 《中国优秀硕士论文全文数据库 信息科技辑》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105024705A (zh) * | 2015-08-19 | 2015-11-04 | 西安电子科技大学 | 一种低复杂度的多元ldpc码译码方法及译码器 |
CN105024705B (zh) * | 2015-08-19 | 2018-06-19 | 西安电子科技大学 | 一种低复杂度的多元ldpc码译码方法及译码器 |
CN106936445A (zh) * | 2017-03-14 | 2017-07-07 | 西安电子科技大学 | 一种低复杂度近似最大似然的多元ldpc码译码方法 |
CN106936445B (zh) * | 2017-03-14 | 2019-06-21 | 西安电子科技大学 | 一种低复杂度近似最大似然的多元ldpc码译码方法 |
CN110166171A (zh) * | 2018-03-19 | 2019-08-23 | 西安电子科技大学 | 多元ldpc码基于ems的分段式补偿高性能译码方案 |
CN112118013A (zh) * | 2019-06-20 | 2020-12-22 | 南京大学 | 一种适用于多进制ldpc码的高性能、低复杂度的迭代大数逻辑译码方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1881610B1 (en) | Weighted LDPC decoding using the MaxLog approximation | |
CN107863972B (zh) | 一种低译码复杂度的快速多元ldpc码译码方法 | |
CN103973317A (zh) | 一种多元ldpc码的快速译码方法 | |
CN110784232B (zh) | 一种空间耦合ldpc码滑窗译码方法 | |
CN107204780B (zh) | polar-LDPC级联码的合并BP解码算法及装置 | |
CN107743056B (zh) | 一种基于压缩感知辅助的scma多用户检测方法 | |
CN102811065B (zh) | 基于线性最小均方误差估计的修正最小和解码方法 | |
CN107196737B (zh) | 基于消息传递算法的scma译码方法 | |
CN105515590A (zh) | 一种基于随机二进制数据流的有效低复杂度串行抵消列表极化码译码算法及其译码构架 | |
CN110166171A (zh) | 多元ldpc码基于ems的分段式补偿高性能译码方案 | |
CN105356971A (zh) | 一种基于概率计算的scma译码器 | |
CN104124980A (zh) | 适合连续变量量子密钥分发的高速秘密协商方法 | |
CN109067408A (zh) | 一种原模图ldpc码的设计方法 | |
CN108390676A (zh) | 一种结合等差数列与原模图的qc-ldpc码新颖构造方法 | |
CN102594365B (zh) | 一种ldpc码的动态异步bp译码方法 | |
CN106374940A (zh) | 一种多进制ldpc译码方法及译码器 | |
CN102185616A (zh) | 基于行列联合迭代译码的ldpc码构造方法 | |
CN102594366B (zh) | 一种针对ldpc码的自适应可并行动态异步bp译码方法 | |
CN104184480B (zh) | 一种降低复杂度的ldpc改进译码方法 | |
CN107017967B (zh) | 一种改良串行策略的scma通信系统多用户检测方法 | |
CN101707486A (zh) | 单向纠正的多状态置信传播迭代的ldpc译码方法 | |
CN111030705A (zh) | 基于ap与消除ets的一种qc-ldpc码构造方案 | |
CN108365918B (zh) | 一种基于有效集中准则的多元ldpc码译码方法 | |
CN108092672B (zh) | 一种基于折叠调度的bp译码方法 | |
CN109889283B (zh) | 一种scma上行通信系统多用户检测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140806 |