陳福鋼,蔡 青,李晴飛
(南京熊貓漢達科技有限公司,江蘇 南京 210014)
極化碼多模串行抵消算法的FPGA實現(xiàn)研究
陳福鋼,蔡 青,李晴飛
(南京熊貓漢達科技有限公司,江蘇 南京 210014)
文章根據極化碼的編碼結構,提出了一種遞推的串行抵消譯碼策略。利用該策略可以將長極化碼譯碼器改造為支持任意低于該碼長的極化碼譯碼,從而降低支持多種服務模式應用的硬件資源開銷。
極化碼;串行抵消;算法
極化碼(Polar Code)是土耳其Arikan教授發(fā)現(xiàn)信道組合和拆分以后能夠提高信道截止速率這一信道極化現(xiàn)象而提出來的,具有規(guī)則的無隨機性的編譯[1-2]。在采用串行抵消譯碼算法時,理論證明極化碼能夠達到Shannon極限且是目前唯一能夠達到極限的信道編碼方案,且編譯碼復雜度低,具有巨大的研究潛力和應用前景。正因其理論性能和復雜度的優(yōu)勢,在5G通信標準的短碼方案討論中,極化碼擊敗了LDPC和Turbo碼,成為5G控制信道eMBB場景的編碼方案。目前已有大量文獻針對極化碼的SC算法實現(xiàn)展開研究[3-5],然而并沒有文獻給出一種支持多種模式的極化碼串行抵消譯碼方案。
信道極化理論指出,N個獨立相同的信道經過組合和拆分以后,部分信道容量趨近于1,部分信道容量趨近于0。利用容量較高的K個子信道傳輸用戶信息比特即可實現(xiàn)有用信息的可靠保護。碼長為N的極化碼編碼結構如圖1所示,其中為待編碼的信息,
為極化碼的碼字,W為信道,為信道接收信息。從的角度來看,每一個比特等效的傳輸信道是一致獨立的。而從的角度來看,每一個比特等效的傳輸信道通過信道極化理論發(fā)現(xiàn)各信道容量不一致,選擇其中的K個容量較高信道傳輸有用信息,其序號集合為,剩余的容量較低的信道,序號集合為Ac,傳輸收發(fā)雙方已知的比特。如此,uA即為K個用戶比特,為確知比特。極化碼的編碼過程用公式可以表示為:
圖1 極化碼的編碼結構
根據圖1所示極化碼的編碼框圖,極化碼最簡單直接的譯碼算法為串行抵消算法(Successive Cancellation,SC)。根據信道接收信息計算估計值的基本思路是從u1到逐比特進行其對數似然比(Like Lihood Rate,LLR)值的計算,而后硬判決并用于后續(xù)比特的LLR計算。定義的LLR值為LLR值為Ti,則:
SC算法的目的是通過來計算的估計值,即:
其中SCN[]表示SC算法計算LLR值的過程。根據圖1的編碼原理,可以進一步推導為:
根據上式即可遞推計算出,而后進行硬判決即可。
根據SC算法的基本原理,碼長為N=2n的SC譯碼器可以實現(xiàn)任何碼長小于N的極化碼譯碼。例如N=32的SC譯碼器,其可支持碼長為2,4,8,16,32的極化碼的譯碼。根據上述的SC遞推LLR的計算思路,計算時需要經過n次計算過程,即首先根據i值的大小,選擇f或g函數計算N/2個臨時LLR值;隨后,利用這N/2個值,選擇f或g計算N/4個臨時LLR值,直到完成的計算。在FPGA實現(xiàn)的過程中,可以通過一個計數器cnt來控制該過程。假設待譯碼的極化碼的碼長為,則cnt的初始值為n1,每完成一次中間臨時LLR值的計算,即可更新cnt=cnt-1。當cnt=1時即完成一個信息比特的LLR值計算,隨后進行硬判決,并更新cnt的值為:
其中bi,k為待譯碼比特ui的序號i的二進制展開的第k位,即:
其中bi,n1為最高位。這樣做主要是考慮到部分中間LLR值可以不用重復計算,直接用于后續(xù)的譯碼。當uN譯碼結束時,整個碼長為的極化碼即完成譯碼。支持多模的極化碼SC譯碼的FPGA實現(xiàn)框如圖2所示。
圖2 支持多模的SC譯碼器FPGA實現(xiàn)框
根據該實現(xiàn)方案,該多模SC譯碼器實現(xiàn)方案需要的存儲空間為(2N-1)Q,其中Q為LLR值的量化比特數。根據f和g的運算方式可知,整個SC譯碼算法所涉及的運算均為線性運算,不需要乘法器,整個運算過程十分簡便。
通過研究分析極化碼的SC譯碼算法,提出了一種遞推的譯碼規(guī)則,這樣即可將長碼的譯碼過程逐步分解為短碼進行進一步譯碼。采用該譯碼策略即可利用長碼譯碼器實現(xiàn)任意小于該碼長的短極化碼的譯碼,使譯碼器更加功能化,同時可以節(jié)約大量硬件資源開銷。
[1]ARIKAN E. Channel polarization:A method for constructing capacity-achieving codes[J].IEEE International Symposium on Information Theory,2008(7):1173-1177.
[2]ARIKAN E. Channel polarization:A method for constructing capacity-achieving codes for symmetric binary-input memoryless channels[J].IEEE International Symposium on Information Theory,2009(7): 3051-3073.
[3]LEROUX C,RAYMOND AJ,SARKIS G,et al. Hardware implementation of successive-cancellation decoders for polar codes[J]. Journal of Signal Processing Systems,2012(3):305-315.
[4]LEROUX C,RAYMOND A,SARKIS G,et al. A semi-parallel successive-cancellation decoder for polar codes[J].IEEE Transactions on Signal Processing,2013(2):289-299.
[5]FAN Y,TSUI CY. An efficient partial-sum network architecture for semi-parallel polar codes decoder implementation[J].IEEE Transactions on Signal Processing,2014(12):3165-3179.
Study on implementation of multi-mode successive cancellation algorithm for polar decoder in FPGA
Chen Fugang, Cai Qing, Li Qingfei
(Nanjing Panda Handa Science and Technology Co., Ltd., Nanjing 210014, China)
A recursive successive cancellation decoding strategy for polar codes based on its implicit structure is proposed in this paper. Using this strategy, the long-length polar decoder can be transformed to support any polarization code decoding below the code length, thereby reducing the hardware resource overhead that supports multiple service mode applications.
polar codes; successive cancellation decoding; algorithm
陳福鋼(1982— ),男,安徽滁州人,工程師,碩士;研究方向:衛(wèi)星通信。