主要内容

5G新无线电极地编码

这个例子强调了为5G新无线电(NR)通信系统选择的新的极性信道编码技术。在3GPP指定的两种主要代码构造类型中,本示例建模CRC-Aided Polar (CA-Polar)编码方案。本示例描述了极坐标编码方案的主要组成部分,以及用于代码构造、编码和解码以及速率匹配的各个组成部分。它在AWGN上建立了极性编码qpsk调制链路的模型,并给出了该编码方案在不同消息长度和码率下的块错误率结果。

介绍

选择极码作为5G NR通信系统控制信道的信道编码技术,证明了Arikan [1),并将其应用于商业系统[6].基于信道极化的概念,这种新的编码族是实现容量而不是仅仅接近容量。它比LDPC码和turbo码具有更好或相当的性能,取代了LTE系统中用于控制信道的尾咬卷积码。它适用于增强移动宽带(eMBB)用例的下行和上行控制信息(DCI/UCI),以及广播信道(BCH)。另外,eMBB的数据通道的信道编码方案被指定为所有块大小的灵活的LDPC。

这个例子强调了在AWGN信道上使用QPSK调制实现极编码下行仿真的组件。在下面的小节中,将进一步详细介绍各个极性编码组件。

s = rng (100);%为RNG添加可重复性种子

指定用于模拟的代码参数。

%代码参数K = 54;%消息长度(比特),包括CRC, K > 30E = 124;%匹配输出长度,E <= 8192EbNo = 0.8;% EbNo在dB中L = 8;%列表长度,2的幂,[1 2 4 8]numFrames = 10;%要模拟的帧数linkDir =“DL”%链路方向:下行('DL')或上行('UL')

极性编码

下面的原理图详细说明了下行链路的发送端处理,并突出显示了相关组件及其参数。

对于下行链路,输入位在极坐标编码之前是交错的。因此,附加在信息位末尾的CRC位对于CA-Polar方案是分布式的。这个交错没有为上行链路指定。

极性编码使用一种与信噪比无关的方法,其中离线计算每个子信道的可靠性,并以最大码长存储有序序列[6].极性码的嵌套属性允许该序列用于任何码率和小于最大码长的所有码长。

这个序列是在给定的速率匹配输出长度下计算的,E,以及信息长度,K,由函数nrPolarEncode,实现输入的非系统编码K位。

