蘭亞柱 楊海鋼 林 郁
?
動(dòng)態(tài)自適應(yīng)低密度奇偶校驗(yàn)碼譯碼器的FPGA實(shí)現(xiàn)
蘭亞柱①②楊海鋼*①林 郁①
①(中國(guó)科學(xué)院電子學(xué)研究所可編程芯片與系統(tǒng)研究室 北京 100190)②(中國(guó)科學(xué)院大學(xué) 北京 100049)
在復(fù)雜深空通信環(huán)境中,自適應(yīng)能力的強(qiáng)弱對(duì)低密度奇偶校驗(yàn)(LDPC)碼譯碼器能否保持長(zhǎng)期穩(wěn)定工作具有重要影響。該文通過(guò)對(duì)DVB-S2標(biāo)準(zhǔn)LDPC碼譯碼器各功能模塊的IP化設(shè)計(jì),將動(dòng)態(tài)自適應(yīng)理論參數(shù)化映射到各功能模塊中,實(shí)現(xiàn)動(dòng)態(tài)自適應(yīng)LDPC碼譯碼器的設(shè)計(jì)。基于Stratix IV系列FPGA的驗(yàn)證結(jié)果表明,動(dòng)態(tài)自適應(yīng)LDPC譯碼器可以滿(mǎn)足不同碼率碼長(zhǎng)及不同性能需求下的譯碼。同時(shí),單譯碼通道可以保證譯碼數(shù)據(jù)信息吞吐率達(dá)到40.9~71.7 Mbps。
LDPC碼譯碼器;動(dòng)態(tài)自適應(yīng);DVB-S2標(biāo)準(zhǔn);FPGA
DVB-S2是歐洲數(shù)字視頻廣播聯(lián)盟在2004年提出的第2代衛(wèi)星數(shù)字視頻廣播通信標(biāo)準(zhǔn)。DVB-S2標(biāo)準(zhǔn)采用低密度奇偶校驗(yàn)(Low Density Parity Check, LDPC)碼作為信道編碼的解決方案。
20世紀(jì)60年代初,LDPC碼首次被提出[1]。在后續(xù)數(shù)十年中,除了Tanner圖理論外,LDPC碼很少有進(jìn)一步的實(shí)質(zhì)性研究成果。90年中后期,文獻(xiàn)[2]通過(guò)一系列創(chuàng)新性研究,促使LDPC碼迅速成為信道編碼領(lǐng)域關(guān)注和研究的熱點(diǎn)。
在國(guó)內(nèi),文獻(xiàn)[3]對(duì)DVB-S2標(biāo)準(zhǔn)相同碼長(zhǎng)、不同碼率的LDPC碼糾錯(cuò)性能進(jìn)行了對(duì)比分析,并未涉及硬件邏輯實(shí)現(xiàn)及驗(yàn)證。文獻(xiàn)[4]針對(duì)DVB-S2標(biāo)準(zhǔn)LDPC碼的改進(jìn)最小和譯碼算法,提出一種FPGA實(shí)現(xiàn)方案,但其在碼長(zhǎng)及碼率靈活度方面不足。
在國(guó)外,文獻(xiàn)[5]基于DVB-S2標(biāo)準(zhǔn)LDPC碼提出一種可以支持所有碼率的LDPC譯碼器實(shí)現(xiàn)方案,但是該方案需要消耗的硬件邏輯存儲(chǔ)資源過(guò)大。為了有效降低對(duì)硬件邏輯存儲(chǔ)資源的消耗,文獻(xiàn)[6]通過(guò)有效降低LDPC碼譯碼器的并行度的方法,但該方法的代價(jià)是降低了譯碼器的整體譯碼數(shù)據(jù)吞吐率。
隨著我國(guó)在載人航天和探月工程等重大專(zhuān)項(xiàng)的深入發(fā)展,LDPC碼在未來(lái)深空通信領(lǐng)域?qū)⒕哂泻芨叩膽?yīng)用價(jià)值。目前,國(guó)內(nèi)學(xué)者對(duì)LDPC碼的研究結(jié)論往往是對(duì)某一算法的驗(yàn)證或是特定結(jié)構(gòu)LDPC碼的實(shí)現(xiàn),難以普遍應(yīng)用。面向DVB-S2標(biāo)準(zhǔn)LDPC碼在我國(guó)深空通信領(lǐng)域的應(yīng)用,本文以FPGA為硬件邏輯平臺(tái),完成動(dòng)態(tài)自適應(yīng)LDPC碼譯碼器的IP化設(shè)計(jì)實(shí)現(xiàn)及驗(yàn)證。
2.1 層次化修正最小和(Min-Sum, MS)算法
鑒于此,本文選取層次化修正MS算法作為動(dòng)態(tài)自適應(yīng)LDPC碼譯碼器硬件邏輯實(shí)現(xiàn)的基本迭代譯碼算法模型。
2.2 IP化設(shè)計(jì)思想
本文對(duì)LDPC碼譯碼器采用IP化設(shè)計(jì)思想,即利用IP核可重構(gòu)配置性強(qiáng)的特點(diǎn),對(duì)LDPC碼譯碼器進(jìn)行硬件邏輯實(shí)現(xiàn)。LDPC碼譯碼器IP化設(shè)計(jì)思想主要包括(1)采用自上而下的方法對(duì)LDPC碼譯碼器系統(tǒng)進(jìn)行功能模塊劃分;(2)利用自下而上的方法對(duì)各個(gè)功能模塊進(jìn)行IP化設(shè)計(jì)實(shí)現(xiàn);(3)對(duì)LDPC碼譯碼器參數(shù)化功能進(jìn)行設(shè)計(jì)實(shí)現(xiàn);(4)通過(guò)系統(tǒng)性功能驗(yàn)證,完成LDPC碼譯碼器的設(shè)計(jì)。
LDPC碼譯碼器的整體硬件邏輯設(shè)計(jì)結(jié)構(gòu)如圖1所示。基于IP化設(shè)計(jì)思想,將LDPC碼譯碼器劃分為4個(gè)相互獨(dú)立功能模塊以及參數(shù)配置模塊、控制模塊和信息輸出模塊。

