CN104883194B - 一种rs-ldpc二维乘积码的h矩阵构造方法及其滑动截断译码方法 - Google Patents
一种rs-ldpc二维乘积码的h矩阵构造方法及其滑动截断译码方法 Download PDFInfo
- Publication number
- CN104883194B CN104883194B CN201510278426.8A CN201510278426A CN104883194B CN 104883194 B CN104883194 B CN 104883194B CN 201510278426 A CN201510278426 A CN 201510278426A CN 104883194 B CN104883194 B CN 104883194B
- Authority
- CN
- China
- Prior art keywords
- decoding
- code
- row
- matrix
- ldpc
- 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
Landscapes
- Error Detection And Correction (AREA)
Abstract
本申请提供一种通信系统信道中译码技术领域RS‑LDPC二维乘积码的H矩阵构造方法和滑动截断译码方法。二维乘积编码中,首先,在水平方向采用RS码编码,然后在垂直方向进行速率兼容的LDPC码编码。水平方向的RS码消除了LDPC编码所存在的错误平层问题,垂直方向的LDPC码通过对校验矩阵的构造,可以在高信噪比区域通过滑动截断译码的方式来减少参与译码码字,减小时延。
Description
(一)技术领域
本发明属于通信技术领域的信道编码技术领域,具体是一种基于H矩阵构造方法和相应的RS-LDPC码的滑动截断译码方法。
(二)背景技术
信息在噪声信道中的可靠传输是信息传输系统的基本要求。信道的噪声特性干扰传输信号,为此,信道编码技术应运而生,使得在接收端能够检出和纠正差错。好的码字除了具备优秀的检错和纠错的能力外,还要保证:1.实际应用中有较低的复杂度;2.编译码时延较小。
在数字传输系统中,由于外部的噪声干扰以及光纤内部的码间干扰等原因,数据流在传输过程中可能存在随机错误、突发错误等多种类型的误码。二维乘积码的概念在1954年由P.Elias首次提出,其成分码字由行码和列码两个成分码字组成。二维乘积码的信息符号首先排列成一个m*n的二维信息矩阵,然后对行和列先后按照不同的编码方式进行编码,通过行码和列码这两种成分码字的分别编码实现了由短码构造长码的目的。此外,由于乘积码本身的交织结构无须额外地引入交织技术,对随机错误和突发性错误综合的错误有较好的纠错效果。
RS码是I.S.Reed和G.Solomon于1960年发现的,故称为Reed-Solomon码,简称RS码。这是一种码率很高的FEC方案,作为二维乘积码的成分码字可降低编码冗余。RS码是一种纠正突发错误能力较强的非二进制循环码,同时也可以有效消除LDPC码的错误平层。
LDPC码是Gallager于1962年提出的一种性能接近Shannon极限的线性分组码,选择迭代译码的方式译码。低密度奇偶校验码(LDPC)不但具有逼近香农极限的译码性能,而且LDPC码有类速龙码的特性,可以在信噪比较佳的区域截断译码调整码率来降低功耗,减小时延。且二维乘积码中的LDPC码作为纵向成分码,码长不宜过长,存在一定的错误平层。
LDPC度分布函数:
1)节点角度
Λi是度为i的变量节点的数目
Pi是度为i的校验节点的数目
2)边角度
λi是度为i的校验节点所连接边占总数的比例
ρi是度为i的校验节点所连接边占总数的比例
尽管,RS-LDPC乘积码对于降低误码率表现不凡,但其译码需以码字矩阵为单位进行,如果为了保证译码效果,码字矩阵较大,会产生较大系统延迟。为了改善这一问题,可以采用码率可变的成分码字构成的乘积码,在信道条件较好时,由于码率可变,只需使用接收到的部分码字信息完成译码;信道条件较差时,增加使用的接收码字来完成译码,最终降低系统的译码总时延。
(三)发明内容
本文的二维编码结构中,有着较好的交织特性,表现在两个方面:首先在水平方向进行RS编码,RS编码后的码字自上而下按列读出进行LDPC编码,不同方向维度的编码;译码过程中,则首先纵向进行LDPC译码,横向进行RS译码,形成了码字本身的交织结构。其次,在完成LDPC的纵向编码后,发送码字进入信道时,采取横向读取依次发送的方式,也是一种交织结构的体现。得益于双重交织特性,可以分散较为集中的错误群,有效纠正信道中的突发性错误。
本译码方法RS码作为外码,LDPC码作为内码,旨在减小编码冗余度,降低编码时延。二维乘积码编码过程中,由于RS码的冗余度通常较低,所以先进行编码,不会明显增加LDPC编码的冗余度。反之,若冗余较大的LDPC码作为外码,其编码冗余将参加RS编码,必然明显增加系统时延,且码块也明显变大,影响译码效率。此外,RS码作为外码,LDPC译码后的残余错误可以通过RS译码进一步消除,消除了LDPC码错误平层,故总的纠错性能提高。
LDPC码属于线性分组码的一种,校验矩阵需满足稀疏特性,其优良的译码性能逼近香农极限。本方案中构造LDPC码的校验矩阵时,为了保证其稀疏特性,不同码重的列充分交织,尽可能不破坏其低密度结构,保证LDPC码优秀的译码性能。此外,标记列重,按优先级删除或增加码字,滑动截断时,优先删除最低度分布对应的码字,最大限度降低译码失败的可能;相反,滑动增加时,优先补译可恢复码字中最高度分布对应的码字,最大限度增加译码成功的可能。相同信噪比条件下,采用本方案中构造的标记列重的校验矩阵,始终采用信息量最高的一组码字进行译码,与较为流行的随机打孔法构造的校验矩阵相比,或PBRL方法相比,具有更高的码率,可以更大幅度降低系统时延。
滑动结构根据上次译码成功与否,在译码过程中做出相应的增删被译码字的操作,充分地降低时延,提高译码效率。由于编码结构具有双重交织特点,故每个LDPC分组的错误概率较为接近,可根据前一次的译码结果对下一次译码长度的选择进行有效判断。一般速率兼容的译码方法中,其自适应结构需要通过计算上一次译码过程中的信噪比,来推算下一次译码时的信噪比,根据计算出的信噪比调整校验矩阵、译码结构,才能进行下一次译码,这一反馈过程较为复杂,通常需要耗费更多时延和资源。而且,反馈时延越高,推算出的信噪比对下一次译码的指导性会越差。本方案中的滑动译码结构中,无须对信噪比进行估算,直接根据上一次译码决定下一次译码时的译码方案,大大降低运算复杂度和译码时延;且降低了连续两次译码时间内信噪比发生巨大变化的可能,对下一次译码更具指导性。然而,如果信道如果由较佳状态发生剧烈恶化,则当前分组译码可能会失败多次,造成资源和效率的浪费。在兼顾译码效率的同时,为了尽可能地降低译码失败的次数,每次译码失败后反向滑动的距离设置为截断滑动时的二倍或三倍,避免同一分组多次译码失败。
此外,滑动距离Δl可根据具体的信道条件进行调整,若信道变化相对平稳,则Δl参数值可设的小一些,则每个分组的译码长度较为接近,长期保持在刚好可以完成译码的最小码长,来最大限度提高码率;若信道变化相对剧烈,则Δl参数值可设的大一些,从而加快译码方法对信道的适应速度,否则,若Δl参数值太小,信道突然恶化时,同一分组译码可能会失败多次,才能达到可以译码成功的码长,反之,信道突然由坏变好,则接下来的诸多分组都采用较大的译码码长,达不到提高译码效率,降低时延的目的。
(四)附图说明
图1表示RS-LDPC二维乘积码的示意图。原始的k1位信息位经过RS编码后码长为n1,然后其作为LDPC编码的信息位编码后码长变为n2。
图2表示整个编译码过程,RS码作为外码,LDPC码作为内码,其中,H矩阵的构造和LDPC滑动截断译码的校验方法是本文研究的重点。
图3表示构造好的列码重充分交织的校验矩阵。色块深度代表了列码重的大小。
图4所示为滑动截断译码方法的简要流程。
图5表示RS-LDPC二维乘积码滑动截断的结构示意图。图中为一次LDPC译码过程所对应的接收码字纵向排列成的码块(并非乘积码的一个译码块),校验码字由于校验矩阵列重隔列渐变,故编码后的二维乘积码表现出待删除码字和高信息量码字交替出现的结构。若前一次译码成功,则当前截断码字(Δl)向待截断码字方向滑动;反之译码失败,则向已截断码字方向滑动。
(五)具体实施方式
下面结合附图对本发明的实施例做详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
本实施例涉及一种针对RS-LDPC二维乘积码的构造方法和滑动截断译码方法包括如下步骤:
1.初始化:以GF(28)域上的RS(207,187)作为行码,LDPC(864,288)作为列码,用decoding_state标记译码是否成功,若译码成功,decoding_state=0,若译码失败,decoding_state=1。用Δli表示第i次译码的截断长度,li表示第i次译码截断后所用码长,Δl则表示每次多截断的幅度。原始信息若为二进制,则转换为八进制。
2.编码:
(1).对八进制的原始信息进行RS(207,187)编码,编码结果逐行排列,满288行后切换至下一个码块。则每个RS编码后码块为288*207的八进制码块,然后转换为288*(207*8)的二进制码块。
(2).构造列码重充分交织的校验矩阵。随机法构造LDPC校验矩阵H1(576,864),将其按列数分为H288(共288列)和H576(共576列)两部分,并且将H576矩阵按列码重增序排列,列重较小的前m/2列所构成的子矩阵称为H576_1,列重较大的后m/2列构成的子阵称为H576_2。将H576_1左右翻转变为H576_1',再将H576_1'与H576_2隔列交织形成新的矩阵H576'。将H288与H576'一左一右重新合并,构成校验矩阵H2,对H2矩阵执行去短环运算构造出最终的校验矩阵H,并据此构造相应的生成矩阵G。
(3).按列读出RS编码完成后的码字,利用构造好的生成矩阵进行RS编码,则码块大小变为866*1656,随后按行进行发送。
3.译码:
(1).确定初始截断点和滑动灵敏度。在模拟实际信道中(此处采用AWGN信道,信噪比设置为-1.5dB),初始无截断状态下,按照本方案的滑动截断译码方法进行4~5次译码,每次译码码块数量足够多,统计译码位置的频率分布,出现频率最高的译码位置定为初始截断点,计算可得相应的初始码率Rdefault,初始阶段码长Δldefault,初始译码码长ldefault,以及与之相匹配的校验矩阵。滑动灵敏度Δl设置为ltotal/100,其大小可根据实际需要调整。
(2).首次译码时,使用默认的截断位置执行译码,若译码成功,则decoding_state置为0,则执行步骤3),若译码失败,decoding_state置为1,则执行步骤4)。
(3).判断是否有待译码码块:译码完成,则终止译码;译码未完成,继续对下一个分组进行译码。截断分组长度按照标记的优先顺序增加Δl,同时采用合适的校验矩阵执行LDPC译码。若译码成功,decoding_state置为0,执行步骤3),若译码失败,decoding_state置为1,执行步骤4)。
(4).判断i-1次译码时,如果译码码长li-1=ltotal,则译码失败;若li-1<ltotal,则对上一分组重新译码。截断码块长度按照标记的逆优先顺序减少2Δl,同时采用合适的校验矩阵执行LDPC译码。若译码成功,decoding_state置为0,执行步骤3),若译码失败,decoding_state置为1,则执行步骤4)。
(5).将LDPC译码完成后的码字进行RS译码,得出译码结果。
Claims (2)
1.一种构造列码重充分交织且按码重标记的LDPC奇偶校验矩阵H的方法,其特征在于保证了整个矩阵的度分布相对均匀,步骤如下:
1)按一定方法构造LDPC校验矩阵H1(m,k+m),k表示LDPC编码中的信息位,m表示添加的冗余位,校验矩阵共k+m列;
2)将构造好的校验矩阵分为Hk(共k列)和Hm(共m列)两部分,并且将Hm矩阵按列码重递增顺序排序,以Ni表示矩阵H1中的第i列,则从k+1列到k+m列按列重重新排列后的Hm矩阵表示为Hm(Nk+1Nk+2...Nk+m),列重较小的m/2列所构成的子矩阵称为Hm1(Nk+1Nk+2...Nk+m/2),其余列重较大的m/2列构成的子阵称为Hm2(Nk+m/2+1Nk+m/2+2...Nk+m);
3)将列重较小的前m/2列构成的子阵Hm1左右翻转变为Hm1’(Nk+m/2Nk+m/2-1...Nk+1)再将Hm1’与原矩阵中的Hm2子阵隔列交织形成新的矩阵Hm’(Nk+m/2Nk+m/2+1Nk+m/2-1Nk+m/2+2...Nk+ 1Nk+m);
4)将Hk与列重重新排序分布的Hm’重新合并,构成校验矩阵H2(N1N2…Nk-1NkNk+m/2Nk+m/2+ 1Nk+m/2-1Nk+m/2+2...Nk+1Nk+m),对H2矩阵执行去短环运算构造出最终的校验矩阵H;则列重最小的即H中的倒数第二列,其次为倒数第四列,依次类推;需要截断译码时,优先选择码重较低的列删除来构成新的校验矩阵;此外,码重最低的列的序号所对应接收码字也是最先被截断的接收码字,故接收码字的截断优先级顺序为Ck+m-1,Ck+m-3...,Ck+1,Ck+2,Ck+4...Ck+m。
2.一种RS-LDPC码的滑动截断译码方法,其特征在于,所述方法包括:
接收端接收到一个完整码块后,进行LDPC自适应滑动截断译码;令接收到的每个分组的码长为ltotal,无截断时的原始码率为R0,滑动灵敏度为Δ1,步骤如下:
1)在AWGN模拟条件下,按照实际发送时的平均信噪比,通过多次仿真获得成功译码时所需的最高码率Rdefault,作为初始码率,则首次译码时默认选取的码长首次截断码长为首次译码过程中根据权利要求1中的步骤3)中的优先级顺序进行截断;同时采用合适的校验矩阵,若译码成功,则执行步骤2),若译码失败,则执行步骤3);
2)判断所有分组是否已经译码完成:译码完成,则终止译码,译码若未完成,继续对下一个分组进行第i次译码,截断分组长度按照标记的优先顺序增加Δ1,则Δ1i=Δ1i-1+Δ1,译码码长1i=1total-Δ1i,码率同时采用对应的校验矩阵,如按照权利要求1中的步骤4)所示的优先级顺序Ck+m-1,Ck+m-3...,Ck+1,Ck+2,Ck+4...Ck+m删除了Ck+m-1,Ck+m-3...,Ck+m-5,则校验矩阵H中对应删除的列为Nk+m-1,Nk+m-3...,Nk+m-5;译码完成后i加1,若译码成功,则执行步骤2),若译码失败,则执行步骤3);
3)判断第i-1次译码中,如果li-1=ltotal,则译码失败,终止译码,若li-1<ltotal,则对上次译码失败的分组执行第i次译码,截断码块长度按照标记的逆优先顺序减少2Δl,则Δli=Δli-1-2Δl,译码码长li=1total-Δli,码率同时采用合适的校验矩阵;译码完成后i加1,若译码成功,执行步骤2),若译码失败,则执行步骤3)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510278426.8A CN104883194B (zh) | 2015-05-27 | 2015-05-27 | 一种rs-ldpc二维乘积码的h矩阵构造方法及其滑动截断译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510278426.8A CN104883194B (zh) | 2015-05-27 | 2015-05-27 | 一种rs-ldpc二维乘积码的h矩阵构造方法及其滑动截断译码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104883194A CN104883194A (zh) | 2015-09-02 |
CN104883194B true CN104883194B (zh) | 2018-09-11 |
Family
ID=53950541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510278426.8A Active CN104883194B (zh) | 2015-05-27 | 2015-05-27 | 一种rs-ldpc二维乘积码的h矩阵构造方法及其滑动截断译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104883194B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017045142A1 (zh) * | 2015-09-16 | 2017-03-23 | 华为技术有限公司 | Ldpc截短码的译码方法和译码设备 |
CN107306140B (zh) | 2016-04-25 | 2020-12-01 | 华为技术有限公司 | 一种gel码字结构编码和译码的方法、装置及相关设备 |
CN107919937B (zh) * | 2016-10-10 | 2020-10-27 | 深圳光启合众科技有限公司 | 基于重叠复用的译码方法、装置及调制解调方法和系统 |
CN110784230B (zh) * | 2018-07-31 | 2021-07-02 | 西安电子科技大学 | 一种基于bp-led的多元sc-ldpc码滑窗译码方法 |
CN109639392B (zh) * | 2018-11-09 | 2020-03-27 | 清华大学 | 广播信道传输的空间耦合ldpc码的构造方法及系统 |
CN110768750A (zh) * | 2019-09-24 | 2020-02-07 | 北京邮电大学 | 一种ovfdm系统中基于比特反转的低复杂度滑动译码方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217284A (zh) * | 2008-01-11 | 2008-07-09 | 北京大学 | 一种ldpc级联码的编码方法、译码方法及其译码器 |
CN101494462A (zh) * | 2009-03-03 | 2009-07-29 | 东南大学 | Rs乘积码级联卷积码系统的迭代译码方法 |
CN103269229A (zh) * | 2013-05-24 | 2013-08-28 | 上海交通大学 | 一种ldpc-rs二维乘积码的混合迭代译码方法 |
CN103338046A (zh) * | 2013-06-21 | 2013-10-02 | 上海交通大学 | 码率兼容的ldpc-rs二维乘积码的编码与译码方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004032398A1 (en) * | 2002-09-30 | 2004-04-15 | Seagate Technology Llc | Iterative equalization and iterative decoding of a reed-muller coded signal |
-
2015
- 2015-05-27 CN CN201510278426.8A patent/CN104883194B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217284A (zh) * | 2008-01-11 | 2008-07-09 | 北京大学 | 一种ldpc级联码的编码方法、译码方法及其译码器 |
CN101494462A (zh) * | 2009-03-03 | 2009-07-29 | 东南大学 | Rs乘积码级联卷积码系统的迭代译码方法 |
CN103269229A (zh) * | 2013-05-24 | 2013-08-28 | 上海交通大学 | 一种ldpc-rs二维乘积码的混合迭代译码方法 |
CN103338046A (zh) * | 2013-06-21 | 2013-10-02 | 上海交通大学 | 码率兼容的ldpc-rs二维乘积码的编码与译码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104883194A (zh) | 2015-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104883194B (zh) | 一种rs-ldpc二维乘积码的h矩阵构造方法及其滑动截断译码方法 | |
CN100568755C (zh) | 用于编码和解码具有可变编码率的块低密度奇偶校验码的装置和方法 | |
JP4317196B2 (ja) | 低密度のパリティ検査符号を用いる通信システムにおける送信装置、受信装置、信号送信方法および信号受信方法 | |
KR100881002B1 (ko) | 통신 시스템에서 지그재그 코드를 이용한 저밀도 패리티 검사 부호 생성 장치 및 방법 | |
CN1993892B (zh) | 用于编码和解码块低密度奇偶校验码的装置和方法 | |
JP5354979B2 (ja) | 低密度パリティ検査畳み込み符号(ldpc−cc)符号化器及びldpc−cc復号器 | |
JP5120862B2 (ja) | 低密度パリティ検査符号を使用する通信システムのチャネル符号化装置及びその方法 | |
CN103888148A (zh) | 一种动态阈值比特翻转的ldpc码硬判决译码方法 | |
KR20140145978A (ko) | Ldpc 부호의 부호화 장치, 그의 부호화 방법, 복호화 장치 및 그의 복호화 방법 | |
US8145986B2 (en) | Multi-CSI (Cyclic Shifted Identity) sub-matrix based LDPC (Low Density Parity Check) codes | |
WO2008034286A1 (en) | An interleaving scheme for an ldpc coded 16apsk system | |
Liu et al. | LDPC-RS product codes for digital terrestrial broadcasting transmission system | |
CN103338046A (zh) | 码率兼容的ldpc-rs二维乘积码的编码与译码方法 | |
CN101286745B (zh) | 一种交织编码方法及装置 | |
WO2008034287A1 (en) | An interleaving scheme for an ldpc coded 32apsk system | |
KR101772008B1 (ko) | 통신 및 방송시스템에서 송수신 방법 및 장치 | |
KR102482110B1 (ko) | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 | |
CN101150551B (zh) | 低密度奇偶校验编码的qpsk/8psk系统的交织方案 | |
CN1319278C (zh) | Turbo乘积码串行级联NR码的信道编码方法 | |
CN101150377A (zh) | 用于低密度奇偶校验编码的32apsk系统的比特映射方案 | |
CN101150550A (zh) | 低密度奇偶校验编码的16apsk系统的交织方案 | |
KR101411720B1 (ko) | 엘디피시 부호의 패리티 체크 행렬을 이용해 서로 다른 여러 개의 복호기를 만드는 엘디피시 부호의 복호 방법 및 이를 포함하는 엘디피시 부호 시스템 | |
Malhotra | Investigation of channel coding techniques for high data rate mobile wireless systems | |
KR101267756B1 (ko) | 가변 부호화율 불규칙 반복 다상 누산 부호화 및 복호화 방법과 이를 위한 장치 | |
KR100999272B1 (ko) | 저 밀도 패리티 검사 코드의 부호화 장치 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |