基于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的重根自对偶负循环码