基於變量節點可靠性動態選擇策略的LDPC碼解碼更新方法與流程
2023-05-15 05:39:36 2

本專利涉及通信技術領域,具體涉及一種基於變量節點可靠性動態選擇策略的ldpc碼解碼更新方法。
背景技術:
1962年,gallager在他的博士論文中首次提出ldpc(低密度奇偶校驗碼,lowdensityparitycheckcode)碼,並在文中對該碼的定義、表示方法、編碼方法以及仿真性能等做了全面闡述。由於當時計算機技術比較落後,加之ldpc碼解碼算法運算量又較大,因此ldpc碼在當時並沒有得到人們的關注。1981年,tanner提出用雙向二分圖表示ldpc碼,此舉加速了ldpc碼的研究進程。直到1996年,mackey等人基於tanner圖對ldpc作進一步研究,證明ldpc碼具有逼近香農極限的優異性能,從此掀起ldpc碼的研究熱潮。ldpc碼碼字本身具有的稀疏性使得解碼複雜度較低,解碼性能較好,因此被廣泛應用到工業領域之中,目前,ldpc碼已經被wimax、uwb、數字視頻廣播、10gbase-t、未來5g通信等列為標準編碼之一,在未來,隨著研究的不斷深入,編解碼技術的不斷進步,ldpc碼亦將在衛星通信、海洋探測、光傳輸、量子保密通信、全息存儲等方面有更廣闊的應用前景。
ldpc碼的解碼算法主要分為硬判決解碼和軟判決解碼兩大類。硬判決解碼算法複雜度低,易於硬體實現,但性能遠不及軟判決解碼算法。軟判決解碼算法根據消息更新策略可分為三類:並行調度、串行調度和動態調度。相對於更新順序固定的並行調度和串行調度,動態調度根據消息的動態特性,動態決定消息的更新順序,因此,動態調度是三種調度策略中收斂速度最快,糾錯性能最好的,非常適合應用於需要快速解碼的場合。2007年,a.i.casado等人提出了一種基於殘差的動態調度解碼算法即rbp算法,rbp算法把消息更新前後的差值即殘差值的大小作為動態異步更新算法中的度量來選擇需要更新的消息。rbp算法每次都優先更新具有最大殘差的邊信息,因此導致rbp算法的貪婪性較高。為了降低算法的貪婪性,a.i.casado在rbp算法的基礎上提出了貪婪性較低的nwrbp算法。後來在2009年,j.h.kim等人提出了一種基於變量節點到校驗節點邊殘差信息的vcrbp解碼算法以降低貪婪性的影響。接著,x.c.liu和y.gong等人先後提出了基於變量節點消息殘餘度的eds-lbp解碼算法和基于震蕩變量節點消息殘差的ov-rbp解碼算法,這兩種算法在糾錯性能和收斂速度上都有了提升。h.c.lee等人於2013年針對動態調度解碼提出貪婪集和沉默節點的概念,並針對這兩個問題提出了q-rbp算法和svnf-rbp算法,這兩種算法在保證收斂速度的同時都取得不錯的收斂性。儘管如此,如何選取不可靠的節點以及如何降低動態調度解碼算法的貪婪性依然是值得進一步深究的問題。
技術實現要素:
為了解決現有技術的缺陷,提供一種基於變量節點可靠性動態選擇策略的ldpc碼解碼更新方法,能夠充分利用解碼過程中消息的動態變化特性,快速準確地定位最可靠和最不可靠的消息,為動態異步更新方法提供更加合理的消息選擇策略和消息更新順序,從而使計算資源得到合理分配,提高收斂速度和解碼性能。
針對上述技術問題,本專利是這樣加以解決的:
一種基於變量節點可靠性動態選擇策略的ldpc碼解碼更新方法,包括如下步驟:
預設可靠度度量標準ⅰ和可靠度度量標準ⅱ;
s11.將所有變量節點依據可靠度度量標準ⅰ分成可靠度不同的集合,從可靠度最低且非空的集合中找出殘差最大的變量節點作為最不可靠的變量節點;
s12.假設s11中選出的最不可靠的變量節點為vk,則對部分變量節點vj∈n(ca)\vk根據可靠度度量標準ⅱ分成可靠度不同的集合,從可靠度最高且非空的集合中找出殘差最小的變量節點作為最可靠的變量節點,其中ca∈n(vk),n(vk)表示與變量節點vk相連的所有校驗節點的集合,n(ca)\vk表示除變量節點vk外,所有與校驗節點ca相連的變量節點的集合;
s13.利用步驟s12中選出的最可靠的變量節點的信息對步驟s11中選出的最不可靠的變量節點進行更新;
其中,變量節點的殘差r(lk(vn))為變量節點更新前後對數似然比(llr值)的差值,可按式子(1)進行計算;
r(lk(vn))=||lk(vn)-lk-1(vn)||(1)
式(1)中,r(lk(vn))表示第k次迭代中變量節點vn的殘差;lk(vn)表示第k次迭代中變量節點vn的llr值;lk-1(vn)表示第k-1次迭代中變量節點vn的llr值;變量節點vn的llr值可按式子(2)進行計算;
式(2)中,lk(vn)表示第k次迭代中變量節點vn的llr值;l0(vn)表示信道傳遞給變量節點vn的初始對數似然比信息;rkmn表示第k次迭代中校驗節點m傳遞給與其相連的變量節點n的對數似然比信息,rkmn可按式子(3)進行計算;n(n)表示與變量節點n相連的所有校驗節點的集合;
式(3)中,rkmn表示第k次迭代中校驗節點m傳遞給與其相連的變量節點n的對數似然比信息;qk-1n'm表示第k-1次迭代中變量節點n'傳遞給與其相連的校驗節點m的對數似然比信息,qk-1n'm可按式子(4)進行計算;n(m)\n表示除變量節點n外,所有與校驗節點m相連的變量節點的集合;
式(4)中,qk-1n'm表示第k-1次迭代中變量節點n'傳遞給與其相連的校驗節點m的對數似然比信息;l0(vn')表示信道傳遞給變量節點vn'的初始對數似然比信息;rk-1m'n'表示第k-1次迭代中校驗節點m'傳遞給與其相連的變量節點n'的對數似然比信息,rk-1m'n'按式子(3)進行計算;n(n')\m表示除校驗節點m外,所有與變量節點n'相連的校驗節點的集合。
本專利基於動態兩步選擇策略,首先在大範圍內搜索不可靠的信息,接著在小範圍內搜索可靠的信息,充分利用了解碼過程中信息的動態特性,通過不同的篩選規則和篩選範圍,更加精確快速地定位可靠的變量節點和不可靠的變量節點,更快速地為需要更新的節點提供更可靠的消息資源,進一步加快解碼算法的收斂速度,提高解碼性能。
進一步地,將所述變量節點可靠性動態兩步選擇策略具體應用到基於變量節點的消息更新過程中,包括如下步驟:
所述步驟s11、步驟s12和步驟s13在消息更新時的具體應用如下所示:
s21.利用可靠度度量標準ⅰ,對所有變量節點進行分類:若變量節點更新前後llr值符號發生改變,則將其劃入n1類,否則劃入n2類;若n1類為非空集合,首先對n1中的每一個變量節點,統計該變量節點參與校驗的方程中,不滿足校驗式(校驗方程的值不等於0),的方程的個數,表示為m1,然後根據m1值對n1中的變量節點進行分類:若變量節點的m1值等於最大值max,則將該變量節點劃入n11類,否則劃入n12類;劃分的3個集合依據可靠度從低到高依次為:n11、n12、n2,然後從可靠度最低且非空的集合中找出殘差最大的變量節點作為最不可靠的變量節點;
s22.假設步驟s21中選出的最不可靠的變量節點為vk,則根據可靠度度量標準ⅱ對部分變量節點vj∈n(ca)\vk進行分類:若變量節點更新前後llr值符號未發生改變,則將其劃入n3類,否則劃入n4類;若n3類為非空集合,首先對n3中的每一個變量節點,統計該變量節點參與校驗的方程中,不滿足校驗式(校驗方程的值不等於0),的方程的個數,表示為m2,然後根據m2值對n3中的變量節點進行分類:若變量節點的m2值等於最小值min,則將該變量節點劃入n31類,否則劃入n32類;劃分的3個集合依據可靠度從高到低依次為:n31、n32、n4,然後從可靠度最高且非空的集合中找出殘差最小的變量節點作為最可靠的變量節點,其中ca∈n(vk),n(vk)表示與變量節點vk相連的所有校驗節點的集合,n(ca)\vk表示除變量節點vk外,所有與校驗節點ca相連的變量節點的集合;
s23.假設步驟s22中選出最可靠的變量節點vb,利用vb對vk進行更新。
進一步地,所述步驟s23中的更新步驟如下所示:
s31.對所有ci∈n(vb)更新消息q(vb,ci),其中n(vb)表示與變量節點vb相連的所有校驗節點的集合,q(vb,ci)表示變量節點vb傳遞給與其相連的校驗節點ci的對數似然比信息;
s32.對所有vm∈n(ci)\vb更新消息r(ci,vm),計算殘差並對除vk外的所有vm基於可靠度度量標準ⅰ進行分類,將vk的殘差置為0,其中n(ci)\vb表示除變量節點vb外,所有與校驗節點ci相連的變量節點的集合,r(ci,vm)表示校驗節點ci傳遞給與其相連的變量節點vm的對數似然比信息,和分別表示變量節點vm和變量節點vk概率信息量度(即對數似然比)的殘差;
s33.對所有更新消息q(vk,cn),其中q(vk,cn)表示變量節點vk傳遞給與其相連的校驗節點cn的對數似然比信息;
s34.對所有vt∈n(cn)\vk更新消息r(cn,vt),計算殘差並對所有vt基於可靠度度量標準ⅰ進行分類,其中n(cn)\vk表示除變量節點vk外,所有與校驗節點cn相連的變量節點的集合,表示變量節點vt概率信息量度(即對數似然比)的殘差。
相比於現有技術,本專利的有益效果為:本專利不只是依靠殘差為度量,也不只是尋找不可靠的變量節點,而是首先將所有變量節點依據可靠度度量標準ⅰ劃分為不同的集合,然後從可靠度最低且非空的變量節點集合中選擇殘差最大的變量作為最不可靠的變量節點;接著將部分變量節點(該變量節點集合由所選擇的最不可靠的變量節點決定)依據可靠度度量標準ⅱ劃分為不同的集合,然後從可靠度最高且非空的變量節點集合中選擇殘差最小的變量節點作為最可靠的變量節點;最後利用最可靠的節點信息對最不可靠的節點進行更新。本專利通過上述步驟充分利用解碼過程中消息的動態變化特性,更準確地用最可靠的消息對不可靠的消息進行更新,合理地分配了計算資源,加快了算法的收斂速度,提升了算法的解碼性能。
附圖說明
圖1:本專利的動態兩步選擇策略流程圖;
圖2:本專利中消息更新的具體流程圖;
圖3:1/2-(576,288)ldpc碼的糾錯性能對比;
圖4:3/4-(576,432)ldpc碼的糾錯性能對比;
圖5:1/2-(576,288)ldpc碼在信噪比為2.5db時收斂性能對比。
具體實施方式
下面結合附圖和實施例對本專利做進一步詳細說明。
實施例:
rm-vrbp(decodingofthevariable-noderesidualbasedbeliefpropagationwiththeaidofreliabilitymetric,也即輔以可靠度度量的基於變量節點殘差的置信傳播解碼方法)表示本專利方法的簡稱。
如圖1所示,一種基於變量節點可靠性動態選擇策略的ldpc碼解碼更新方法,其特徵在於,包括如下步驟:
預設可靠度度量標準ⅰ和可靠度度量標準ⅱ;
s11.將所有變量節點依據可靠度度量標準ⅰ分成可靠度不同的集合,從可靠度最低且非空的集合中找出殘差最大的變量節點作為最不可靠的變量節點;
s12.假設s11中選出的最不可靠的變量節點為vk,則對部分變量節點vj∈n(ca)\vk根據可靠度度量標準ⅱ分成可靠度不同的集合,從可靠度最高且非空的集合中找出殘差最小的變量節點作為最可靠的變量節點,其中ca∈n(vk),n(vk)表示與變量節點vk相連的所有校驗節點的集合,n(ca)\vk表示除變量節點vk外,所有與校驗節點ca相連的變量節點的集合;
s13.利用步驟s12中選出的最可靠的變量節點的信息對步驟s11中選出的最不可靠的變量節點進行更新;
其中,變量節點的殘差r(lk(vn))為變量節點更新前後對數似然比(llr值)的差值,可按式子(1)進行計算;
r(lk(vn))=||lk(vn)-lk-1(vn)||(1)
式(1)中,r(lk(vn))表示第k次迭代中變量節點vn的殘差;lk(vn)表示第k次迭代中變量節點vn的llr值;lk-1(vn)表示第k-1次迭代中變量節點vn的llr值;變量節點vn的llr值可按式子(2)進行計算;
式(2)中,lk(vn)表示第k次迭代中變量節點vn的llr值;l0(vn)表示信道傳遞給變量節點vn的初始對數似然比信息;rkmn表示第k次迭代中校驗節點m傳遞給與其相連的變量節點n的對數似然比信息,rkmn可按式子(3)進行計算;n(n)表示與變量節點n相連的所有校驗節點的集合;
式(3)中,rkmn表示第k次迭代中校驗節點m傳遞給與其相連的變量節點n的對數似然比信息;qk-1n'm表示第k-1次迭代中變量節點n'傳遞給與其相連的校驗節點m的對數似然比信息,qk-1n'm可按式子(4)進行計算;n(m)\n表示除變量節點n外,所有與校驗節點m相連的變量節點的集合;
式(4)中,qk-1n'm表示第k-1次迭代中變量節點n'傳遞給與其相連的校驗節點m的對數似然比信息;l0(vn')表示信道傳遞給變量節點vn'的初始對數似然比信息;rk-1m'n'表示第k-1次迭代中校驗節點m'傳遞給與其相連的變量節點n'的對數似然比信息,rk-1m'n'按式子(3)進行計算;n(n')\m表示除校驗節點m外,所有與變量節點n'相連的校驗節點的集合。
具體地,所述步驟s11、步驟s12和步驟s13在消息更新時的具體應用如下所示:
s21.利用可靠度度量標準ⅰ,對所有變量節點進行分類:若變量節點更新前後llr值符號發生改變,則將其劃入n1類,否則劃入n2類;若n1類為非空集合,首先對n1中的每一個變量節點,統計該變量節點參與校驗的方程中,不滿足校驗式(校驗方程的值不等於0),的方程的個數,表示為m1,然後根據m1值對n1中的變量節點進行分類:若變量節點的m1值等於最大值max,則將該變量節點劃入n11類,否則劃入n12類;劃分的3個集合依據可靠度從低到高依次為:n11、n12、n2,然後從可靠度最低且非空的集合中找出殘差最大的變量節點作為最不可靠的變量節點;
s22.假設步驟s21中選出的最不可靠的變量節點為vk,則根據可靠度度量標準ⅱ對部分變量節點vm∈n(ca)\vk進行分類:若變量節點更新前後llr值符號未發生改變,則將其劃入n3類,否則劃入n4類;若n3類為非空集合,首先對n3中的每一個變量節點,統計該變量節點參與校驗的方程中,不滿足校驗式(校驗方程的值不等於0),的方程的個數,表示為m2,然後根據m2值對n3中的變量節點進行分類:若變量節點的m2值等於最小值min,則將該變量節點劃入n31類,否則劃入n32類;劃分的3個集合依據可靠度從高到低依次為:n31、n32、n4,然後從可靠度最高且非空的集合中找出殘差最小的變量節點作為最可靠的變量節點,其中ca∈n(vk),n(vk)表示與變量節點vk相連的所有校驗節點的集合,n(ca)\vk表示除變量節點vk外,所有與校驗節點ca相連的變量節點的集合;
s23.假設步驟s22中選出最可靠的變量節點vb,利用vb對vk進行更新。
如圖2所示,所述步驟s23中的更新步驟如下所示:
s31.對所有ci∈n(vb)更新消息q(vb,ci),其中n(vb)表示與變量節點vb相連的所有校驗節點的集合,q(vb,ci)表示變量節點vb傳遞給與其相連的校驗節點ci的對數似然比信息;
s32.對所有vm∈n(ci)\vb更新消息r(ci,vm),計算殘差並對除vk外的所有vm基於可靠度度量標準ⅰ進行分類,為下次迭代做準備,為了避免vk在下次迭代中被連續選中,將vk的殘差置為0,其中n(ci)\vb表示除變量節點vb外,所有與校驗節點ci相連的變量節點的集合,r(ci,vm)表示校驗節點ci傳遞給與其相連的變量節點vm的對數似然比信息,和分別表示變量節點vm和變量節點vk概率信息量度(即對數似然比)的殘差;
s33.對所有更新消息q(vk,cn),其中q(vk,cn)表示變量節點vk傳遞給與其相連的校驗節點cn的對數似然比信息;
s34.對所有vt∈n(cn)\vk更新消息r(cn,vt),計算殘差並對所有vt基於可靠度度量標準ⅰ進行分類,為下次迭代做準備,其中n(cn)\vk表示除變量節點vk外,所有與校驗節點cn相連的變量節點的集合,表示變量節點vt概率信息量度(即對數似然比)的殘差。
為了比較本專利提出的動態異步更新算法的性能,本實施例進行了計算機仿真。具體操作為,採用隨機產生ldpc碼在awgn信道上傳輸,並利用包含本算法在內的多種不同的解碼算法進行解碼,設置最大迭代次數為5,最大錯誤幀數為100幀,調製方式為bpsk,eb/n0表示歸一化信噪比,單位為分貝(db)。
圖3顯示了(576,288)二進位ldpc碼在awgn信道上,採用各種不同的解碼算法後的糾錯性能對比圖。從圖中可以看出,在較低信噪比下,如1.0db-1.5db,各動態調度解碼算法的性能曲線幾乎是重合的,也就是說各算法的糾錯性能差別不大。但是,在1.5db以後各算法的糾錯性能發生了明顯的變化。在2.5db前,rm-vrbp算法的曲線與ovrbp曲線幾乎重合,但是兩者的下降速度明顯快於其它的算法。vcrbp算法的ber性能在3.0db後超越nwrbp算法。從2.5db開始,隨著信噪比的增加,相較於ovrbp,rm-vrbp算法逐漸顯出優勢,成為解碼性能最佳的算法。在ber=1.0×10-6時,與ovrbp算法相比,rm-vrbp算法有0.14db左右的性能提升。
圖4顯示了(576,432)規則二進位ldpc碼的糾錯性能。在較高碼率情況下,各解碼算法的性能都有所降低,2.5db以前,各解碼算法的性能曲線區分度不高,2.5db以後,各解碼算法的性能曲線區分逐漸明顯,3.0db以前,ovrbp和rm-vrbp算法曲線幾乎重合,但是兩者的下降速度依舊快於其他解碼算法。3.5db開始,rm-vrbp算法的ber性能開始優於ovrbp算法,成為解碼性能最好的算法。在ber=1.0×10-6時,與ovrbp算法相比,rm-vrbp算法有0.13db左右的增益。
圖5顯示了(576,288)規則二進位ldpc碼在固定信噪比2.5db下各解碼算法隨迭代次數增加的收斂性能對比圖。從圖5中可以看出,本專利的rm-vrbp算法表現出了很好的收斂性能,與其他解碼算法相比,在第一次迭代後即達到了較低的ber值,以後一直保持著相對較好的收斂趨勢。動態調度解碼算法(如ov-rbp,rm-vrbp算法)的收斂性要比並行調度解碼算法llrbp算法和串行調度解碼算法csbp算法的收斂性好很多,這也說明動態調度解碼算法可以通過更少的迭代次數獲得更優的收斂性能。在20次迭代以後,各解碼算法的ber性能趨於穩定,也就是說各解碼算法的ber值不再隨著迭代次數的增加而顯著降低。另外,圖5中也可看到rm-vrbp算法的ber性能較之其他算法要好。