亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于變量節(jié)點(diǎn)懶惰串行分層調(diào)度的LDPC譯碼算法的制作方法

文檔序號(hào):12489781閱讀:406來源:國(guó)知局
基于變量節(jié)點(diǎn)懶惰串行分層調(diào)度的LDPC譯碼算法的制作方法與工藝

本發(fā)明涉及一種低密度奇偶校驗(yàn)碼(LDPC)的譯碼算法,具體來說涉及一種基于因子圖中變量節(jié)點(diǎn)的懶惰串行分層調(diào)度(Variable-Node Lazy Serial Layered Scheduling,VN-LSLS)的LDPC譯碼算法。



背景技術(shù):

在通信系統(tǒng)中,信道編碼是有效的減小噪聲影響的錯(cuò)誤檢測(cè)與糾錯(cuò)技術(shù),其中低密度奇偶校驗(yàn)碼(Low-Density Parity-Check Code,LDPC Code)是目前最接近香農(nóng)門限的編碼技術(shù)。然而LDPC譯碼和迭代均衡的最優(yōu)算法的復(fù)雜度太高,常常不可實(shí)現(xiàn),為此需要尋找復(fù)雜度較低的次優(yōu)算法?;谝蜃訄D的置信度傳播(belief propagation)算法提供了一種復(fù)雜度較低且性能良好的譯碼方案,其中和積算法(sum-product algorithm,SPA)是一類廣泛應(yīng)用的置信度傳播算法。

SPA采用局部運(yùn)算,簡(jiǎn)化了邊緣概率方程和后驗(yàn)概率方程的全局計(jì)算,從而降低了LDPC碼和迭代均衡算法的復(fù)雜度。但是,基于因子圖的算法存在以下問題:

(a)因子圖中的短環(huán)增加了變量之間的相關(guān)性,容易造成誤碼擴(kuò)散,從而降低置信度傳播算法性能;

(b)置信度傳播算法的運(yùn)算復(fù)雜度與因子圖中每個(gè)函數(shù)節(jié)點(diǎn)邊的數(shù)目呈指數(shù)增長(zhǎng),因此因子圖中存在的大量邊增加了算法實(shí)現(xiàn)的復(fù)雜度;

(c)傳統(tǒng)的置信度傳播速度較慢,所需迭代次數(shù)較多,增加了譯碼器和均衡器的延時(shí)和功耗。這三個(gè)問題會(huì)降低通信系統(tǒng)的可靠性,增加接收系統(tǒng)的復(fù)雜度、延時(shí)和功耗,從而影響LDPC碼的實(shí)用性。

目前主流的LDPC譯碼算法都是基于置信度傳播的譯碼方式。LDPC碼的置信度傳播算法的調(diào)度算法主要有并行泛洪調(diào)度算法(PFS)、基于分層置信度傳播的串行分層調(diào)度(SLS)算法和基于剩余置信度的動(dòng)態(tài)調(diào)度(DS)算法。其中分層置信度傳播算法因其簡(jiǎn)單的譯碼器結(jié)構(gòu)和良好的性能而被廣泛應(yīng)用。

LDPC碼的串行分層調(diào)度算法可在不影響誤碼性能的前提上,將譯碼算法的收斂速度提升大約1倍,串行分層譯碼器所需的復(fù)雜度和延時(shí)都被大大改善。然而在現(xiàn)代高速通信系統(tǒng)中,串行分層調(diào)度算法及其對(duì)應(yīng)的譯碼器依然存在收斂較慢以及延時(shí)和功耗較大的缺點(diǎn)。本專利的算法可在串行分層調(diào)度算法的基礎(chǔ)上,進(jìn)一步降低延時(shí)和功耗。



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

本發(fā)明的目的是基于因子圖和置信度傳播算法研究LDPC譯碼的低復(fù)雜度的高性能算法,可為改善通信系統(tǒng)的可靠性、延時(shí)、功耗和復(fù)雜度提供一種實(shí)用的解決方案。本發(fā)明是以串行分層調(diào)度算法為基礎(chǔ),根據(jù)變量節(jié)點(diǎn)的置信度來減少調(diào)度過程中有效性較差的更新過程,以減少不必要的運(yùn)算,從而達(dá)到減少譯碼延時(shí)和功耗的目的。

為了實(shí)現(xiàn)以上目的,本發(fā)明提出一種基于變量節(jié)點(diǎn)懶惰串行分層調(diào)度的LDPC譯碼算法,即一種基于變量節(jié)點(diǎn)置信度的懶惰串行分層調(diào)度的低密度奇偶校驗(yàn)碼(LDPC碼)譯碼算法(VN-LSLS)。

