本發(fā)明屬于無線通信技術領域,更進一步涉及信道編碼技術領域中一種低復雜度近似最大似然的多元低密度奇偶檢驗ldpc(low-densityparity-check)碼譯碼方法。本發(fā)明可用于機器類通信、遠程指令鏈路和智能測量網(wǎng)絡等短幀長應用領域中的差錯控制譯碼。
背景技術:
多元低密度奇偶校驗ldpc碼自提出以來就引起了研究人員的關注?,F(xiàn)有的研究結果表明,相比于二元低密度奇偶校驗ldpc碼,多元低密度奇偶校驗ldpc碼具有更好的糾錯性能、更強的抗突發(fā)錯誤能力和更高的數(shù)據(jù)傳輸速率。
鑒于多元低密度奇偶校驗ldpc碼的上述優(yōu)點,人們對多元低密度奇偶校驗ldpc碼的編譯碼方案做了許多研究。其中針對多元低密度奇偶校驗ldpc碼的譯碼方面,人們提出了多元和積譯碼算法qspa(q-arysum-productalgorithm)、基于快速傅里葉變換的多元和積譯碼算法fft-qspa(fastfouriertransformbasedq-arysum-productalgorithm)以及擴展最小和ems(extendedmin-sum)算法等迭代譯碼算法。由于低密度奇偶校驗ldpc碼的tanner圖中存在環(huán),迭代譯碼算法成為了低密度奇偶校驗ldpc碼的一種次優(yōu)譯碼算法。當?shù)g碼算法陷入陷阱集時,算法將不會收斂,進而導致譯碼失敗。
北京航空航天大學在其申請的專利文獻“低復雜度的多進制ldpc碼譯碼方法”(申請公告日:2014年9月17日,申請公告號:cn104052501a)中公開了一種低復雜度的多進制低密度奇偶檢驗ldpc碼譯碼方法。該專利申請中的譯碼方法在迭代中采用多進制符號的二進制表示簡化碼字信息置信度的表示方式,每次迭代通過校驗節(jié)點的計算更新邊信息的置信度,在變量節(jié)點的計算中引入加權加強變量節(jié)點對邊信息的使用效率,并且采用二進制的信息更新方式計算碼字信息和外信息。該發(fā)明碼字每個符號的信息長度遠低于現(xiàn)有方法中的長度,邊信息僅有一個有限域符號及其置信度,具有很低的存儲復雜度,變量節(jié)點和校驗節(jié)點的計算主要為整數(shù)加法和整數(shù)比較運算,只有少量的有限域運算和乘法運算,具有很低的計算復雜度。該方法雖然較之傳統(tǒng)置信度傳播bp(beliefpropagation)譯碼方法在一定程度上降低了譯碼復雜度,但是,該方法仍然存在的不足之處是,陷入陷阱集后譯碼不收斂,導致譯碼失敗。
baldi等人在其發(fā)表的論文“ahybriddecodingschemeforshortnon-binaryldpccodes”(ieeecommunicationsletters,2014:2093-2096.)中提出了一種針對短碼長多元低密度奇偶校驗ldpc碼的混合譯碼方法。該方法將置信度傳播bp(beliefpropagation)方法和分級統(tǒng)計譯碼osd(orderedstatisticdecoding)方法結合,很大程度上解決了迭代譯碼算法陷入陷阱集不收斂的問題,得到了近似最大似然的譯碼性能。該方法存在的不足之處是:分級統(tǒng)計譯碼osd方法獲取單個候選碼字的計算復雜度較高而且需要獲取的候選碼字數(shù)量大,導致混合譯碼方法的整體計算復雜度高,譯碼效率低。
技術實現(xiàn)要素:
本發(fā)明的目的在于針對上述已有技術的不足,提出一種低復雜度近似最大似然的多元低密度奇偶校驗ldpc碼譯碼方法,以較低復雜度解決了迭代譯碼算法陷入陷阱集不收斂的問題。
為了實現(xiàn)上述目的,本發(fā)明方法的思路是:首先采用基于快速傅里葉變換的和積算法fft-qspa對加噪的消息進行迭代譯碼,如果基于快速傅里葉變換的和積算法fft-qspa陷入陷阱集,不能在最大迭代次數(shù)內(nèi)找到合法碼字,那么再利用二元列表糾刪譯碼led(listerasuredecoder)算法譯碼,從而使本方法達到近似最大似然的譯碼性能。
本發(fā)明方法的實現(xiàn)步驟如下:
(1)設置譯碼最大迭代次數(shù)i=100;
(2)進行迭代譯碼:
(2a)對多元低密度奇偶校驗ldpc碼進行二進制相移鍵控bpsk調(diào)制后,將調(diào)制后的信息送入加性高斯白噪聲awgn信道進行加噪處理,得到加噪后的消息;
(2b)采用基于快速傅里葉變換的和積算法fft-qspa,對加噪后的消息進行迭代譯碼;
(3)判斷在基于快速傅里葉變換的和積算法fft-qspa最大迭代次數(shù)內(nèi)是否找到合法碼字,若是,則執(zhí)行步驟(19),否則,執(zhí)行步驟(4);
(4)多元形式到二元形式的轉(zhuǎn)換:
(4a)將基于快速傅里葉變換的和積算法fft-qspa的第
(4b)將基于快速傅里葉變換的和積算法fft-qspa的第
(4c)將基于有限域g(q)構造的多元低密度奇偶校驗ldpc碼的多元校驗矩陣中的每一個元素h∈gf(q),替換為與其對應的矩陣表示形式,得到多元校驗矩陣對應的二元校驗矩陣,其中,h表示多元校驗矩陣中的元素,q表示有限域gf(q)中元素的個數(shù),∈表示屬于符號;
(5)挑選刪除比特位:
(5a)對二元消息向量的分量按絕對值的大小,從小到大排序,得到排序后的消息向量;
(5b)將排序后的消息向量前l(fā)1位對應的比特位依次標記為刪除位,將這些刪除位加入刪除比特集合中;
(6)將挑選附加刪除位的次數(shù)初始化為零;
(7)判斷挑選附加刪除位的次數(shù)是否等于最大挑選次數(shù),若是,則執(zhí)行步驟(19),否則,執(zhí)行步驟(8);
(8)將挑選附加刪除位的次數(shù)加1后,從排序后消息向量的第l1位分量對應的比特位到第l1+2l2位分量對應的比特位中,依次隨機挑選l2個比特位,作為附加刪除位,將這些附加刪除位加入到刪除比特集合中;
(9)對二元判決序列進行比特刪除操作:
將步驟(4b)得到的二元判決序列,按照刪除比特集合中的刪除位進行比特刪除操作,得到刪除序列;
(10)對刪除序列進行二元列表糾刪譯碼:
利用二元列表糾刪譯碼led算法,對刪除序列進行譯碼,得到譯碼序列和殘余刪除比特集合;
(11)將比特翻轉(zhuǎn)次數(shù)初始化為零;
(12)判斷比特翻轉(zhuǎn)次數(shù)是否等于最大比特翻轉(zhuǎn)次數(shù),若是,則執(zhí)行步驟(14),否則,執(zhí)行步驟(13);
(13)將二元列表糾刪譯碼led算法輸出的譯碼序列,按照殘余刪除比特集合中的比特位進行一次比特翻轉(zhuǎn),得到一個候選碼字,將該候選碼字列入候選碼字列表中,將比特翻轉(zhuǎn)次數(shù)加1后,執(zhí)行步驟(12);
(14)確定當前歐氏最小距離:
(14a)按照下式,計算候選碼字列表中的每一個候選碼字的歐氏距離:
其中,uk表示候選碼字列表中的第k個候選碼字的歐氏距離,
(14b)找出所有候選碼字中歐氏距離最小的候選碼字后,將該歐氏距離作為當前最小歐氏距離;
(15)判斷挑選附加刪除位的次數(shù)是否為零,若是,則執(zhí)行步驟(16),否則執(zhí)行步驟(17);
(16)判斷當前最小歐氏距離是否小于初始門限歐氏距離為106,若是,則執(zhí)行步驟(18),否則,從步驟(8)得到的刪除比特集合中去除附加刪除比特后,返回步驟(7);
(17)判斷當前最小歐氏距離是否小于當前門限歐氏距離,若是,則執(zhí)行步驟(18),否則,從步驟(8)得到的刪除比特集合中去除附加刪除比特后,執(zhí)行步驟(7);
(18)將當前最小歐氏距離的值賦給當前門限歐式距離后,執(zhí)行步驟(7);
(19)譯碼結束:
將譯碼輸出的估計碼字取值為步驟(14b)中得到的當前歐氏距離最小的候選碼字,譯碼結束。
本發(fā)明與現(xiàn)有技術相比具有以下優(yōu)點:
第一,由于本發(fā)明將二元列表糾刪譯碼led算法輸出的譯碼序列,按照殘余刪除比特集合中的比特位進行比特翻轉(zhuǎn),克服了現(xiàn)有技術的迭代譯碼算法陷入陷阱集后譯碼不收斂,導致譯碼失敗的問題,從而使得本發(fā)明獲得了近似最大似然的性能。
第二,由于本發(fā)明利用二元列表糾刪譯碼led算法對刪除序列進行譯碼,得到的殘余刪除比特集合具有較少的元素個數(shù),使得獲取單個候選碼字的復雜度降低和候選碼字列表的元素個數(shù)減少,克服了現(xiàn)有技術獲取單個候選碼字的復雜度較高且需要獲取的候選碼字數(shù)量大,導致混合譯碼方法的整體計算復雜度高,譯碼效率低的問題,使得本發(fā)明以較低的復雜度達到了近似最大似然的性能。
附圖說明
圖1是本發(fā)明的流程圖;
圖2是采用本發(fā)明方法與現(xiàn)有技術方法的譯碼性能對比圖;
圖3是采用本發(fā)明方法與現(xiàn)有技術方法的譯碼復雜度對比圖。
具體實施方式
下面結合附圖對本發(fā)明做進一步描述。
參照附圖1,對本發(fā)明的實現(xiàn)方法做進一步描述。
步驟1,設置譯碼最大迭代次數(shù)i=100。
步驟2,進行迭代譯碼。
對多元低密度奇偶校驗ldpc碼進行二進制相移鍵控bpsk調(diào)制后,將調(diào)制后的信息送入加性高斯白噪聲awgn信道進行加噪處理,得到加噪后的消息。
采用基于快速傅里葉變換的和積算法fft-qspa,對加噪后的消息進行迭代譯碼。
步驟3,判斷在基于快速傅里葉變換的和積算法fft-qspa最大迭代次數(shù)內(nèi)是否找到合法碼字,若是,則執(zhí)行步驟(19),否則,執(zhí)行步驟(4)。
所述的合法碼字是指滿足下列關系的序列:
h·v=0
其中,h表示多元低密度奇偶校驗ldpc碼的校驗矩陣,v表示合法碼字,·表示矩陣相乘操作。
步驟4,多元形式到二元形式的轉(zhuǎn)換。
將基于快速傅里葉變換的和積算法fft-qspa的第2次迭代輸出的多元消息向量轉(zhuǎn)換成對應的二元消息向量。
將基于快速傅里葉變換的和積算法fft-qspa的第2次迭代輸出的多元判決序列,轉(zhuǎn)換成對應的二元判決序列。
將基于有限域g(q)構造的多元低密度奇偶校驗ldpc碼的多元校驗矩陣中的每一個元素h∈gf(q),替換為與其對應的矩陣表示形式,得到多元校驗矩陣對應的二元校驗矩陣,其中,h表示多元校驗矩陣中的元素,q表示有限域gf(q)中元素的個數(shù),∈表示屬于符號。
所述的多元校驗矩陣轉(zhuǎn)換成對應的二元校驗矩陣步驟如下:
第一步,對于任意的0≤i≤q-2,有限域gf(q)中的元素αi的矩陣表示形式為ai,ai表示矩陣a的i次方,a定義為:
其中,q表示有限域gf(q)中元素的總數(shù),q=2p,p表示本原多項式的系數(shù)的個數(shù),α表示有限域gf(q)的本原元素,fj表示有限域gf(q)的本原多項式的第j個系數(shù),j表示本原多項式的第j個系數(shù)的下標,j∈[0,p-1],∈表示屬于符號;
第二步,將基于有限域g(q)構造的多元低密度奇偶校驗ldpc碼的多元校驗矩陣中的每一個元素h∈gf(q),替換為與其對應的矩陣表示形式,其中,h表示多元校驗矩陣中的元素。
步驟5,挑選刪除比特位。
對二元消息向量的分量按絕對值的大小,從小到大排序,得到排序后的消息向量。
將排序后的消息向量前l(fā)1位對應的比特位依次標記為刪除位,將這些刪除位加入刪除比特集合中。
步驟6,將挑選附加刪除位的次數(shù)初始化為零。
步驟7,判斷挑選附加刪除位的次數(shù)是否等于最大挑選次數(shù),若是,則執(zhí)行步驟(19),否則,執(zhí)行步驟(8)。
步驟8,將挑選附加刪除位的次數(shù)加1后,從排序后消息向量的第l1位分量對應的比特位到第l1+2l2位分量對應的比特位中,依次隨機挑選l2個比特位,作為附加刪除位,將這些附加刪除位加入到刪除比特集合中。
所述l1和l2是指滿足下列關系的整數(shù):
l1+2l2≤n(l1>0,l2≥0)
其中,l1表示初始刪除比特個數(shù),l2表示附加刪除比特的個數(shù),n表示編碼長度。
步驟9,對二元判決序列進行比特刪除操作。
將步驟(4b)得到的二元判決序列,按照刪除比特集合中的刪除位進行比特刪除操作,得到刪除序列。
步驟10,對刪除序列進行二元列表糾刪譯碼。
利用二元列表糾刪譯碼led算法,對刪除序列進行譯碼,得到譯碼序列和殘余刪除比特集合。
步驟11,將比特翻轉(zhuǎn)次數(shù)初始化為零。
步驟12,判斷比特翻轉(zhuǎn)次數(shù)是否等于最大比特翻轉(zhuǎn)次數(shù),若是,則執(zhí)行步驟(14),否則,執(zhí)行步驟(13)。
所述最大比特翻轉(zhuǎn)次數(shù)是由下式得到:
其中,jmax表示最大比特翻轉(zhuǎn)次數(shù),min表示取最小值操作,∑表示求和操作,l表示殘余刪除比特集合中刪除比特的個數(shù),
步驟13,將二元列表糾刪譯碼led算法輸出的譯碼序列,按照殘余刪除比特集合中的比特位進行一次比特翻轉(zhuǎn),得到一個候選碼字,將該候選碼字列入候選碼字列表中,將比特翻轉(zhuǎn)次數(shù)加1后,執(zhí)行步驟(12)。
步驟14,確定當前歐氏最小距離。
按照下式,計算候選碼字列表中的每一個候選碼字的歐氏距離:
其中,uk表示候選碼字列表中的第k個候選碼字的歐氏距離,
找出所有候選碼字中歐氏距離最小的候選碼字后,將該歐氏距離作為當前最小歐氏距離。
步驟15,判斷挑選附加刪除位的次數(shù)是否為零,若是,則執(zhí)行步驟(16),否則執(zhí)行步驟(17)。
步驟16,判斷當前最小歐氏距離是否小于初始門限歐氏距離為106,若是,則執(zhí)行步驟(18),否則,從步驟(8)得到的刪除比特集合中去除附加刪除比特后,返回步驟(7)。
步驟17,判斷當前最小歐氏距離是否小于當前門限歐氏距離,若是,則執(zhí)行步驟(18),否則,從步驟(8)得到的刪除比特集合中去除附加刪除比特后,執(zhí)行步驟(7)。
步驟18,將當前最小歐氏距離的值賦給當前門限歐式距離后,執(zhí)行步驟(7)。
步驟19,譯碼結束。
將譯碼輸出的估計碼字取值為步驟(14b)中得到的當前歐氏距離最小的候選碼字,譯碼結束。
本發(fā)明的效果可通過以下仿真進一步說明:
1.仿真條件:
本發(fā)明的實驗仿真選用ccsds標準中gf(256)上碼率為1/2碼長為16的多元低密度奇偶檢驗ldpc碼。表1是本發(fā)明方法所使用的仿真參數(shù)。表1中參數(shù)包括信噪比、初始刪除比特個數(shù)l1、附加刪除比特的個數(shù)l2和最大挑選次數(shù)ni。
2.仿真內(nèi)容:
仿真1.對ccsds標準中gf(256)上碼率為1/2碼長為16的多元低密度奇偶檢驗ldpc碼進行二進制相移鍵控bpsk調(diào)制,再經(jīng)過加性高斯白噪聲awgn信道加噪處理,最后分別采用本發(fā)明方法和現(xiàn)有技術方法進行譯碼,仿真結果如圖2所示。
圖2中以星形標記的曲線表示在加性高斯白噪聲awgn信道下,基于快速傅里葉變換的和積算法fft-qspa在不同信噪比下的誤幀率。
圖2中虛線表示gf(256)上碼率為1/2碼長為16的多元低密度奇偶檢驗ldpc碼的香農(nóng)球包界。
圖2中以菱形標示的曲線表示在加性高斯白噪聲awgn信道下,本發(fā)明譯碼方法在不同信噪比下的誤幀率。
由圖2可以看出,在誤幀率為10-4時,本發(fā)明方法與基于快速傅里葉變換的和積算法fft-qspa相比有0.4db的性能增益。相比于基于快速傅里葉變換的和積算法fft-qspa距離香農(nóng)球包界1db左右的性能差距,本發(fā)明方法將與香農(nóng)球包界的性能差距縮短至了0.6db??梢?,本發(fā)明相比傳統(tǒng)迭代譯碼算法具有更優(yōu)的譯碼性能,達到了近似最大似然的譯碼性能。
仿真2.對ccsds標準中gf(256)上碼率為1/2碼長為16的多元低密度奇偶檢驗ldpc碼進行二進制相移鍵控bpsk調(diào)制,再經(jīng)過加性高斯白噪聲awgn信道加噪處理,最后分別采用本發(fā)明方法和現(xiàn)有技術方法進行譯碼,譯碼復雜度如圖3所示。
圖3中以圓形標示的曲線表示在加性高斯白噪聲信道awgn下,現(xiàn)有近似最大似然譯碼方法在不同信噪比下的平均二元操作次數(shù)。
圖3中以叉形標示的曲線表示在加性高斯白噪聲信道awgn下,現(xiàn)有本發(fā)明的譯碼方法在不同信噪比下的平均二元操作次數(shù)。
由圖3可以看出,當信噪比較小,如信噪比等于0.5db時,現(xiàn)有近似最大似然譯碼方法平均需要4×109次二元操作,才能完成譯碼。而本發(fā)明的譯碼方法平均只需要8×107次二元操作,即可完成譯碼??梢?,本發(fā)明譯碼方法的復雜度是現(xiàn)有近似最大似然譯碼方法復雜度的
由圖3可以看出,當信噪比適中,如信噪比等于2.0db時,現(xiàn)有近似最大似然譯碼方法平均需要4×108次二元操作,才能完成譯碼。而本發(fā)明的譯碼方法平均只需要4×107次二元操作,即可完成譯碼??梢?,本發(fā)明譯碼方法的復雜度是現(xiàn)有近似最大似然譯碼方法復雜度的
由圖3可以看出,當信噪比適中,如信噪比等于4.0db時,現(xiàn)有近似最大似然譯碼方法與本發(fā)明的譯碼方法都平均需要1×106次二元操作,才能完成譯碼。由此可見,本發(fā)明的譯碼方法較之現(xiàn)有近似最大似然譯碼有復雜度低的特點。
表1本發(fā)明方法的仿真參數(shù)