圖1 LDPC碼譯碼器IP化模塊劃分結(jié)構(gòu)
量化模塊負(fù)責(zé)將信道端接收到的浮點(diǎn)數(shù)據(jù)信息進(jìn)行硬件量化處理及存儲(chǔ)。信息模塊主要包括校驗(yàn)節(jié)點(diǎn)信息更新、變量節(jié)點(diǎn)信息更新。校驗(yàn)節(jié)點(diǎn)更新主要由數(shù)值比特位運(yùn)算模塊和符號(hào)比特位運(yùn)算模塊構(gòu)成。變量節(jié)點(diǎn)更新由比特位加法器構(gòu)成。存儲(chǔ)模塊負(fù)責(zé)以360為基本因子,對(duì)校驗(yàn)矩陣的地址進(jìn)行存儲(chǔ)和循環(huán)調(diào)度。迭代模塊負(fù)責(zé)譯碼器的迭代數(shù)據(jù)信息檢測(cè)及反饋。參數(shù)配置模塊負(fù)責(zé)對(duì)譯碼器的各種參數(shù)進(jìn)行配置??刂颇K負(fù)責(zé)對(duì)譯碼器的各個(gè)功能獨(dú)立的模塊進(jìn)行調(diào)度控制。信息輸出模塊將迭代譯碼終止迭代后數(shù)據(jù)信息及有效標(biāo)志位輸出。
2.3 動(dòng)態(tài)自適應(yīng)理論
本文采用的動(dòng)態(tài)自適應(yīng)理論包括動(dòng)態(tài)主動(dòng)自適應(yīng)和動(dòng)態(tài)被動(dòng)自適應(yīng)兩種。主動(dòng)自適應(yīng)主要為了保證譯碼器功能自適應(yīng),包括碼率碼長(zhǎng)等。被動(dòng)自適應(yīng)主要為了保證譯碼器性能的自適應(yīng),包括譯碼精度、數(shù)據(jù)吞吐率等。
本文將動(dòng)態(tài)自適應(yīng)理論以IP化的設(shè)計(jì)思想融入LDPC碼譯碼器的設(shè)計(jì)中。按照?qǐng)D1的模塊劃分,對(duì)功能上相互獨(dú)立的量化模塊、信息模塊、存儲(chǔ)模塊和迭代模塊等4個(gè)模塊進(jìn)行動(dòng)態(tài)自適應(yīng)IP化設(shè)計(jì)。針對(duì)各個(gè)功能化模塊,IP化設(shè)計(jì)思想均會(huì)對(duì)其進(jìn)行動(dòng)態(tài)自適應(yīng)理論方面的參數(shù)配置及標(biāo)準(zhǔn)映射。LDPC碼譯碼器IP化設(shè)計(jì)參數(shù)配置如圖2所示。

