陳福鋼,蔡 青,李晴飛
(南京熊貓漢達(dá)科技有限公司,江蘇 南京 210014)
極化碼多模串行抵消算法的FPGA實(shí)現(xiàn)研究
陳福鋼,蔡 青,李晴飛
(南京熊貓漢達(dá)科技有限公司,江蘇 南京 210014)
文章根據(jù)極化碼的編碼結(jié)構(gòu),提出了一種遞推的串行抵消譯碼策略。利用該策略可以將長(zhǎng)極化碼譯碼器改造為支持任意低于該碼長(zhǎng)的極化碼譯碼,從而降低支持多種服務(wù)模式應(yīng)用的硬件資源開(kāi)銷(xiāo)。
極化碼;串行抵消;算法
極化碼(Polar Code)是土耳其Arikan教授發(fā)現(xiàn)信道組合和拆分以后能夠提高信道截止速率這一信道極化現(xiàn)象而提出來(lái)的,具有規(guī)則的無(wú)隨機(jī)性的編譯[1-2]。在采用串行抵消譯碼算法時(shí),理論證明極化碼能夠達(dá)到Shannon極限且是目前唯一能夠達(dá)到極限的信道編碼方案,且編譯碼復(fù)雜度低,具有巨大的研究潛力和應(yīng)用前景。正因其理論性能和復(fù)雜度的優(yōu)勢(shì),在5G通信標(biāo)準(zhǔn)的短碼方案討論中,極化碼擊敗了LDPC和Turbo碼,成為5G控制信道eMBB場(chǎng)景的編碼方案。目前已有大量文獻(xiàn)針對(duì)極化碼的SC算法實(shí)現(xiàn)展開(kāi)研究[3-5],然而并沒(méi)有文獻(xiàn)給出一種支持多種模式的極化碼串行抵消譯碼方案。
信道極化理論指出,N個(gè)獨(dú)立相同的信道經(jīng)過(guò)組合和拆分以后,部分信道容量趨近于1,部分信道容量趨近于0。利用容量較高的K個(gè)子信道傳輸用戶(hù)信息比特即可實(shí)現(xiàn)有用信息的可靠保護(hù)。碼長(zhǎng)為N的極化碼編碼結(jié)構(gòu)如圖1所示,其中為待編碼的信息,
為極化碼的碼字,W為信道,為信道接收信息。從的角度來(lái)看,每一個(gè)比特等效的傳輸信道是一致獨(dú)立的。而從的角度來(lái)看,每一個(gè)比特等效的傳輸信道通過(guò)信道極化理論發(fā)現(xiàn)各信道容量不一致,選擇其中的K個(gè)容量較高信道傳輸有用信息,其序號(hào)集合為,剩余的容量較低的信道,序號(hào)集合為Ac,傳輸收發(fā)雙方已知的比特。如此,uA即為K個(gè)用戶(hù)比特,為確知比特。極化碼的編碼過(guò)程用公式可以表示為:
圖1 極化碼的編碼結(jié)構(gòu)
根據(jù)圖1所示極化碼的編碼框圖,極化碼最簡(jiǎn)單直接的譯碼算法為串行抵消算法(Successive Cancellation,SC)。根據(jù)信道接收信息計(jì)算估計(jì)值的基本思路是從u1到逐比特進(jìn)行其對(duì)數(shù)似然比(Like Lihood Rate,LLR)值的計(jì)算,而后硬判決并用于后續(xù)比特的LLR計(jì)算。定義的LLR值為L(zhǎng)LR值為T(mén)i,則:
SC算法的目的是通過(guò)來(lái)計(jì)算的估計(jì)值,即:
其中SCN[]表示SC算法計(jì)算LLR值的過(guò)程。根據(jù)圖1的編碼原理,可以進(jìn)一步推導(dǎo)為:
根據(jù)上式即可遞推計(jì)算出,而后進(jìn)行硬判決即可。
根據(jù)SC算法的基本原理,碼長(zhǎng)為N=2n的SC譯碼器可以實(shí)現(xiàn)任何碼長(zhǎng)小于N的極化碼譯碼。例如N=32的SC譯碼器,其可支持碼長(zhǎng)為2,4,8,16,32的極化碼的譯碼。根據(jù)上述的SC遞推LLR的計(jì)算思路,計(jì)算時(shí)需要經(jīng)過(guò)n次計(jì)算過(guò)程,即首先根據(jù)i值的大小,選擇f或g函數(shù)計(jì)算N/2個(gè)臨時(shí)LLR值;隨后,利用這N/2個(gè)值,選擇f或g計(jì)算N/4個(gè)臨時(shí)LLR值,直到完成的計(jì)算。在FPGA實(shí)現(xiàn)的過(guò)程中,可以通過(guò)一個(gè)計(jì)數(shù)器cnt來(lái)控制該過(guò)程。假設(shè)待譯碼的極化碼的碼長(zhǎng)為,則cnt的初始值為n1,每完成一次中間臨時(shí)LLR值的計(jì)算,即可更新cnt=cnt-1。當(dāng)cnt=1時(shí)即完成一個(gè)信息比特的LLR值計(jì)算,隨后進(jìn)行硬判決,并更新cnt的值為:
其中bi,k為待譯碼比特ui的序號(hào)i的二進(jìn)制展開(kāi)的第k位,即:
其中bi,n1為最高位。這樣做主要是考慮到部分中間LLR值可以不用重復(fù)計(jì)算,直接用于后續(xù)的譯碼。當(dāng)uN譯碼結(jié)束時(shí),整個(gè)碼長(zhǎng)為的極化碼即完成譯碼。支持多模的極化碼SC譯碼的FPGA實(shí)現(xiàn)框如圖2所示。
圖2 支持多模的SC譯碼器FPGA實(shí)現(xiàn)框
根據(jù)該實(shí)現(xiàn)方案,該多模SC譯碼器實(shí)現(xiàn)方案需要的存儲(chǔ)空間為(2N-1)Q,其中Q為L(zhǎng)LR值的量化比特?cái)?shù)。根據(jù)f和g的運(yùn)算方式可知,整個(gè)SC譯碼算法所涉及的運(yùn)算均為線(xiàn)性運(yùn)算,不需要乘法器,整個(gè)運(yùn)算過(guò)程十分簡(jiǎn)便。
通過(guò)研究分析極化碼的SC譯碼算法,提出了一種遞推的譯碼規(guī)則,這樣即可將長(zhǎng)碼的譯碼過(guò)程逐步分解為短碼進(jìn)行進(jìn)一步譯碼。采用該譯碼策略即可利用長(zhǎng)碼譯碼器實(shí)現(xiàn)任意小于該碼長(zhǎng)的短極化碼的譯碼,使譯碼器更加功能化,同時(shí)可以節(jié)約大量硬件資源開(kāi)銷(xiāo)。
[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)星通信。