在介紹譯碼算法之前,先定義LDPC碼的校驗(yàn)矩陣為P,其大小為m×n,其中m為其行數(shù),n為其列數(shù)。校驗(yàn)矩陣的每行對(duì)應(yīng)因子圖中的1個(gè)校驗(yàn)函數(shù)節(jié)點(diǎn),每列對(duì)因子圖中的一個(gè)變量節(jié)點(diǎn)。即該因子圖中具有m個(gè)校驗(yàn)函數(shù)節(jié)點(diǎn)和n個(gè)變量節(jié)點(diǎn)。當(dāng)校驗(yàn)矩陣中的元素P(i,j)(1≤j≤m,1≤i≤n)為1時(shí),第i個(gè)校驗(yàn)函數(shù)節(jié)點(diǎn)和第j個(gè)變量節(jié)點(diǎn)之間建立一條路徑。

基于變量節(jié)點(diǎn)置信度的懶惰串行分層調(diào)度的LDPC譯碼算法,包含以下步驟:

1)初始化所有外信息為零;

2)初始化變量節(jié)點(diǎn)的后驗(yàn)概率信息.

3)初始化懶惰校驗(yàn)函數(shù)節(jié)點(diǎn)集合為空集;

4)如果懶惰校驗(yàn)函數(shù)節(jié)點(diǎn)集合為空集,則重置該集合,使其包含所有校驗(yàn)節(jié)點(diǎn);

5)依此選擇懶惰校驗(yàn)函數(shù)節(jié)點(diǎn)集合中的校驗(yàn)節(jié)點(diǎn);

6)根據(jù)串行分層調(diào)度算法,更新步驟5)中所選校驗(yàn)節(jié)點(diǎn)相關(guān)的中間變量;

7)根據(jù)步驟6)中的中間變量判斷懶惰條件是否滿足。如果滿足懶惰條件,則將步驟5)中所選的校驗(yàn)節(jié)點(diǎn)從懶惰校驗(yàn)函數(shù)節(jié)點(diǎn)集合中刪除,否則保留該校驗(yàn)節(jié)點(diǎn);

8)重復(fù)步驟5)~7),直至所有校驗(yàn)節(jié)點(diǎn)都被選擇一次;

9)根據(jù)變量節(jié)點(diǎn)的置信度進(jìn)行硬判決,得到二進(jìn)制譯碼結(jié)果B。

10)判斷譯碼停止條件是否滿足。如果譯碼條件已滿足,則終止譯碼過程,否則重復(fù)步驟4)~9)直至譯碼停止條件被滿足。

步驟1)中的外信息(L(rij))為第i個(gè)校驗(yàn)函數(shù)節(jié)點(diǎn)傳遞給第j個(gè)變量節(jié)點(diǎn)的外部置信度信息。在步驟2)中,第j個(gè)變量節(jié)點(diǎn)的后驗(yàn)概率信息(L(Qj))的初始化方程為:

其中yj為第i個(gè)變量節(jié)點(diǎn)從加性高斯白噪聲信道接收到數(shù)值,σn2為噪聲的平均功率。

步驟4)是為了確保譯碼結(jié)果的正確性,防止之前判決正確的置信度在后續(xù)的更新過程中發(fā)生變化。

在步驟6)中,串行分層調(diào)度算法的計(jì)算過程為依此執(zhí)行以下3個(gè)方程:

L(qji)=L(Qj)-L(rij)

L(Qj)=L(qji)+L'(rij)

其中,L(qji)為運(yùn)算過程中的中間變量,表示為第j個(gè)變量節(jié)點(diǎn)傳遞給第i個(gè)校驗(yàn)函數(shù)節(jié)點(diǎn)的外信息。

在步驟6)中,中間變量包含min(i)和smin(i)。其中min(i)表示|L(qki)|取值中的最小值,而smin(i)表示|L(qki)|取值中的次小值。

在步驟7)中,懶惰判決條件為:

si×(min(i)+α×smin(i))>Lth

其中α為近似因子,其取值為0.75。Lth為懶惰門限,其取值需要通過仿真確定。。

在步驟10)中的譯碼終止條件為:譯碼迭代次數(shù)達(dá)到設(shè)定的最大值,其中迭代次數(shù)為重復(fù)步驟4)~9)的次數(shù);或者所有校驗(yàn)方程都已滿足,即校驗(yàn)矩陣與譯碼結(jié)果相乘為0(P×B=0)。

本發(fā)明與現(xiàn)有的LDPC譯碼算法相比,具有以下優(yōu)點(diǎn):

1、在傳統(tǒng)的串行分層算法中,一次譯碼迭代過程會(huì)遍歷處理m個(gè)校驗(yàn)函數(shù)節(jié)點(diǎn)。而在本發(fā)明的譯碼算法中,則會(huì)根據(jù)變量節(jié)點(diǎn)的置信度情況,實(shí)時(shí)減少處理的校驗(yàn)函數(shù)節(jié)點(diǎn)數(shù),從而減少了不必要的迭代更新運(yùn)算,降低了譯碼算法的復(fù)雜度,因此譯碼器的功耗和延時(shí)也會(huì)被降低。

