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