圖2 LDPC碼譯碼器IP化設(shè)計(jì)參數(shù)配置及映射標(biāo)準(zhǔn)
在對(duì)LDPC碼譯碼器進(jìn)行IP化模塊劃分時(shí),會(huì)對(duì)數(shù)據(jù)接口的位寬及控制接口的有效性進(jìn)行參數(shù)化處理。在此基礎(chǔ)上,LDPC碼譯碼器IP化設(shè)計(jì)參數(shù)配置便可以通過(guò)數(shù)據(jù)接口位寬及控制接口有效性的不同設(shè)置,保證各功能模塊之間的功能性一致。總之,通過(guò)IP化設(shè)計(jì),動(dòng)態(tài)自適應(yīng)功能會(huì)通過(guò)各功能模塊之間及內(nèi)部的合理配置而整體有效地體現(xiàn)出來(lái)。
3.1動(dòng)態(tài)自適應(yīng)量化模塊
層次化修正MS譯碼算法在硬件邏輯實(shí)現(xiàn)中,隨著迭代次數(shù)的遞增,變量節(jié)點(diǎn)信息會(huì)出現(xiàn)定點(diǎn)量化范圍的邊界飽和,嚴(yán)重影響譯碼性能。為了在量化邊界飽和與邏輯資源消耗間取得有效平衡,動(dòng)態(tài)自適應(yīng)量化模塊采用被動(dòng)自適應(yīng)方式處理初始化階段的數(shù)據(jù)量化,采用主動(dòng)自適應(yīng)方式處理迭代譯碼階段的數(shù)據(jù)量化。
動(dòng)態(tài)自適應(yīng)量化模塊的配置如圖3所示。初始化量化比特位數(shù)設(shè)置為8,其中,1 bit數(shù)據(jù)符號(hào)位1為正0為負(fù),7 bit的數(shù)據(jù)大小值。保留位會(huì)給初始化量化提供兩種不同的配置選擇,(1)采用低位表示數(shù)據(jù)符號(hào)位的策略;(2)采用高位表示數(shù)據(jù)符號(hào)位的策略。

圖3 動(dòng)態(tài)自適應(yīng)量化模塊配置
3.2動(dòng)態(tài)自適應(yīng)信息模塊
層次化修正MS譯碼算法中,迭代譯碼需要存儲(chǔ)迭代信息的最小值和次最小值。
動(dòng)態(tài)自適應(yīng)信息模塊的配置1如圖4所示。基于該配置信息,可以解壓出校驗(yàn)節(jié)點(diǎn)傳遞給所有變量節(jié)點(diǎn)的信息。動(dòng)態(tài)自適應(yīng)信息模塊選取校驗(yàn)矩陣的行重為30,與之相對(duì)應(yīng)共有30 bit的符號(hào)位,對(duì)應(yīng)傳遞給30個(gè)變量節(jié)點(diǎn)信息的符號(hào)。同時(shí),選取最小值和次小值絕對(duì)值均采用5 bit整數(shù)和2 bit小數(shù)量化形式。

圖4 動(dòng)態(tài)自適應(yīng)信息模塊配置1
在迭代譯碼過(guò)程中,對(duì)碼長(zhǎng)64800或16200的數(shù)據(jù)信息進(jìn)行存儲(chǔ),需要消耗64800(16200)×bit(為量化位寬)的硬件存儲(chǔ)資源。如果采用整體例化存儲(chǔ)資源的方式,譯碼器的系統(tǒng)時(shí)鐘最高可達(dá)151 MHz。為了提高譯碼器系統(tǒng)時(shí)鐘,動(dòng)態(tài)自適應(yīng)信息模塊采用被動(dòng)自適應(yīng)方式,對(duì)數(shù)據(jù)信息進(jìn)行分布式存儲(chǔ)。
動(dòng)態(tài)自適應(yīng)信息模塊的配置3如圖5所示?;谠撆渲眯畔ⅲ瑒?dòng)態(tài)自適應(yīng)信息模塊采用分布式例化存儲(chǔ)資源的方式時(shí),即將64800深度的RAM分配為4塊深度為16320的RAM,而通過(guò)整體的RAM數(shù)據(jù)信息讀寫(xiě)調(diào)度模塊,對(duì)4塊RAM進(jìn)行讀寫(xiě)管理,可以使譯碼器的系統(tǒng)時(shí)鐘最高可達(dá)182.5 MHz。

