?

基于5G的極化碼編碼設計與實現

2020-02-04 02:03袁欽李利花
電子技術與軟件工程 2020年20期
關鍵詞:碼長二進制比特

袁欽 李利花

(南昌大學共青學院 江西省共青城市 332020)

目前,國內外對接近香農限的信道編碼研究較多,最典型的有Turbo 碼和高通主推的低密度奇偶校驗碼(LDPC)。它們的性能非常出色,但人們一直在尋找一種更好的接近香農限、編碼和解碼簡單的方法。

極化碼(Polar Code)自2008年提出,就成為了學術界研究的熱點之一,逐漸成為5G 標準之一。其在直接提升網絡覆蓋及用戶傳輸速率等方面,比LDPC 碼和Turbo 碼有著明顯的優勢,尤其是在信道編解碼方面。

1 極化碼原理及整體方案設計

Polar 碼的構造就是選擇信道的一個過程,選擇良好的信道,它用于傳輸各種有效信息,即選擇達到信道容量1 的信道,并通過計算的巴氏參數放棄近似為0 的子信道。

在二進制離散無記憶信道W 中,Polar 碼輸入包含三個信息,分別是信道、碼長和信息比特長度,分別用W、N、K 來描述,表示成(W,N,K),其中碼長其中K

Polar 碼編碼實際上就是信息位和凍結位的選擇問題。其選擇方法是,子信道單獨進行傳輸信息,將有效的信息傳輸出去,其對應的索引位就是信息位的集合A;同理選擇子信道傳輸固定信息。其對應的索引就是凍結位的集合Ac。

1.1 仿真參數設置

首先,仿真前需要進行參數設置,具體設置如下:碼塊:block;碼長:N;碼率:R;信噪比:SNR(dB)、snr。

block,碼塊,指的是“一次信息發送動作所傳遞的信息位數”。N,碼長,是“一個信息單元所占據的比特位數”。R,碼率,就是有用信息占所傳輸信息的比例。SNR,即為信噪比(Signal Noise Ratio),其換算關系如下式:SNR(dB)=10*log10(snr)。

1.2 編碼設計

為了更加直觀的表示出編碼的過程,我們給出以下的編碼流程圖,如圖1所示。

圖1:Polar 碼編碼仿真流程圖

圖2:編碼示意圖

數組的定義,用于仿真前期數據準備

signal=randi([0,1],1,ST);%信息位比特,隨機二進制數

frozen=zeros(1,FT);%固定位比特,規定全為0

encode =zeros(1,N * block);%編碼后的比特

極化碼的編碼重點在于生成矩陣的產生,以及信息位、凍結比特位的選取。

1.3 生成矩陣的產生

生成矩陣是編碼的關鍵。首先通過翻轉矩陣RN來實現對輸入的數據的比特翻轉,然后進行信道極化,即信道的聯合和信道的分裂。如圖2所示。

仿真實現過程:先將向量下標減一后,轉化為二進制數;再將得到的二進制數反序排列;最后將反序后的二進制數轉化為十進制數,加一,這樣就實現了整個的翻轉。該翻轉過程簡化為矩陣運算,其中:。

圖3:Matlab 仿真結果圖

1.4 編碼實現

信道極化過程中,有一部分I(W)可以到達1,另一部分則趨近于0。需計算出聯合、分裂后信道的巴氏參數,并進行排序,然后根據碼率選擇巴氏參數較小的信道作為信息位,剩余信道作為凍結位。具體代碼如下:

數組 encode 就是我們得到的編碼矩陣。

2 仿真結果及分析

將源程序代碼輸入Matlab 后進行仿真運行,結果如圖3所示。

圖3 中,橫坐標為信噪比,縱坐標為誤碼率,從圖上結果可以看出,信噪比越大,信號的誤碼率(BER)就越小。

3 結論

為研究Polar 碼的編碼和性能,本文使用Matlab 對Polar 編碼進行仿真分析,達到了初步理論值。然而本設計還有許多不足,如在編碼時疊加噪聲失敗,結果對比不夠明顯,未來可以改進編碼方法,添加噪聲進行對比和改善譯碼方法。

猜你喜歡
碼長二進制比特
構造長度為4ps的量子重根循環碼
基于信息矩陣估計的極化碼參數盲識別算法
用二進制解一道高中數學聯賽數論題
有趣的進度
二進制在競賽題中的應用
環Fq[v]/上循環碼的跡碼與子環子碼
比特幣還能投資嗎
比特幣一年漲135%重回5530元
多個超導磁通量子比特的可控耦合
碼長為2nps的重根自對偶負循環碼
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合