文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.200203
中文引用格式: 曹蓉,趙德政,郭佳,等. 基于FPGA的低資源極化碼SC譯碼架構(gòu)研究與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2020,46(9):74-78,84.
英文引用格式: Cao Rong,Zhao Dezheng,Guo Jia,et al. Research and implementation of low resource polar code SC decoding architecture based on FPGA[J]. Application of Electronic Technique,2020,46(9):74-78,84.
0 引言
無(wú)線(xiàn)傳感器網(wǎng)絡(luò)是將自動(dòng)控制技術(shù)、傳感器技術(shù)、無(wú)線(xiàn)傳輸技術(shù)、數(shù)字信號(hào)分析處理技術(shù)融合于一體的先進(jìn)系統(tǒng),由大量帶有傳感器并能夠進(jìn)行無(wú)線(xiàn)通信的節(jié)點(diǎn)通過(guò)自組織的方式構(gòu)成網(wǎng)絡(luò),各節(jié)點(diǎn)之間相互協(xié)作對(duì)周?chē)h(huán)境進(jìn)行物理感知,并將處理后的信息返回終端設(shè)備[1]。無(wú)線(xiàn)傳感器網(wǎng)絡(luò)的數(shù)據(jù)傳輸差錯(cuò)控制一般采用循環(huán)冗余校驗(yàn)(Cyclic Redundancy Check,CRC),而循環(huán)冗余校驗(yàn)只能校驗(yàn)出某段信息中出現(xiàn)差錯(cuò),然后通知發(fā)送端重傳信息,當(dāng)傳感器網(wǎng)絡(luò)傳輸大量數(shù)據(jù),并且傳輸距離較遠(yuǎn)時(shí),信息差錯(cuò)率明顯提升,通信系統(tǒng)的可靠性大大降低。從網(wǎng)絡(luò)能耗方面分析,無(wú)線(xiàn)通信模塊發(fā)送、接收信息的能耗是無(wú)線(xiàn)傳感器網(wǎng)絡(luò)中最大的,重傳率的升高必然導(dǎo)致能量消耗加快。文獻(xiàn)[2]中提出的利用低密度奇偶校驗(yàn)(Low-Density Parity-Check,LDPC)碼的信道編碼技術(shù)可以大幅度提升數(shù)據(jù)的可靠性,從而降低無(wú)線(xiàn)傳感器的能量消耗,但是LDPC碼并沒(méi)有達(dá)到香農(nóng)極限,因此無(wú)線(xiàn)傳感器傳輸?shù)目煽啃赃€有進(jìn)一步提升的可能性。
極化碼是目前唯一被理論證實(shí)能夠達(dá)到香農(nóng)極限[3]的一種基于信道極化現(xiàn)象提出的信道編碼方式,具有較低的編譯碼復(fù)雜度和高可靠傳輸性能等優(yōu)勢(shì),被確立為5G eMBB(Enhanced Mobile Broadband)場(chǎng)景下控制信道的編碼方式[4]。5G的應(yīng)用場(chǎng)景要求低延時(shí)高吞吐率,因此在極化碼SC譯碼器研究中大部分研究者主要在吞吐率上的優(yōu)化和提升,如文獻(xiàn)[5]提出的FFT型SC譯碼器架構(gòu),需要Nlog2N(N為SC碼長(zhǎng))個(gè)節(jié)點(diǎn)計(jì)算單元,每一級(jí)需要N個(gè)寄存器,該譯碼結(jié)構(gòu)采用自右向左的譯碼順序,譯碼N比特信息需要2N-2個(gè)時(shí)鐘周期(Clock Cycle,CC),也就是每2N-2個(gè)時(shí)鐘周期所有計(jì)算節(jié)點(diǎn)都只使用了一次,可見(jiàn)在FFT型SC架構(gòu)譯碼過(guò)程中大部分時(shí)間計(jì)算節(jié)點(diǎn)都是處于空閑狀態(tài),造成了大量硬件資源的浪費(fèi)。樹(shù)型SC架構(gòu)譯碼過(guò)程中,當(dāng)任意級(jí)k開(kāi)始計(jì)算似然比信息(Likelihood Ratio,LR)時(shí),最多只有2k個(gè)節(jié)點(diǎn)參與計(jì)算,樹(shù)型SC架構(gòu)包括N-1個(gè)PE和N-1個(gè)寄存器,PE是可以選擇執(zhí)行f函數(shù)或g函數(shù)的可配置單元。和FFT架構(gòu)相比,盡管吞吐率和計(jì)算量沒(méi)有提升,但是樹(shù)型架構(gòu)減少了PE和寄存器的數(shù)量。線(xiàn)型SC架構(gòu)寄存器依舊保持樹(shù)型架構(gòu),寄存器和PE仿照樹(shù)型架構(gòu)通過(guò)資源多路復(fù)用的方式相連,盡管線(xiàn)型結(jié)構(gòu)加入了二輸入多路復(fù)用器,但是PE數(shù)量的減少使它顯著降低了硬件復(fù)雜度,又同時(shí)達(dá)到了和樹(shù)型架構(gòu)一樣的吞吐率。以上SC譯碼器架構(gòu)雖然能達(dá)到較高的吞吐率,但是在碼長(zhǎng)較長(zhǎng)(如N=128)時(shí),計(jì)算單元PE使用的數(shù)據(jù)較大,消耗硬件資源極大。但是對(duì)于無(wú)線(xiàn)傳感器網(wǎng)絡(luò),1 Mb/s的吞吐率就能滿(mǎn)足需求,同時(shí)無(wú)線(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)多采用電池進(jìn)行供電,能量有限[2,6],因此在犧牲部分吞吐率的前提下,大幅度降低極化碼SC譯碼器的硬件資源消耗對(duì)于極化碼在無(wú)線(xiàn)傳感器網(wǎng)絡(luò)的應(yīng)用具有重大意義。
基于以上問(wèn)題,本文提出了一種基于FPGA的低資源極化碼SC譯碼架構(gòu),采用同級(jí)計(jì)算單元串行運(yùn)算,不同級(jí)計(jì)算單元并行運(yùn)算,不同組譯碼數(shù)據(jù)并行處理的硬件架構(gòu),通過(guò)減少計(jì)算單元的個(gè)數(shù)、復(fù)用譯碼延時(shí)和寄存器存儲(chǔ)資源,提升硬件利用率,降低硬件資源消耗和硬件成本。通過(guò)Xilinx xc7vx330t綜合結(jié)果分析,該譯碼架構(gòu)在碼長(zhǎng)為128時(shí)吞吐率為89.86 Mb/s,主要硬件資源指標(biāo)LUT和FF分別是690和274。本文研究的低資源的極化碼SC譯碼架構(gòu)的計(jì)算單元PE利用率相比樹(shù)型SC架構(gòu)提升了14.67倍;相比文獻(xiàn)[7]提出的SC譯碼架構(gòu),在碼長(zhǎng)N=128時(shí),主要硬件資源指標(biāo)LUT和FF上分別節(jié)省了74.22%和62.1%。
本文詳細(xì)內(nèi)容請(qǐng)下載:http://theprogrammingfactory.com/resource/share/2000002985
作者信息:
曹 蓉1,2,趙德政2,郭 佳2,李家鑫1
(1.華北計(jì)算機(jī)系統(tǒng)工程研究所,北京100083;2.中電智能科技有限公司,北京100083)