如果strcmpi (linkDir“DL”%下行场景(K >= 36,包括CRC位)crcLen = 24;% DL的CRC比特数,章节5.1,[6]保利=“24 c”% CRC多项式人大= 0;%奇偶校验位,章节5.3.1.2,[6]nMax = 9;% n的最大值,对于2^n,第7.3.3节,[6]iIL = true;%交织输入,章节5.3.1.1,[6]iBIL = false;%交织编码位,章节5.4.1.3,[6]其他的%上行场景(K > 30,含CRC位)crcLen = 11;保利=“11”;人大= 0;nMax = 10;iIL = false;iBIL = true;结束

下面的原理图详细说明了对于负载大小大于的上行链路的发送端处理19位和无代码块分割,相关组件及其参数高亮显示。

速率匹配和速率恢复

极编码位的集合(N)的速率匹配输出指定的位数(E)用于资源元素映射[7].编码位是子块交错并传递到一个长度的循环缓冲区N.的值取决于所需的码率和所选的值KE,N,重复(E > = N)、刺穿或缩短(E < N)是通过从缓冲区读取输出位来实现的。

  • 刺穿,E从末尾取位

  • 为缩短,E比特从一开始就被取走了

  • 重复,E位是重复模N

对于下行链路,所选的位被传递给调制映射器,而对于上行链路,它们在映射之前被进一步交叉。该函数实现了速率匹配处理nrRateMatchPolar

在接收端,对每种情况进行速率恢复

  • 对于穿刺,被移除的位对应的lrr设为零

  • 为了缩短,删除位对应的llr被设置为一个较大的值

  • 对于重复,对应于第一个lrr的集合N位被选中。

该函数实现了速率恢复处理nrRateRecoverPolar

R = K / E;有效码率个基点= 2;每符号%位,1为BPSK, 2为QPSKEsNo = EbNo + 10*log10(bps);snrdB = EsNo + 10*log10(R); / /输出在dB %noiseVar = 1. / (10 ^ (snrdB / 10));%的通道陈= comm.AWGNChannel (“NoiseMethod”“方差”“方差”, noiseVar);

极地解码

下行(DCI或BCH)或上行(UCI)消息位的隐式CRC编码规定了CRC辅助逐次取消列表解码(CA-SCL)的使用[3.作为信道解码器算法。众所周知,CA-SCL译码性能优于turbo码或LDPC码[4这也是3GPP采用polar代码的主要因素之一。

塔尔&瓦迪[2用可能性(概率)描述SCL解码算法。然而,由于底流的存在,固有计算在数值上是不稳定的。为了克服这个问题,Stimming等人。[5]仅在对数似然比(LLR)域提供SCL解码。列表解码的特点是l参数,该参数表示保留的最可能解码路径的数目。在解码结束时,最可能的编码路径lPaths是解码器的输出。作为l增加时,译码器的性能也会提高,但有一个递减的回报效应。

对于使用CRC连接的输入消息,如果至少有一条路径具有正确的CRC,则CA-SCL解码将删除CRC无效的任何路径。与SCL解码相比,在最终路径选择方面的这种额外的洞察力进一步提高了性能。下行CRC校验为24位,上行CRC校验为6位和11位,其值随K

该解码器由该函数实现nrPolarDecode,它支持所有三种金宝appCRC长度。解码器功能还说明了在输出解码位之前,在发送器上为下行链路指定的输入位交错。

%错误计数量= comm.ErrorRate;

框架处理循环

本节展示如何在块错误率(BLER)模拟中使用前面描述的极值编码组件。仿真链接在下面的原理图中突出显示。

对于处理过的每一帧,都要执行以下步骤:

  • K-crcLen产生了随机位,

  • 一个CRC被计算并附加到这些位上

  • 附加的CRC位被极性编码到母码块长度

  • 速率匹配是为了传输E

  • E位被QPSK调制

  • 加入指定功率的高斯白噪声

  • 对噪声信号进行软QPSK解调,输出LLR值

  • 速率恢复由穿刺、缩短或重复进行

  • 恢复的LLR值使用CA-SCL算法进行极性解码,包括去交错。

  • 从解码K位,第一个K-crcLen比特与传输的比特进行比较,以更新BLER和比特误码率(BER)指标。

在仿真的最后,给出了布勒和误码率这两个性能指标。

numferr = 0;我= 1:numFrames%生成随机消息msg = randi([0 1],K-crcLen,1);%将CRCmsgcrc = nrCRCEncode(味精,保利);%极性编码encOut = nrPolarEncode (iIL msgcrc E nMax);N =长度(encOut);%的速度匹配modIn = nrRateMatchPolar (encOut K, E, iBIL);%调节modOut = nrSymbolModulate (modIn,“正交相移编码”);添加高斯白噪声陈rSig = (modOut);%软解调rxLLR = nrSymbolDemodulate (rSig,“正交相移编码”, noiseVar);%的速度恢复decIn = nrRateRecoverPolar (rxLLR K N, iBIL);%极地解码decBits = nrPolarDecode (decIn K、E、L、nMax iIL, crcLen);%比较msg和解码位errStats = ber(double(decBits(1:K-crcLen)), msg);numferr = numferr +任何(decBits(1:K-crcLen)~=msg);结束disp (['块错误率:'num2str (numferr / numFrames)...',误码率:'num2str (errStats (1))...', at SNR = 'num2str (snrdB)“数据库”)提高(年代);%恢复RNG
块错误率:0,比特错误率:0,在信噪比= 0.20002 dB时

结果

为了获得有意义的结果,模拟必须运行更长时间。使用脚本将上述处理封装到一个支持c代码生成的函数中,下面给出了QPSK调制的两个链路方向的不同码率和消息长度的结果。金宝app

以上结果是通过模拟产生的,对于每个信噪比点,最多1000帧错误或最多100e3帧,以先发生的为准。

BLER性能结果表明了极码在通信链路中的适用性,以及它们在位级粒度上对速率兼容性的隐式支持。金宝app

组件使用c代码生成工具减少了执行时间,这是模拟的一个关键问题。c代码生成由MATLAB Coder™支持。

总结与进一步探索

这个例子强调了3GPP为新无线电控制信道信息(DCI, UCI)和广播信道(BCH)指定的一种极性编码方案(CRC-Aided polar)。它展示了处理所有阶段(编码、速率匹配、速率恢复和解码)的组件的使用,并在AWGN信道上的QPSK链路上使用它们。突出显示不同码率和消息长度的性能结果表明,在参数和模拟假设变化的情况下,已发布的趋势是一致的。

探索简单的参数变化(KEl)以及它们对BLER表现的影响。极性编码功能实现为开放的MATLAB®代码,使其应用于下行/上行控制信息和广播信道。CA-Polar方案对两者都适用

  • 下行链路,适用于所有长度的消息

  • 上行,K > 30,crcLen = 11人大= 0nMax = 10iIL = false,iBIL = true

下行链路控制信息建模NR Cell Search and MIB and SIB1 Recovery例如,在DCI和BCH函数中分别使用极性编码函数。

突出显示的极性编码函数还支持奇偶校验极性编码构造和编码。金宝app适用于UCI有效载荷在射程内的上行链路18 <= k <= 25.这是上行控制编码金宝app功能支持的nrUCIEncodenrUCIDecode的值,其中包括代码块分段以及适当的值KE

选择引用

  1. Arikan, E.,“信道极化:一种构建对称二进制输入无记忆信道容量实现码的方法”,IEEE信息理论汇刊,第55卷,第7期,第3051-3073页,2009年7月。

  2. “极性码的序列解码”,《IEEE信息理论汇刊》,vol. 61, No. 5, pp. 2213-2226, 2015年5月。

  3. 牛凯,陈凯,“极坐标码的crc辅助译码”,通信学报,vol. 16, No. 10, pp. 1668-1671, 2012年10月。

  4. Lin J.R., Niu K., Chen K., and Lin J.R.,“turbo code: rate compatible punctured polar code”,IEEE International Conference on Communications, pp. 3423-3427, 2013。

  5. 李志强,李志强,李志强,“基于ldr的极坐标码逐次取消列表译码”,通信学报,vol. 63, No. 19, pp.5165-5179, 2015。

  6. 3 gpp TS 38.212。“NR;多路复用与信道编码第三代合作项目;技术规范无线电接入网。

  7. r1 - 1711729。“Polar Code循环缓冲区的WF”,3GPP TSG RAN WG1会议NR Ad-Hoc#2,爱立信,高通,联发科,LGE。2017年6月。

另请参阅

功能

相关的话题