展愛云, 劉 琪, 王艷麗, 張躍進(jìn)
(華東交通大學(xué)信息工程學(xué)院, 南昌 330013)
在第五代移動(dòng)通信的研究標(biāo)準(zhǔn)中,信道編碼方式無疑是研究的核心方向。極化碼(polar code)由Arikan[1]于2008年提出,極化碼理論證明可達(dá)香農(nóng)極限,并且有可實(shí)用的編解碼復(fù)雜度,適合短碼編碼。對(duì)于5G控制信道短碼編碼,極化碼性能優(yōu)于第四代移動(dòng)通信(4th generation mobile system, 4G)使用的低密度奇偶校驗(yàn)(low-density parity-check, LDPC)碼和第三代移動(dòng)通信(3th generation mobile system, 3G)網(wǎng)絡(luò)使用的Turbo碼,并且有效的支持三類5G典型應(yīng)用場(chǎng)景。極化碼的根本思想是信道極化[2]。隨著碼元長度的增大,信道可能出現(xiàn)極化現(xiàn)象,即一些對(duì)稱容量接近1的理想信道,剩余的趨于0的有噪信道。極化碼則是在理想信道中發(fā)射信息序列,在有噪信道中發(fā)送凍結(jié)序列,已確定為5G增強(qiáng)移動(dòng)寬帶的控制信道編碼方案[3-4]。
然而目前極化碼中還存在許多細(xì)致的問題仍需要研究。例如為確保性能,5G極化碼的編碼碼長、碼率、信噪比等具體參數(shù)的值應(yīng)怎樣確定。另外,極化碼的可靠性序列設(shè)計(jì)、交織方式、速率匹配模式等都會(huì)影響到編譯碼的效率。所以得到一種編碼效率高的方案迫在眉睫。
近年來,中外學(xué)者提出了多種設(shè)計(jì)編碼方案。文獻(xiàn)[5]提出了一種通過引入極化信道的上下界近似值并利用迭代算法進(jìn)行編碼,保障了編碼的精度,但隨著碼長的增加,系統(tǒng)計(jì)算的復(fù)雜度也會(huì)大幅上升。文獻(xiàn)[6]采用高斯近似算法,提出了一種計(jì)算復(fù)雜度為O(NlogN)的編碼方式。但當(dāng)碼長較長時(shí)存在計(jì)算誤差。文獻(xiàn)[7]采用了一種并行計(jì)算的編碼方式,該方法可以實(shí)現(xiàn)快速并行計(jì)算,但由于增加了一個(gè)極化結(jié)構(gòu)導(dǎo)致計(jì)算量隨碼長指數(shù)倍增長,降低了系統(tǒng)編碼效率且沒有解決時(shí)延問題。文獻(xiàn)[8]基于鑿孔與密度進(jìn)化理論提出了一種編碼參數(shù)捷變理論,能夠?qū)崟r(shí)快速地改變編譯碼參數(shù)。文獻(xiàn)[9]采用LDPC碼作外碼,極化碼作為內(nèi)碼來提高有限碼長的極化碼的糾錯(cuò)性能。在SC(successive cancellation)譯碼下比傳統(tǒng)極化碼提高了0.5 dB。
對(duì)于極化碼編碼來說,如何以較低的計(jì)算復(fù)雜度進(jìn)行編碼仍然是一個(gè)非常具有研究意義的問題。結(jié)合5G標(biāo)準(zhǔn),分別對(duì)上下行控制信道進(jìn)行極化碼編碼方案設(shè)計(jì)。利用MATLAB界面直觀展示輸入序列在上下行信道的編碼仿真結(jié)果,實(shí)現(xiàn)極化碼在5G上下行信道的適配應(yīng)用。并根據(jù)5G標(biāo)準(zhǔn)協(xié)議下極化碼的碼長進(jìn)行性能仿真,以平均編碼速率為指標(biāo)進(jìn)行比較,得到編碼效率最高的方案。
極化編碼由極化信道可靠性評(píng)估、比特混合、構(gòu)造生成矩陣這三大部分構(gòu)成[10]。極化碼的編碼過程如圖1所示。
圖1 極化碼的編碼流程Fig.1 Process of polar coding
首先信道極化是極化碼編碼的核心思想。信道極化可分為兩階段:信道聯(lián)合和信道分裂。信道聯(lián)合是通過對(duì)N個(gè)獨(dú)立的二進(jìn)制擦除信道(binary erasure channel, BEC)迭代合成產(chǎn)生的一種信道WN:XN→YN,其中N=2n(n≥0)。從n=0開始遞歸,遞歸結(jié)構(gòu)如圖2所示。
圖2 信道WN的遞歸結(jié)構(gòu)Fig.2 Recursive structure of channel WN
(1)
(2)
由此可知,由兩個(gè)遞歸式可以計(jì)算出各個(gè)分裂信道的轉(zhuǎn)移概率。即對(duì)任意n≥0,N=2n,1≤i≤N/2,有
(3)
(4)
其次,為了判斷一個(gè)極化信道的好壞,采取極化信道可靠性評(píng)估的方法,根據(jù)可靠性的大小來判斷信道的好壞[11]。對(duì)應(yīng)目前主流的三種信道二進(jìn)制離散無記憶信道(Binary discrete memoryless channel, B-DMC)、二元對(duì)稱信道(binary symmetric channel, BSE)、二進(jìn)制高斯白噪聲信道(binary Gaussian white noise channel, BAWGNC)3種度量方法比較如表1所示。
表1 極化信道的可靠性估計(jì)
通過比較,選擇巴式參數(shù)法,其表達(dá)式為
(5)
最后構(gòu)成生成矩陣。由于生成矩陣的不同,現(xiàn)有兩種極化編碼描述方法:一種由Arikan[3]提出的極化編碼描述方法。另一種則是不實(shí)施比特反轉(zhuǎn)的編碼[12]。表2為兩種編碼方法的比較。
表2 極化碼編碼描述方法比較
雖然TS 38.212協(xié)議[13]已經(jīng)規(guī)定Polar碼的編碼流程,并且在上、下行信道采用不同的編碼結(jié)構(gòu)。然而,協(xié)議中并沒有給出選用編碼方案的理由和詳細(xì)實(shí)施方法。下面將給出具體的設(shè)計(jì)方法:
5G極化碼的編碼基本流程為:添加循環(huán)冗余(cyclic redundancy check, CRC)校驗(yàn)比特,極化編碼,速率匹配。
首先要決定5G控制信道編碼的最大編碼長度。對(duì)于整個(gè)編碼系統(tǒng)來說編碼長度N的值會(huì)對(duì)CRC校驗(yàn)方法,編碼結(jié)構(gòu),交織模式以及編碼效率造成影響[14-15]。
采取的是在5G標(biāo)準(zhǔn)RAN1#88會(huì)議[16]中,規(guī)定5G上下行信道分別對(duì)應(yīng)的最大編碼長度Nmax分別為1 024、512 bits。
為提高傳輸?shù)目煽啃?,需要在編碼前進(jìn)行CRC效驗(yàn)[17]。在5G控制上下行信道分別選用不同的CRC生成多項(xiàng)式。在極化編碼之后進(jìn)行速率匹配。它包括子塊交織、比特收集、比特交織等3個(gè)部分。信道交織在速率匹配之后,它主要用于上行信道的上行控制指示,而下行不采用并且5G新空口上行信道中采用三角形交織結(jié)構(gòu)[18]。
如圖3所示為三角交織原理圖。輸入比特為塊交織器的比特e0,e1,…,eE-1,其中E是位數(shù)。來自速率匹配的E位比特,從塊交織器得到的輸出位序列如下。
圖3 三角交織Fig.3 Triangle interleaving
(1)通過找到最小整數(shù)P,例如:
(6)
來確定等腰直角三角形的行列數(shù)。
(2)如果Q>E,k=0,1,…,E-1被yk=ek填充。對(duì)于k=E,E+1,…,Q-1被yk=[NULL]填充,其中NULL代表空值。然后,位序列yk寫入等腰直角三角形,以位y0在第0行第0欄中,開始逐行寫入等腰三角形。
塊交織器的輸出是從位y0開始在第0欄的第0行逐列讀出的位序列。塊交織后的位表示為v0,v1,…,vE-1,v0,v1,…,vE-1對(duì)應(yīng)y0,y1,…,yp-1,當(dāng)讀取到NULL時(shí)候停止讀取。
具體實(shí)驗(yàn)方案為將輸入序列根據(jù)上下信道分別對(duì)應(yīng)的CRC生成多項(xiàng)式,添加CRC比特。然后采用巴氏參數(shù)法進(jìn)行極化信道可靠性估計(jì),在可靠性高的信道傳送信息序列。如圖4所示。
圖4 編碼總體設(shè)計(jì)方案Fig.4 Coding overall design scheme
編碼設(shè)計(jì)采用方法2,構(gòu)造非比特反轉(zhuǎn)的生成矩陣的極化編碼結(jié)構(gòu),然后利用速率匹配及交織得到最終的極化碼編碼碼字。
程序的總體流程如圖5所示。
根據(jù)主界面的參數(shù)選擇,將上下行編碼仿真結(jié)果分別呈現(xiàn)在不同界面。并畫出各編碼步驟的波形圖,實(shí)現(xiàn)計(jì)算結(jié)果和編程的可視化。且主要針對(duì)編碼結(jié)構(gòu)、交織方式和CRC校驗(yàn),對(duì)其性能進(jìn)行比較分析。最后在分析結(jié)果后提出相應(yīng)的改進(jìn)方案。
編碼主要實(shí)現(xiàn)的就是將輸入比特根據(jù)在上下行信道傳輸,在界面分別進(jìn)行CRC校驗(yàn),然后再進(jìn)行編碼,交織。得到最終編碼的碼字結(jié)果及波形。本設(shè)計(jì)參數(shù)如下:編碼碼長N=64;信息比特K=32;實(shí)際傳輸?shù)木幋a比特?cái)?shù)=55;上行信道輸入比特為:111 111 000 101 011 111 111;下行信道輸入比特為:11 111 100。信息比特上行信道極化碼編碼仿真結(jié)果如圖6所示。
下行信道極化碼編碼仿真結(jié)果如圖7所示。
圖6 上行信道極化編碼仿真圖Fig.6 Simulation diagram of uplink channel polarization coding
圖7 下行信道極化編碼仿真圖Fig.7 Simulation diagram of downlink channel polarization coding
首先是對(duì)添加CRC校驗(yàn)比特這部分進(jìn)行仿真測(cè)試,具體測(cè)試的內(nèi)容是針對(duì)三種生成多項(xiàng)式來進(jìn)行仿真。測(cè)試不同的生成多項(xiàng)式在相同的信道之下,選擇出用時(shí)最短,效率最高的編碼多項(xiàng)式。5G上行控制信道最大編碼長度為1 024 bits,只采用CRC生成多項(xiàng)式gCRC11(x)。所以這部分無須比較。5G下行控制信道最大編碼長度為512 bits,采用三種CRC生成多項(xiàng)式gCRC24(x),需要分別對(duì)這三種gCRC24(x)進(jìn)行仿真比較。在下行控制信道下的編碼,為了避免偶然性誤差,所以在3種生成多項(xiàng)式條件下,分別運(yùn)行1 000次,并統(tǒng)計(jì)該1 000次運(yùn)行的平均編碼時(shí)間,并繪制柱狀圖,如圖8所示。
圖8 3種CRC的下行信道平均編碼時(shí)間Fig.8 Downlink channel average coding time of three kinds of CRC
從圖8可以看出,在相同的生成矩陣G1下,當(dāng)生成多項(xiàng)式為gCRC24C(D)=1 1 0 1 1 0 0 1 0 1 0 1 1 0 0 0 1 0 0 0 1 0 1 1 1,下行控制信道極化碼編碼效率最高,用時(shí)最短。因此采用gCRC24C(D)。
在碼長N=1 024條件下,通過給定不同的編碼結(jié)構(gòu),分別進(jìn)行極化編碼。其上行信道編碼效率如表3所示。
在上行控制信道下的編碼,為避免偶然誤差,所以在兩種編碼結(jié)構(gòu)下,分別運(yùn)行1 000次。并統(tǒng)計(jì)該1 000次運(yùn)行的平均編碼時(shí)間,以及繪制了柱狀圖,如圖9所示。
表3 不同編碼結(jié)構(gòu)時(shí)上行信道編碼效率
圖9 兩種編碼結(jié)構(gòu)的上行信道平均編碼時(shí)間Fig.9 Uplink channel average coding time of two coding structures
由表4所示的結(jié)果分析可知,在上行控制信道,當(dāng)采用構(gòu)造比特反轉(zhuǎn)的極化編碼結(jié)構(gòu),平均編碼時(shí)間為9.896 09 s,效率最低。而采用構(gòu)造非比特反轉(zhuǎn)的極化編碼結(jié)構(gòu),平均編碼時(shí)間為3.706 71 s,時(shí)間最短,效率最高。在碼長N=512一定條件下,通過給定不同的編碼結(jié)構(gòu),分別進(jìn)行極化編碼。其下行信道編碼效率如表4所示。
從表4中可以看出,在相同的生成多項(xiàng)式gCRC24C(D)下,當(dāng)在非比特反轉(zhuǎn)生成矩陣的編碼結(jié)構(gòu)
表4 不同編碼結(jié)構(gòu)時(shí)下行信道編碼效率
下,下行控制信道極化碼編碼效率最高,用時(shí)最短。而在比特反轉(zhuǎn)的生成矩陣下,用時(shí)最長,編碼效率最差。因此在本設(shè)計(jì)中下行信道采用構(gòu)造非比特反轉(zhuǎn)生成矩陣的編碼結(jié)構(gòu)。采用構(gòu)造非比特反轉(zhuǎn)的生成矩陣的方式進(jìn)行極化編碼,對(duì)于上行或下行信道,其效率都是最高的。而對(duì)于下行信道,采用gCRC24C(D)時(shí)編碼效率較好。
通過選擇不同信道,不同生成多項(xiàng)式,分別實(shí)現(xiàn)上下行信道各自的編碼方案設(shè)計(jì)極化碼編碼過程,速率匹配模式、交織方式等。通過選擇不同生成多項(xiàng)式以及CRC效驗(yàn)分別制定和實(shí)現(xiàn)了上下行信道各自編碼的方案,最終在MATLAB仿真平臺(tái)上實(shí)現(xiàn)對(duì)上下行信道編碼界面的仿真。最后通過反復(fù)多次的參數(shù)設(shè)置,對(duì)上下行極化碼編碼進(jìn)行結(jié)果分析,得到以下結(jié)論。
(1)對(duì)于上下行信道來說,在碼元長度一定的情況下,生成多項(xiàng)式采用gCRC24C(D)且非比特反轉(zhuǎn)生成矩陣的編碼結(jié)構(gòu)下極化編碼效率的最高。
(2)設(shè)計(jì)采用了基本CRC校驗(yàn)原理,但采用多種校驗(yàn)法結(jié)合或者使用“design-SNR”可以更有效提高極化碼的構(gòu)造效率,達(dá)到更好的校驗(yàn)效果。
對(duì)二進(jìn)制對(duì)稱信道中進(jìn)行極化碼編碼仿真,但由于信道極化是信道的普遍現(xiàn)象,在非二進(jìn)制對(duì)稱信道中的尋找一種復(fù)雜度低的編碼方式是下一步要研究的方向。