袁欽 李利花
(南昌大學(xué)共青學(xué)院 江西省共青城市 332020)
目前,國內(nèi)外對接近香農(nóng)限的信道編碼研究較多,最典型的有Turbo 碼和高通主推的低密度奇偶校驗(yàn)碼(LDPC)。它們的性能非常出色,但人們一直在尋找一種更好的接近香農(nóng)限、編碼和解碼簡單的方法。
極化碼(Polar Code)自2008年提出,就成為了學(xué)術(shù)界研究的熱點(diǎn)之一,逐漸成為5G 標(biāo)準(zhǔn)之一。其在直接提升網(wǎng)絡(luò)覆蓋及用戶傳輸速率等方面,比LDPC 碼和Turbo 碼有著明顯的優(yōu)勢,尤其是在信道編解碼方面。
Polar 碼的構(gòu)造就是選擇信道的一個過程,選擇良好的信道,它用于傳輸各種有效信息,即選擇達(dá)到信道容量1 的信道,并通過計算的巴氏參數(shù)放棄近似為0 的子信道。
在二進(jìn)制離散無記憶信道W 中,Polar 碼輸入包含三個信息,分別是信道、碼長和信息比特長度,分別用W、N、K 來描述,表示成(W,N,K),其中碼長其中K Polar 碼編碼實(shí)際上就是信息位和凍結(jié)位的選擇問題。其選擇方法是,子信道單獨(dú)進(jìn)行傳輸信息,將有效的信息傳輸出去,其對應(yīng)的索引位就是信息位的集合A;同理選擇子信道傳輸固定信息。其對應(yīng)的索引就是凍結(jié)位的集合Ac。 首先,仿真前需要進(jìn)行參數(shù)設(shè)置,具體設(shè)置如下:碼塊:block;碼長:N;碼率:R;信噪比:SNR(dB)、snr。 block,碼塊,指的是“一次信息發(fā)送動作所傳遞的信息位數(shù)”。N,碼長,是“一個信息單元所占據(jù)的比特位數(shù)”。R,碼率,就是有用信息占所傳輸信息的比例。SNR,即為信噪比(Signal Noise Ratio),其換算關(guān)系如下式:SNR(dB)=10*log10(snr)。 為了更加直觀的表示出編碼的過程,我們給出以下的編碼流程圖,如圖1所示。 圖1:Polar 碼編碼仿真流程圖 圖2:編碼示意圖 數(shù)組的定義,用于仿真前期數(shù)據(jù)準(zhǔn)備 signal=randi([0,1],1,ST);%信息位比特,隨機(jī)二進(jìn)制數(shù) frozen=zeros(1,FT);%固定位比特,規(guī)定全為0 encode =zeros(1,N * block);%編碼后的比特 極化碼的編碼重點(diǎn)在于生成矩陣的產(chǎn)生,以及信息位、凍結(jié)比特位的選取。 生成矩陣是編碼的關(guān)鍵。首先通過翻轉(zhuǎn)矩陣RN來實(shí)現(xiàn)對輸入的數(shù)據(jù)的比特翻轉(zhuǎn),然后進(jìn)行信道極化,即信道的聯(lián)合和信道的分裂。如圖2所示。 仿真實(shí)現(xiàn)過程:先將向量下標(biāo)減一后,轉(zhuǎn)化為二進(jìn)制數(shù);再將得到的二進(jìn)制數(shù)反序排列;最后將反序后的二進(jìn)制數(shù)轉(zhuǎn)化為十進(jìn)制數(shù),加一,這樣就實(shí)現(xiàn)了整個的翻轉(zhuǎn)。該翻轉(zhuǎn)過程簡化為矩陣運(yùn)算,其中:。 圖3:Matlab 仿真結(jié)果圖 信道極化過程中,有一部分I(W)可以到達(dá)1,另一部分則趨近于0。需計算出聯(lián)合、分裂后信道的巴氏參數(shù),并進(jìn)行排序,然后根據(jù)碼率選擇巴氏參數(shù)較小的信道作為信息位,剩余信道作為凍結(jié)位。具體代碼如下: 數(shù)組 encode 就是我們得到的編碼矩陣。 將源程序代碼輸入Matlab 后進(jìn)行仿真運(yùn)行,結(jié)果如圖3所示。 圖3 中,橫坐標(biāo)為信噪比,縱坐標(biāo)為誤碼率,從圖上結(jié)果可以看出,信噪比越大,信號的誤碼率(BER)就越小。 為研究Polar 碼的編碼和性能,本文使用Matlab 對Polar 編碼進(jìn)行仿真分析,達(dá)到了初步理論值。然而本設(shè)計還有許多不足,如在編碼時疊加噪聲失敗,結(jié)果對比不夠明顯,未來可以改進(jìn)編碼方法,添加噪聲進(jìn)行對比和改善譯碼方法。1.1 仿真參數(shù)設(shè)置
1.2 編碼設(shè)計
1.3 生成矩陣的產(chǎn)生
1.4 編碼實(shí)現(xiàn)
2 仿真結(jié)果及分析
3 結(jié)論