国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種針對LDPC碼的局部動態(tài)BP譯碼方法與流程

      文檔序號:11215302閱讀:529來源:國知局
      一種針對LDPC碼的局部動態(tài)BP譯碼方法與流程

      本發(fā)明涉及l(fā)dpc碼譯碼技術(shù)領(lǐng)域,特別涉及一種基于ldpc碼的局部動態(tài)譯碼方法。



      背景技術(shù):

      ldpc碼自1996年再次被發(fā)現(xiàn)以來,其譯碼算法(floodingbp算法)以其實(shí)現(xiàn)簡單,譯碼復(fù)雜度線性增加等特點(diǎn),成為了編譯碼領(lǐng)域焦點(diǎn)。而svnf-rbp算法為代表的動態(tài)bp譯碼算法雖然增加了殘差計算和搜索復(fù)雜度,同時也極大地提升了bp算法的譯碼性能。

      svnf-rbp譯碼算法是一個異步動態(tài)消息迭代算法,每一次根據(jù)一個最大的校驗節(jié)點(diǎn)到變量節(jié)點(diǎn)消息殘差,定位下一個要更新的校驗節(jié)點(diǎn)到變量節(jié)點(diǎn)消息。消息更新就是根據(jù)每次找到的最大殘差為序,沿著與ldpc碼相對應(yīng)的tanner圖中的邊來回傳遞,其消息傳遞主要包括了針對每一個變量節(jié)點(diǎn)的橫向計算和縱向計算兩個步驟,其中橫向計算就是校驗節(jié)點(diǎn)ci到變量節(jié)點(diǎn)vj的消息傳遞:

      縱向計算就是變量節(jié)點(diǎn)vi到校驗節(jié)點(diǎn)cj的消息傳遞:

      在bp譯碼算法中,最終是要依靠每個變量節(jié)點(diǎn)的最大似然比來做0、1判定。每一個變量節(jié)點(diǎn)都將接收來自信道的先驗概率(apriori)(pv(0),pv(1)分別表示傳遞的比特為0和1的概率),還要接收來自與之相連的每一個校驗節(jié)點(diǎn)傳遞的消息。因此變量節(jié)點(diǎn)vi的似然比就是所有接收到的消息總和:

      似然比消息殘差計算公式:r(mk)=||fk(m)-mk||∞,mk∈m;其中m表示計算fk(m)所需的相關(guān)消息,mk和fk(m)分別代表校驗節(jié)點(diǎn)到變量節(jié)點(diǎn)更新前和更新后的似然比。

      svnf-rbp算法迭代過程在滿足以下條件之一時停止:

      (1)所有的校驗方程都滿足。

      (2)迭代次數(shù)達(dá)到設(shè)定的最大值。

      svnf-rbp算法的具體過程為:

      1)初始化所有mc,v=0;

      2)初始化所有

      3)計算所有r(mc,v);

      4)對每一個vj,找出

      5)計算ca∈n(vmax)\cmax

      6)計算ca∈n(vmax)\cmax,vb∈n(ca)\vmax

      7)如果所有校驗方程滿足或是達(dá)到設(shè)定的最大迭代次數(shù),則結(jié)束譯碼,否則返回步驟4)

      對于bp迭代算法,異步策略一般都是通過加速譯碼收斂來提升譯碼性能。svnf-rbp算法能大幅提升bp譯碼性能,但是增加了大量的計算、搜索復(fù)雜度。因此,在提升譯碼性能的同時降低復(fù)雜度顯得尤為重要。



      技術(shù)實(shí)現(xiàn)要素:

      本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)的至少一種缺點(diǎn)與不足,提供一種基于ldpc碼的局部動態(tài)譯碼方法,該局部動態(tài)譯碼方法降低了殘差搜索和存儲復(fù)雜度,同時提升了譯碼性能。

      本發(fā)明的目的通過下述技術(shù)方案實(shí)現(xiàn):

      一種基于ldpc碼的動態(tài)bp譯碼方法,提出殘差具有時效性,采用最新產(chǎn)生的局部最大殘差確定消息的更新順序:

      選定要更新的校驗節(jié)點(diǎn)到變量節(jié)點(diǎn)消息首先更新消息對所有校驗節(jié)點(diǎn)ca∈n(vj)\ci產(chǎn)生并傳遞消息對所有變量節(jié)點(diǎn)vb∈n(ca)\vj計算消息的殘差,并在這些殘差中找出最大者確定下一個要更新的校驗節(jié)點(diǎn)到變量節(jié)點(diǎn)消息;

      具體的局部動態(tài)譯碼算法(lrbp):

      1)初始化所有

      2)初始化所有

      3)計算所有r(mc,v);

      4)找出

      5)計算

      6)計算ca∈n(vmax)\cmax,vb∈n(ca)\vmax

      7)如果所有校驗方程滿足或是達(dá)到設(shè)定的最大迭代次數(shù),則結(jié)束譯碼,否則返回步驟4)

      其中:mc,v泛指所有校驗節(jié)點(diǎn)到變量節(jié)點(diǎn)的消息;泛指變量節(jié)點(diǎn)vn到所有相連的校驗節(jié)點(diǎn)的消息;表示變量節(jié)點(diǎn)vi的信道先驗概率;r(mc,v)泛指所有校驗節(jié)點(diǎn)到變量節(jié)點(diǎn)的消息更新前和更新后的殘差;表示校驗節(jié)點(diǎn)ci到變量節(jié)點(diǎn)vj的似然比值更新前和更新后的殘差;n(vi)表示與變量節(jié)點(diǎn)vi相連的所有校驗節(jié)點(diǎn)集合,校驗節(jié)點(diǎn)ca∈n(vi)表示校驗節(jié)點(diǎn)ca將取遍與變量節(jié)點(diǎn)vi相連所有校驗節(jié)點(diǎn);表示從校驗節(jié)點(diǎn)ca到變量節(jié)點(diǎn)vi的消息,表示從變量節(jié)點(diǎn)vi到校驗節(jié)點(diǎn)cj的消息;n(cj)表示與校驗節(jié)點(diǎn)cj相連的所有變量節(jié)點(diǎn),n(cj)\vi表示與校驗節(jié)點(diǎn)cj相連的所有不包括變量節(jié)點(diǎn)vi的其他變量節(jié)點(diǎn),vb∈n(cj)\vi表示變量節(jié)點(diǎn)vb將取遍與校驗節(jié)點(diǎn)cj相連的所有不包括變量節(jié)點(diǎn)vi的其他變量節(jié)點(diǎn)。

      似然比消息殘差計算公式:r(mk)=||fk(m)-mk||∞,mk∈m;其中m表示計算fk(m)所需的相關(guān)消息,mk和fk(m)分別代表校驗節(jié)點(diǎn)到變量節(jié)點(diǎn)更新前和更新后的似然比。

      本方法提出殘差的產(chǎn)生具有時效性,通過尋找局部最大殘差來建立一個校驗節(jié)點(diǎn)到變量節(jié)點(diǎn)消息的更新序列。

      因此,本發(fā)明相對于現(xiàn)有技術(shù)具有如下的優(yōu)點(diǎn)及效果:

      只從最新產(chǎn)生的殘差中找出最大的殘差,可在計算的同時進(jìn)行搜索,因此殘差不需要存儲,減少了存儲復(fù)雜度;最新產(chǎn)生的殘差也就是局部殘差,減少了搜索最大殘差的復(fù)雜度。

      相對于svnf-rbp算法,本發(fā)明不但能提升了較少迭代次數(shù)的譯碼性能,還有效提升了高信噪比的譯碼性能。

      附圖說明

      圖1是算法lrbp的動態(tài)策略示意圖。

      圖2是算法flooding,lbp,nwrbp,svnf-rbp和lrbp在碼長1944,碼率給定信噪比為1.75db時的fer性能圖。

      圖3是算法svnf-rbp和lrbp在碼長1944,碼率5、50次迭代時的fer性能圖。

      具體實(shí)施方式

      下面結(jié)合實(shí)施例及附圖對本發(fā)明作進(jìn)一步詳細(xì)的描述,但本發(fā)明的實(shí)施方式不限于此。

      本發(fā)明是一種基于ldpc碼的局部動態(tài)譯碼方法,是針對ldpc碼的動態(tài)bp譯碼方法(lrbp),該方法提出殘差的產(chǎn)生具有時效性,通過尋找局部最大殘差來建立一個校驗節(jié)點(diǎn)到變量節(jié)點(diǎn)消息的更新序列。

      設(shè)n(vi)代表與變量節(jié)點(diǎn)vi相連的所有校驗節(jié)點(diǎn),n(vi)\cj則表示與變量節(jié)點(diǎn)vi相連的不包括校驗節(jié)點(diǎn)cj的所有其他校驗節(jié)點(diǎn);n(ci)代表與校驗節(jié)點(diǎn)(校驗方程)ci相連的所有變量節(jié)點(diǎn),n(ci)\vj則表示與校驗節(jié)點(diǎn)ci相連的不包括變量節(jié)點(diǎn)vj的所有其他變量節(jié)點(diǎn)?;ハ噙B接的變量節(jié)點(diǎn)和校驗節(jié)點(diǎn)消息函數(shù)可定義為其中m表示計算所需的相關(guān)消息。信道的先驗概率(apriori)(pv(0),pv(1)分別表示傳遞的比特信息為0和1的概率)。校驗節(jié)點(diǎn)到變量節(jié)點(diǎn)似然比消息殘差計算公式r(mk)=||fk(m)-mk||∞,其中m表示計算fk(m)所需的相關(guān)消息,mk和fk(m)分別代表校驗節(jié)點(diǎn)到變量節(jié)點(diǎn)消息更新前和更新后的似然比。

      假設(shè)校驗節(jié)點(diǎn)到變量節(jié)點(diǎn)消息具有局部最大殘差,該譯碼算法的動態(tài)策略包括如下三個步驟:

      首先,更新消息并傳遞。

      其次,更新消息ca∈n(vj)\ci并傳遞。

      最后,計算殘差vb∈n(ca)\vj,ca∈n(vj)\ci,同時找出最大殘差。

      具體而言,本發(fā)明的算法迭代過程如下:

      1)初始化所有mc,v=0;

      2)初始化所有

      3)計算所有r(mc,v);

      4)找出

      5)計算ca∈n(vmax)\cmax

      6)計算ca∈n(vmax)\cmax,vb∈n(ca)\vmax

      7)如果所有校驗方程滿足或是達(dá)到設(shè)定的最大迭代次數(shù),則結(jié)束譯碼,否則返回步驟4)

      在動態(tài)bp譯碼算法的一次迭代過程中,要么校驗節(jié)點(diǎn)到變量節(jié)點(diǎn)的消息計算量與bp算法相同,要么變量節(jié)點(diǎn)到校驗節(jié)點(diǎn)的消息計算量與bp算法相同,所有的仿真都將嚴(yán)格遵守這個規(guī)則。下表給出對此算法一次迭代過程的消息計算量,其中,分別表示變量節(jié)點(diǎn)和校驗節(jié)點(diǎn)的平均度,e表示tanner圖中邊的數(shù)量,同時有成立,其中n和m分別表示tanner圖中變量節(jié)點(diǎn)和校驗節(jié)點(diǎn)的個數(shù)。

      表1一次迭代中的校驗節(jié)點(diǎn)到變量節(jié)點(diǎn)消息計算量

      表2一次迭代中的變量節(jié)點(diǎn)到校驗節(jié)點(diǎn)消息計算量

      表1、2中,floodingbp算法作為同步消息更新算法,lbp算法作為異步非動態(tài)消息更新算法,僅作參考。

      動態(tài)算法nwrbp算法與svnf-rbp算法都是采用校驗節(jié)點(diǎn)到變量節(jié)點(diǎn)消息最大殘差,最大殘差計算公式:r(mk)=||fk(m)-mk||∞,其中r(mk)表示最大消息殘差,m表示計算fk(m)所需的相關(guān)消息,mk和fk(m)分別代表校驗節(jié)點(diǎn)到變量節(jié)點(diǎn)更新前和更新后的似然比,來找出下一個要更新的校驗節(jié)點(diǎn)到變量節(jié)點(diǎn)消息,然后展開一個實(shí)質(zhì)的消息更新過程,兩個算法都需要對殘差進(jìn)行存儲,所不同的是nwrbp算法是在全部非零校驗節(jié)點(diǎn)到變量節(jié)點(diǎn)消息殘差中選取下一個要優(yōu)先更新的消息,而svnf-rbp算法則是在每個變量節(jié)點(diǎn)覆蓋范圍中的非零校驗節(jié)點(diǎn)到變量節(jié)點(diǎn)消息殘差中選取下一個要優(yōu)先更新的消息。

      下面給出相關(guān)算法主要特征:

      nwrbp算法:

      1)、初始化所有mc,v=0;

      2)、初始化所有

      3)、計算所有r(mc,v);

      4)、在所有非零殘差中挑選最大殘差

      5)、對每一個vk∈n(ci),計算同時把設(shè)置為0。

      6)、對每一個ca∈n(vk),計算

      7)、對每一個vb∈n(ca)\vk,計算

      8)、如果所有校驗方程滿足或是達(dá)到設(shè)定的最大迭代次數(shù),那么結(jié)束譯碼,否則返回步驟4。

      svnf-rbp算法:

      1)、初始化所有mc,v=0;

      2)、初始化所有

      3)、計算所有r(mc,v);

      4)、對每一個vi,對所有vb∈n(ca)\vi(ca∈n(vi)),在所有非零殘差中挑選最大殘差

      5)、計算并設(shè)置

      6)、對每一個ca∈n(vmax)\cmax,計算

      7)、對每一個vb∈n(ca)\vmax,計算

      8)、如果所有校驗方程滿足或是達(dá)到設(shè)定的最大迭代次數(shù),那么結(jié)束譯碼,否則返回步驟4。

      從上述算法描述可看出,該lrbp算法與nwrbp和svnf-rbp算法都采用校驗節(jié)點(diǎn)到變量節(jié)點(diǎn)似然比值絕對殘差定位方法,不同的是lrbp算法區(qū)別殘差產(chǎn)生的時間,只使用最新產(chǎn)生的殘差;而nwrbp和svnf-rbp算法對不同時間產(chǎn)生的殘差給予的是無差別對待,對所有殘差一視同仁??紤]到svnf-rbp是目前動態(tài)算法中最具代表性的,因此lrbp算法將主要與svnf-rbp算法進(jìn)行對比。

      如圖1所示,黑色圓圈表示已經(jīng)被更新的變量節(jié)點(diǎn),黑色方框表示已經(jīng)被更新的校驗節(jié)點(diǎn)。動態(tài)異步消息更新策略步驟如下,首先如圖1(a)所示,選出校驗節(jié)點(diǎn)到變量節(jié)點(diǎn)消息優(yōu)先更新,然后如圖1(b)所示,對所有校驗節(jié)點(diǎn)ca∈n(vj)\ci產(chǎn)生消息并進(jìn)行傳遞,最后,圖1(c),對所有校驗節(jié)點(diǎn)ca∈n(vj)\ci,vb∈n(ci)\vj計算殘差

      圖2列出了包括floodingbp、lbp在內(nèi)的nwrbp,svnf-rbp和lrbp在碼長1944,碼率給定信噪比為1.75db時的fer性能圖。從圖中可以看出,lrbp即使在5次迭代內(nèi)性能曲線明顯在svnf-rbp算法曲線之下,而svnf-rbp是目前最有代表性的動態(tài)譯碼算法,因此在后面的仿真圖中主要和svnf-rbp算法進(jìn)行對比。所有仿真都是在awgn信道下進(jìn)行。

      圖3給出了碼長1944,碼率時,分別在5、50次迭代次數(shù)下,svnf-rbp和lrbp算法的fer性能圖。從圖中可以看出,lrbp算法在較少迭代次數(shù)5次迭代時,譯碼性能已經(jīng)略勝于svnf-rbp算法,在50次迭代中低信噪比的情形下,性能與svnf-rbp算法基本一致,在高信噪比時超越了svnf-rbp算法。

      本發(fā)明公開一種基于ldpc碼的動態(tài)譯碼方法——lrbp(localresidualbp),該方法不但能減少殘差的搜索和存儲復(fù)雜度,同時還能提升較小迭代次數(shù)內(nèi)的譯碼性能(svnf-rbp算法在較小迭代次數(shù)內(nèi)幾乎沒有性能提升),高信噪比時譯碼性能也明顯優(yōu)于svnf-rbp算法。

      lrbp算法首先提出殘差具有時效性,也就是不同時間產(chǎn)生的殘差,其作用也不盡相同。lrbp算法只關(guān)注最新產(chǎn)生的殘差,在最新產(chǎn)生的殘差中找出最大殘差來建立校驗節(jié)點(diǎn)到變量節(jié)點(diǎn)消息的更新序列。由于最新產(chǎn)生的殘差是由最新的消息更新產(chǎn)生,因此總是能用最新的消息去更新下一個消息,這一行為起到加速收斂的效果,提升了譯碼性能。同時,最新殘差中搜索最大殘差,可在計算的同時進(jìn)行,因此不需要存儲殘差,搜索的范圍減小,有效降低了動態(tài)譯碼算法的存儲搜索復(fù)雜度。

      上述實(shí)施例為本發(fā)明較佳的實(shí)施方式,但本發(fā)明的實(shí)施方式并不受上述實(shí)施例的限制,其他的任何未背離本發(fā)明的精神實(shí)質(zhì)與原理下所作的改變、修飾、替代、組合、簡化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護(hù)范圍之內(nèi)。

      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1