圖5 動(dòng)態(tài)自適應(yīng)信息模塊配置2
3.3動(dòng)態(tài)自適應(yīng)存儲(chǔ)模塊
在LDPC碼譯碼器中,動(dòng)態(tài)自適應(yīng)存儲(chǔ)模塊采用被動(dòng)自適應(yīng)方式處理采用碼率及碼長(zhǎng)范圍的選擇,采用主動(dòng)自適應(yīng)方式處理實(shí)際譯碼過(guò)程中的碼率及碼長(zhǎng)的確定。
動(dòng)態(tài)自適應(yīng)存儲(chǔ)模塊的配置如圖6所示。動(dòng)態(tài)自適應(yīng)存儲(chǔ)模塊以碼長(zhǎng)為基準(zhǔn),將DVB-S2標(biāo)準(zhǔn)11種碼率的校驗(yàn)節(jié)點(diǎn)地址在ROM中采用指針式分級(jí)存儲(chǔ)。在綜合編譯時(shí),針對(duì)動(dòng)態(tài)自適應(yīng)存儲(chǔ)模塊配置參數(shù)進(jìn)行不同的綜合適配,生成針對(duì)用戶(hù)設(shè)定不同碼率的可執(zhí)行文件。

圖6 動(dòng)態(tài)自適應(yīng)存儲(chǔ)模塊配置
3.4動(dòng)態(tài)自適應(yīng)迭代模塊
在迭代譯碼過(guò)程中,如何有效地終止譯碼,是提高譯碼效率的關(guān)鍵。動(dòng)態(tài)自適應(yīng)迭代模塊中,采用被動(dòng)自適應(yīng)方式接收最大迭代譯碼次數(shù),采用主動(dòng)自適應(yīng)方式檢測(cè)譯碼數(shù)據(jù)并控制終止譯碼。
動(dòng)態(tài)自適應(yīng)迭代模塊的配置如圖7所示。迭代譯碼次數(shù)表示最大迭代譯碼次數(shù)。迭代終止使能標(biāo)志位表示動(dòng)態(tài)自適應(yīng)迭代模塊開(kāi)啟主動(dòng)自適應(yīng)迭代功能。動(dòng)態(tài)自適應(yīng)迭代模塊可以保證在不進(jìn)行重復(fù)編譯的條件下,動(dòng)態(tài)檢測(cè)譯碼數(shù)據(jù)是否正確。當(dāng)譯碼數(shù)據(jù)正確時(shí),動(dòng)態(tài)自適應(yīng)迭代模塊會(huì)主動(dòng)終止迭代譯碼。