2、根據(jù)懶惰算法,不必要的更新運(yùn)算被跳過,因此譯碼器的延時(shí)會(huì)被大大降低,同時(shí)其功耗也會(huì)相應(yīng)地降低,有助于接收機(jī)的低功耗和低延時(shí)設(shè)計(jì),對(duì)于WiMAX和DVB-S2中的LDPC碼譯碼器,該算法可將其延時(shí)和功耗降低13.9%~36.4%。

3、從因子圖角度看,由于不必要的更新運(yùn)算被跳過,導(dǎo)致因子圖中信息的傳遞路徑的環(huán)變長(zhǎng)了,從而可改善譯碼算法的誤碼性能,降低譯碼的信噪比門限。

附圖說明

圖1是本發(fā)明所述LDPC譯碼算法的流程圖;

圖2是在FPGA內(nèi)實(shí)現(xiàn)本發(fā)明算法的功能框圖;

圖3是本發(fā)明LDPC譯碼算法與串行分層調(diào)度算法的迭代次數(shù)對(duì)比圖;

圖4是DVB-S2中的LDPC碼采用本發(fā)明譯碼算法與采用傳統(tǒng)串行分層調(diào)度算法的誤碼性能對(duì)比圖。

具體實(shí)施方式

本發(fā)明中的LDPC碼譯碼算法可在FPGA平臺(tái)中進(jìn)行實(shí)現(xiàn),圖2給出了其實(shí)現(xiàn)時(shí)的功能框圖。該譯碼器包括串行分層調(diào)度處理器(SLS處理器)、懶惰調(diào)度控制器、后驗(yàn)信息(L(Qj))和外信息(L(rij))存儲(chǔ)器。串行分層調(diào)度處理器(SLS處理器)根據(jù)后驗(yàn)信息和外信息更新校驗(yàn)節(jié)點(diǎn)相鄰的變量節(jié)點(diǎn)的后驗(yàn)信息,其過程與傳統(tǒng)的串行分層調(diào)度算法一致,并生成中間變量min(i)和smin(i)以供懶惰調(diào)度控制器進(jìn)行判決。懶惰調(diào)度控制器包含讀地址生成器、寫地址生成器和懶惰判決器。懶惰判決器根據(jù)串行分層調(diào)度處理器生成的中間變量來判斷某一變量節(jié)點(diǎn)是否滿足懶惰判決條件。所述讀地址生成器和寫地址生成器根據(jù)懶惰條件,控制后驗(yàn)信息和外信息的讀寫地址,以跳過懶惰變量節(jié)點(diǎn)相關(guān)的信息更新過程。所述后驗(yàn)信息和外信息存儲(chǔ)器用于存儲(chǔ)更新過程中的后驗(yàn)信息和外信息。

圖1所示,基于變量節(jié)點(diǎn)置信度的懶惰串行分層調(diào)度譯碼器的實(shí)施過程,具體如下:

1、初始化所有的外信息為0,并將其存儲(chǔ)至外信息存儲(chǔ)中;

2、根據(jù)信道接收到的信號(hào)值初始化對(duì)應(yīng)變量節(jié)點(diǎn)的后驗(yàn)概率信息,并將其存儲(chǔ)至后驗(yàn)信息存儲(chǔ)器中;

3、在懶惰判決器中,初始化懶惰校驗(yàn)節(jié)點(diǎn)集合為全集,即該集合包含所有的校驗(yàn)節(jié)點(diǎn),同時(shí)初始化后驗(yàn)概率和外信息存儲(chǔ)器的讀寫地址表為順序地址;

4、依此從懶惰校驗(yàn)節(jié)點(diǎn)集合中的校驗(yàn)節(jié)點(diǎn),然后從后驗(yàn)概率存儲(chǔ)和外信息存儲(chǔ)器中讀取相鄰變量節(jié)點(diǎn)的后驗(yàn)概率及其相關(guān)外信息;

5、執(zhí)行串行分層調(diào)度算法,更新對(duì)應(yīng)的變量節(jié)點(diǎn)的后驗(yàn)概率和外信息,并將更新后的值重新存儲(chǔ)至后驗(yàn)概率和外信息存儲(chǔ)器中。

6、在執(zhí)行串行分層調(diào)度算法過程中,生成中間變量min(i)和smin(i),將其傳遞至懶惰判決器。

7、懶惰判決器根據(jù)中間變量進(jìn)行懶惰判決,并更新懶惰校驗(yàn)節(jié)點(diǎn)集合和下次迭代過程中的后驗(yàn)概率和外信息存儲(chǔ)器讀寫地址表。

