主要内容

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]保利='24C'% 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 )是通过从缓冲区读取输出位来实现的。

  • 刺穿,E比特从最后取出

  • 为缩短,E从一开始就取出比特

  • 重复,E比特重复模数N

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

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

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

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

  • 为了重复,对应于第一的LLR集合N位被选中。

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

r = k / e;%有效码率bps = 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采用极性代码的主要因素之一。

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

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

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

%错误计Ber = Comm.Errorrate;

框架处理循环

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

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

  • K-crcLen生成随机位,

  • CRC被计算并附上这些位

  • CRC附加位是偏光的编码到母代码块长度

  • 速率匹配是为了传输E比特

  • E位被QPSK调制

  • 添加了指定功率的白色高斯噪声

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

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

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

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

在模拟结束时,报告了两个性能指示灯,BLER和BER。

numferr = 0;为了i = 1:numframes%生成随机消息msg = randi([01],k-crclen,1);%附加CRC.msgcrc = nrcrcencode(msg,poly);%极性编码encOut = nrPolarEncode (iIL msgcrc E nMax);N =长度(encOut);%的速度匹配modin = nrratematchpolar(eCout,k,e,Ibil);%调节modOut = nrSymbolModulate (modIn,“正交相移编码”);添加高斯白噪声rsig = chan(modout);%软解调rxllr = nrsymboledemodulate(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(s);%恢复RNG.
阻止错误率:0,误码率:0,SNR = 0.20002 DB

结果

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

对于每个SNR点,最多1000帧误差或最大100e3帧,通过模拟来生成上述结果,这是首先发生的。

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

用于组件的C代码生成工具的使用减少了执行时间,这是模拟的关键问题。Matlab Coder™启用C代码生成。

总结与进一步探索

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

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

  • 下行链路,所有消息长度,以及

  • 上行,K > 30, 和Crclen = 11.人大= 0nmax = 10.iil = false.,iBIL = true

参考下行链路控制信息建模NR Cell Search and MIB and SIB1 Recovery示例,用于分别在DCI和BCH功能内使用极性编码函数。

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

选择引用

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

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

  3. 牛,K.和陈,K。,“CRC辅助解码极码”,IEEE通讯字母,Vol。16,10,第10页,2012年10月1668-1671。

  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. 3GPP TS 38.212。“NR;多路复用和信道编码(版本15)。”第三代合作伙伴计划;技术规范集团无线电接入网络。

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

也可以看看

功能

相关的话题