圖7 動(dòng)態(tài)自適應(yīng)迭代模塊配置
4.1 譯碼器的實(shí)現(xiàn)分析
在Quartus II環(huán)境下,本文選用Stratix IV系列EP4SGX230KF40C4 FPGA作為硬件邏輯實(shí)現(xiàn)平臺(tái),對(duì)譯碼器的邏輯資源耗用進(jìn)行分析。其中,(1)通過(guò)動(dòng)態(tài)配置文件,將譯碼器的功能自適應(yīng)設(shè)置為64800碼長(zhǎng)、1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6, 8/9, 9/10等11種碼率。(2)譯碼器設(shè)置最大迭代次數(shù)為10次。Quartus II綜合編譯結(jié)果顯示,譯碼器的硬件資源消耗為:ALM邏輯單元(5270)、寄存器(2300)、存儲(chǔ)塊(12941950 bit)。通過(guò)Time Quest分析,譯碼器的系統(tǒng)時(shí)鐘可以達(dá)到179.95~ 191.13 MHz。
4.2譯碼器的功能自適應(yīng)驗(yàn)證
本文采用ModelSim 10.1b環(huán)境,配合FPGA及Quartus II,對(duì)動(dòng)態(tài)自適應(yīng)LDPC碼譯碼器進(jìn)行功能自適應(yīng)驗(yàn)證。其中,(1)通過(guò)動(dòng)態(tài)配置文件,將譯碼器的功能自適應(yīng)設(shè)置為64800和16200兩種碼長(zhǎng)、1/5, 1/2, 7/9 3種碼率。(2)利用Quartus II和Stratix IV系列的EP4SGX230KF40C4 FPGA構(gòu)建硬件驗(yàn)證平臺(tái)。(3)在采用AWGN信道,利用Matlab R2012b構(gòu)造碼長(zhǎng)碼率不斷變化的隨機(jī)信道數(shù)據(jù)信息。(4)在FPGA硬件驗(yàn)證平臺(tái)上,對(duì)LDPC譯碼器的功能自適應(yīng)進(jìn)行驗(yàn)證。
通過(guò)SignalTap II對(duì)譯碼器的輸出數(shù)據(jù)信息與ModelSim 10.1b的功能仿真數(shù)據(jù)信息進(jìn)行比對(duì),進(jìn)而可以確定譯碼器的功能正確性。同時(shí),為了突出譯碼器的功能驗(yàn)證的針對(duì)性和對(duì)比性,本文選用碼長(zhǎng)為16200,碼率為1/5的LDPC碼,將動(dòng)態(tài)自適應(yīng)LDPC譯碼器的譯碼性能與在Matlab R2012b環(huán)境下浮點(diǎn)型迭代譯碼的譯碼性能進(jìn)行對(duì)比分析。針對(duì)500幀譯碼數(shù)據(jù)信息,最大迭代次數(shù)為15次,譯碼性能的誤碼率及誤幀率如圖8所示。

圖8 蒙特卡洛實(shí)驗(yàn)結(jié)果
由數(shù)據(jù)可知,動(dòng)態(tài)自適應(yīng)LDPC碼譯碼器的譯碼性能與Mtalab R2012b的浮點(diǎn)型迭代譯碼的譯碼性能已經(jīng)相當(dāng)接近,且隨著動(dòng)態(tài)自適應(yīng)LDPC碼譯碼器的硬件量化位寬的增大接近效果越好。以信噪比為1.5 dB時(shí)為例,硬件量化位寬為8 bit時(shí),二者間約有半個(gè)數(shù)量級(jí)的差距。如果增加硬件量化位寬為12 bit時(shí),動(dòng)態(tài)自適應(yīng)LDPC碼譯碼器可以取得和浮點(diǎn)型迭代譯碼相當(dāng)接近的出色譯碼性能。
4.3譯碼器的性能自適應(yīng)分析
動(dòng)態(tài)自適應(yīng)LDPC碼譯碼器的性能自適應(yīng)主要包括譯碼精度、譯碼數(shù)據(jù)吞吐率的自適應(yīng)能力。本文經(jīng)過(guò)選用Stratix IV系列EP4SGX230KF40C4作為硬件邏輯實(shí)現(xiàn)平臺(tái),利用Quartus II綜合編譯,借助TimeQuest得出硬件電路的系統(tǒng)時(shí)鐘,進(jìn)而對(duì)譯碼器的數(shù)據(jù)吞吐率進(jìn)行評(píng)估。譯碼器的數(shù)據(jù)吞吐率計(jì)算如式(1)所示。
當(dāng)碼長(zhǎng)為64800時(shí),譯碼器的數(shù)據(jù)吞吐率評(píng)估結(jié)果如表1所示。其中,將每一種碼率組合分別進(jìn)行10次綜合編譯而得出系統(tǒng)時(shí)鐘的平均值作為式(1)中所對(duì)應(yīng)的系統(tǒng)時(shí)鐘。由評(píng)估可知,(1)系統(tǒng)時(shí)鐘隨著譯碼器所包含的碼率變多而有所下降,但影響不大約為10 MHz左右;(2)譯碼器的數(shù)據(jù)吞吐率最小為40.90 Mbps,最大為63.71 Mbps;(3)隨著動(dòng)態(tài)譯碼迭代次數(shù)的增大,譯碼器的數(shù)據(jù)吞吐率會(huì)有所降低。按照相同評(píng)估原理,當(dāng)碼長(zhǎng)為16200時(shí),譯碼器的數(shù)據(jù)吞吐率最小為45.46 Mbps,最大為71.67 Mbps。