8、當(dāng)遍歷完懶惰校驗(yàn)節(jié)點(diǎn)集合中的所有校驗(yàn)節(jié)點(diǎn)時(shí),完成一次迭代過程。

9、進(jìn)行下一次迭代過程,當(dāng)懶惰校驗(yàn)節(jié)點(diǎn)集合為空集時(shí),將其重置為全集,然后重復(fù)執(zhí)行步驟4~8)。

10、當(dāng)?shù)螖?shù)達(dá)到設(shè)定的最大值或者判決結(jié)果滿足校驗(yàn)方程時(shí),結(jié)束本次譯碼過程,并將判決結(jié)果進(jìn)行譯碼輸出。

圖3和圖4以WiMAX和DVB-S2標(biāo)準(zhǔn)中的的LDPC碼為例,對(duì)本專利中的算法進(jìn)行性能說明。LDPC碼一般用(n,k)來表示,其中n為L(zhǎng)DPC碼的編碼后的碼長(zhǎng),k為L(zhǎng)DPC碼中的信息碼長(zhǎng)(編碼前的碼長(zhǎng))。

圖3比較了四種碼字采用本發(fā)明的VN-LSLS算法與傳統(tǒng)的串行分層調(diào)度(SLS)算法的平均迭代次數(shù)。四種碼字分別取自WiMAX標(biāo)準(zhǔn)和DVB-S2標(biāo)準(zhǔn),它們分別為(2304,1152)、(2304,1728)、(64800,32400)和(64800,48600)。不同算法的Tavg(平均迭代次數(shù))是在相同的信噪比和相同的誤碼性能(BER=1E-6)條件下進(jìn)行對(duì)比的。對(duì)于WiMAX(2304,1152)碼,在信噪比Eb/N0=2.1dB下,為了使得誤碼率達(dá)到1E-6,傳統(tǒng)的串行分層調(diào)度算法(SLS)所需的平均迭代次數(shù)為6.0,而本發(fā)明中的VN-LSLS算法所需的平均迭代次數(shù)僅為4.9,迭代次數(shù)減少了18.3%。對(duì)于WiMAX(2304,1728)碼,在信噪比Eb/N0=3.2dB下,為了使得誤碼率達(dá)到1E-6,傳統(tǒng)的SLS算法所需的平均迭代次數(shù)為3.6,而本發(fā)明中的VN-LSLS算法所需的平均迭代次數(shù)僅為3.1,迭代次數(shù)減少了13.9%。對(duì)于DVB-S2(64800,32400)碼,在信噪比Eb/N0=1.1dB下,為了使得誤碼率達(dá)到1E-6,傳統(tǒng)的SLS算法所需的平均迭代次數(shù)為34.1,而本發(fā)明中的VN-LSLS算法所需的平均迭代次數(shù)僅為21.7,迭代次數(shù)減少了36.4%。對(duì)于DVB-S2(64800,48600)碼,在信噪比Eb/N0=2.4dB下,為了使得誤碼率達(dá)到1E-6,傳統(tǒng)的SLS算法所需的平均迭代次數(shù)為19.1,而本發(fā)明中的VN-LSLS算法所需的平均迭代次數(shù)僅為12.5,減少了34.6%。從圖3中可以看出平均迭代次數(shù)改善了13.9%~36.4%。在硬件平臺(tái)中,本發(fā)明中的VN-LSLS算法的功耗和延時(shí)也會(huì)相應(yīng)地大約改善13.9%~36.4%。

圖4對(duì)比了DVB-S2標(biāo)準(zhǔn)中(64800,32400)和(64800,48600)兩個(gè)碼字的采用本發(fā)明VN-LSLS算法與傳統(tǒng)的串行分層調(diào)度(SLS)算法的誤碼率性能,其中最大迭代次數(shù)設(shè)置為50。其中實(shí)線表示的是(64800,32400)碼字的誤碼率性能,虛線表示的是(64800,48600)碼字的誤碼率性能。對(duì)于DVB-S2(64800,32400)碼字,VN-LSLS算法的門限信噪比為1.0dB,SLS算法的門限信噪比為1.1dB。對(duì)于DVB-S2(64800,48600)碼字,VN-LSLS算法的門限信噪比為2.3dB,SLS算法的門限信噪比為2.4dB。從圖4可以看出本發(fā)明的VN-LSLS的門限信噪比優(yōu)于傳統(tǒng)SLS的門限信噪比大約0.1dB,且誤碼平層有所改善。該仿真結(jié)果證明了VN-LSLS算法在降低迭代次數(shù)的同時(shí),不僅沒有惡化誤碼性能,同時(shí)還對(duì)誤碼性能有所改善。

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