表1譯碼器的數(shù)據(jù)吞吐率(iter=1)
需要指出的是,以上譯碼器的數(shù)據(jù)吞吐率均是在迭代次數(shù)為1的情況下得出。按照式(1),隨著迭代次數(shù)增加,譯碼器的數(shù)據(jù)吞吐率會(huì)逐漸降低。因此,如果需要獲得更高的數(shù)據(jù)吞吐率,可以選擇增加動(dòng)態(tài)自適應(yīng)譯碼器的數(shù)目。雖然該方法可以通過(guò)簡(jiǎn)單的配置實(shí)現(xiàn),但是其在提高數(shù)據(jù)吞吐率方面受到硬件邏輯資源的限制。在此情況下,式(1)可以進(jìn)一步修正為:
4.4譯碼器動(dòng)態(tài)自適應(yīng)性能比較
為了對(duì)動(dòng)態(tài)自適應(yīng)LDPC碼譯碼器與現(xiàn)有的其他設(shè)計(jì)方案進(jìn)行對(duì)比,本文選用從2008年到2014年間,文獻(xiàn)[11-15]分別提出的LDPC碼譯碼器的硬件邏輯實(shí)現(xiàn)方案為比較對(duì)象。針對(duì)各種方案實(shí)現(xiàn)的LDPC碼譯碼器自適應(yīng)性能,進(jìn)行比較的內(nèi)容包括:可參數(shù)化配置、自適應(yīng)范圍、自適應(yīng)譯碼精度、自適應(yīng)譯碼效率等方面。譯碼器自適應(yīng)性能比較數(shù)據(jù)如表2所示。

表2譯碼器自適應(yīng)性能比較
由數(shù)據(jù)可知,本文提出的動(dòng)態(tài)自適應(yīng)LDPC碼譯碼器,具有比較明顯的動(dòng)態(tài)自適應(yīng)功能優(yōu)勢(shì)。文獻(xiàn)[11-13,15]均是將碼率碼長(zhǎng)自適應(yīng)功能的實(shí)現(xiàn)建立在特定LDPC碼校驗(yàn)矩陣的基礎(chǔ)上。其中,文獻(xiàn)[13,15]更是利用基矩陣構(gòu)建校驗(yàn)矩陣的方案實(shí)現(xiàn)多種碼率碼長(zhǎng)的自適應(yīng)?;贒VB-S2標(biāo)準(zhǔn)LDPC碼譯碼器對(duì)應(yīng)的校驗(yàn)矩陣必須遵守DVB-S2標(biāo)準(zhǔn),不宜被修正優(yōu)化。文獻(xiàn)[14]與本文都未對(duì)標(biāo)準(zhǔn)校驗(yàn)矩陣進(jìn)行改變。不同的是,文獻(xiàn)[14]僅對(duì)碼率碼長(zhǎng)自適應(yīng)進(jìn)行可參數(shù)化配置設(shè)計(jì),而沒(méi)有涉及更為廣泛的自適應(yīng)范圍。除此之外,文獻(xiàn)[16]提出了可重構(gòu)LDPC碼譯碼器的ASIC實(shí)現(xiàn)。其中,可重構(gòu)是通過(guò)對(duì)校驗(yàn)矩陣的特征化存儲(chǔ)來(lái)實(shí)現(xiàn),但是自適應(yīng)能力未被充分考慮。
動(dòng)態(tài)自適應(yīng)LDPC碼譯碼器在整體自適應(yīng)處理流程上比非自適應(yīng)處理具有明顯優(yōu)勢(shì)。具有動(dòng)態(tài)自適應(yīng)功能的LDPC碼譯碼器可以在譯碼環(huán)境因素發(fā)生改變時(shí),自適應(yīng)調(diào)整內(nèi)部各模塊的功能,在不需要重新選擇LDPC碼譯碼器及FPGA綜合、編譯及配置可執(zhí)行文件的情況下,順利完成對(duì)數(shù)據(jù)信息的迭代譯碼。非自適應(yīng)處理在譯碼環(huán)境因素改變時(shí),則需要重新進(jìn)行LDPC碼譯碼器的選擇及FPGA綜合、編譯及配置可執(zhí)行文件等處理。在耗用大量時(shí)間的同時(shí),更會(huì)對(duì)在深空通信中的LDPC碼譯碼帶來(lái)不穩(wěn)定因素。
本文基于DVB-S2標(biāo)準(zhǔn)設(shè)計(jì)實(shí)現(xiàn)的動(dòng)態(tài)自適應(yīng)LDPC碼譯碼器可以適應(yīng)不同碼長(zhǎng)、不同碼率、不同迭代次數(shù)、不同譯碼精度、不同譯碼性能等譯碼環(huán)境下的動(dòng)態(tài)自適應(yīng)迭代譯碼。基于Stratix IV系列FPGA的驗(yàn)證數(shù)據(jù)表明:與現(xiàn)有實(shí)現(xiàn)方法相比,動(dòng)態(tài)自適應(yīng)LDPC碼譯碼器在自適應(yīng)方式及范圍上都有明顯的優(yōu)勢(shì),從而可以有效保證DVB-S2標(biāo)準(zhǔn)LDPC碼在深空通信中的實(shí)際應(yīng)用,促進(jìn)我國(guó)在深空通信領(lǐng)域水平的提高。
[1] Gallager R G. Low density parity check codes[J]., 1962, 8(1): 21-28.
[2] Mackay D J C and Neal R M. Near Shannon limit performance of low-density parity check codes[J]., 1996, 32(18): 1645-1646.
[3] 陳豪威, 王秀敏. 基于DVB-S2標(biāo)準(zhǔn)的LDPC碼編譯碼器設(shè)計(jì)研究[J].電視技術(shù), 2012, 36(3): 1-3.
Chen Hao-wei and Wang Xiu-min. Study on design of LDPC encoder and decoder for DVB-S2[J]., 2012, 36(3): 1-3.
[4] 江桂芳, 彭克榮. 基于FPGA的高速并行DVB-S2標(biāo)準(zhǔn)LDPC譯碼[J]. 空間電子技術(shù), 2013, 10(1): 58-61, 95.
Jiang Gui-fang and Peng Ke-rong. A FPGA-dased high-speed paraller LDPC decoder for DVB-S2 system[J]., 2013, 10(1): 58-61, 95.
[5] Kienle F, Brack T, and Wehn N. A synthesizable IP core for DVB-S2 LDPC code decoding[C]. Proceedings of the Design, Automation and Test in Europe conference, Munich Germany, 2005: 100-105.
[6] Gomes M, Falc?o G, Silva V,.. Flexible parallel architecture for DVB-S2 LDPC decoders[C]. Proceedings of the Global Telecommunications Conference, Washington, DC, USA, 2007: 3265-3269.
[7] 張高遠(yuǎn), 周亮, 蘇偉偉, 等. 基于平均幅度的 LDPC 碼加權(quán)比特翻轉(zhuǎn)譯碼算法[J]. 電子與信息學(xué)報(bào), 2013, 35(11): 2572-2578.
Zhang Gao-yuan, Zhou Liang, Su Wei-wei,.. Average magnitude based weighted bit-flipping decoding algorithm for LDPC codes[J].&, 2013, 35(11): 2572-2578.
[8] 孫錦華, 劉鵬, 吳小鈞. 聯(lián)合旋轉(zhuǎn)平均周期圖和解調(diào)軟信息的載波同步方法[J]. 電子與信息學(xué)報(bào), 2013, 35(9): 2200-2205.
Sun Jin-hua, Liu Peng, and Wu Xiao-jun. A joint rotational periodogram averaging and demodulation soft information carrier synchronization algorithm[J].&, 2013, 35(9): 2200-2205.
[9] 鐘州, 金梁, 黃開(kāi)枝, 等. 基于二維信息修正減小LDPC碼安全間隙的譯碼算法[J]. 電子與信息學(xué)報(bào), 2013, 35(8): 1946-1951.
Zhong Zhou, Jin Liang, Huang Kai-zhi,.. Decoding algorithm for reducing security gap of LDPC codes based on two-dimensional information correction[J].&, 2013, 35(8): 1946-1951.
[10] Roberts M K and Jayabalan R. A modified optimally quantized offset min-sum decoding algorithm for low- complexity LDPC decoder[J]., 2014, 80(2): 1-10.
[11] 倪俊楓, 甘小鶯, 張海濱, 等. 改進(jìn)的分層修正最小和LDPC譯碼算法及譯碼器設(shè)計(jì)[J]. 系統(tǒng)工程與電子技術(shù), 2008, 30(12): 2531-2535.
Ni Jun-feng, Gan Xiao-ying, Zhang Hai-bin,.. Improved layered modified minimal sun LDPC decoding algorithm and LDPC decoder design[J]., 2008, 30(12): 2531-2535.
[12] 管武, 喬華, 董明科, 等. 多碼率LDPC碼高速譯碼器的設(shè)計(jì)與實(shí)現(xiàn)[J]. 電路與系統(tǒng)學(xué)報(bào), 2009, 14(2): 1-6.
Guan Wu, Qiao Hua, Dong Ming-ke,.. Design and implementation of a high-throughput decoder for multi-rate LDPC code[J]., 2009, 14(2): 1-6.
[13] 趙旦峰, 趙輝, 許元志, 等. 可配置LDPC碼譯碼器的FPGA設(shè)計(jì)與實(shí)現(xiàn)[J]. 黑龍江大學(xué)自然科學(xué)學(xué)報(bào), 2012, 29(2): 259-264.
Zhao Dan-feng, Zhao Hui, Xu Yuan-zhi,.. Design and implementation of configurable LDPC decoder based on FPGA[J]., 2012, 29(2): 259-264.
[14] 唐凱林, 杜慧敏, 段高攀, 等. 多碼率、多碼長(zhǎng)LDPC譯碼器的設(shè)計(jì)與實(shí)現(xiàn)[J]. 電子技術(shù)應(yīng)用, 2013, 39(12): 58-60.
Tang Kai-lin, Du Hui-min, Duan Gao-pan,.. Design and implementation of multi-rate and multi-length LDPC decoder[J]., 2013, 39(12): 58-60.
[15] 林梅英, 許肖梅, 陳友淦, 等. 碼率兼容QC-LDPC碼在水聲通信中的應(yīng)用[J]. 聲學(xué)技術(shù), 2014, 15(5): 460-463.
Lin Mei-ying, Xu Xiao-mei, Chen You-gan,.. Applications of rate-compatible QC-LDPC codes in underwater acoustic communication[J]., 2014, 15(5): 460-463.
[16] 欒志斌, 裴玉奎, 葛寧, 等. 低存儲(chǔ)高速可重構(gòu)LDPC碼譯碼器設(shè)計(jì)及ASIC實(shí)現(xiàn)[J]. 電子與信息學(xué)報(bào), 2014, 36(10): 2287-2292.
Luan Zhi-bin, Pei Yu-kui, Ge Ning,.. Design and ASIC implementation of low memory high throughput reconfigurable LDPC decoder[J].&, 2014, 36(10): 2287-2292.
Design of Dynamic Adaptive LDPC Decoder Based on FPGA
Lan Ya-zhu①②Yang Hai-gang①Lin Yu①
①(,,,100190,)②(,100049,)
Faced with the complex environment of deep space communication, the adaptive capacity can have an impact on the ability of the Low Density Parity Check (LDPC) code decoder to maintain long-term stability. This paper proposes a design method of dynamic adaptive LDPC code decoder. Through the IP-based design of each function module, the design method of dynamic adaptive can be mapped to each function module in DVB-S2 LDPC code decoder. The verification results based on the Stratix IV FPGA show the dynamic adaptive LDPC code decoder not only can decode under the different code length and code rate, but also can decode under the different decoding performance. Meanwhile, the single-channel decoder can ensure the information throughput to reach to 40.9~71.7 Mbps.
Low Density Parity Check (LDPC) code decoder; Dynamic adaptive; DVB-S2 standard; FPGA
TN911.22; TN402
A
1009-5896(2015)08-1937-07
10.11999/JEIT141609
楊海鋼 yanghg@mail.ie.ac.cn
2014-12-15收到,2015-02-15改回,2015-05-11網(wǎng)絡(luò)優(yōu)先出版
國(guó)家自然科學(xué)基金(61404140, 61271149, 61106033)資助課題
蘭亞柱: 男,1983年生,博士生,研究方向?yàn)镕PGA軟核設(shè)計(jì)、網(wǎng)絡(luò)及信道編碼技術(shù)等.
楊海鋼: 男,1960年生,博士,研究員,研究方向?yàn)楦咚倏删幊踢壿嬓酒O(shè)計(jì)技術(shù)、數(shù)?;旌闲盘?hào)SOC設(shè)計(jì)技術(shù)等.
林 郁: 男,1983年生,博士,助理研究員,研究方向?yàn)镕PGA結(jié)構(gòu)、FPGA CAD、高層綜合和FPGA高性能計(jì)算等.