这个例子强调了为5G新无线电(NR)通信系统选择的新的极性信道编码技术。在3GPP指定的两种主要代码构造类型中,本示例建模CRC-Aided Polar (CA-Polar)编码方案。本示例描述了极坐标编码方案的主要组成部分,以及用于代码构造、编码和解码以及速率匹配的各个组成部分。它在AWGN上建立了极性编码qpsk调制链路的模型,并给出了该编码方案在不同消息长度和码率下的块错误率结果。
选择极码作为5G NR通信系统控制信道的信道编码技术,证明了Arikan [1),并将其应用于商业系统[6]。基于信道极化的概念,这种新的编码家庭是实现的能力,而不是容量接近。具有比LDPC和Turbo代码更好或更可比的性能,它取代了用于控制通道的LTE系统中使用的尾尖卷积码。它适用于增强的移动宽带(embb)用例的下行链路和上行链路控制信息(DCI / UCI),以及广播信道(BCH)。或者,为所有块大小指定用于伯伯的数据信道的信道编码方案是灵活的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
.取决于所需的代码率和所选值K
,E
, 和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
参数,表示保留的最可能解码路径的数量。在解码结束时,最有可能的代码路径l
Paths是解码器的输出。作为l
增加,解码器性能也提高了效果递减的效果。
对于使用CRC连接的输入消息,如果至少有一条路径具有正确的CRC,则CA-SCL解码将删除CRC无效的任何路径。与SCL解码相比,在最终路径选择方面的这种额外的洞察力进一步提高了性能。下行CRC校验为24位,上行CRC校验为6位和11位,其值随K
.
该解码器由该函数实现nrPolarDecode
,支持所有三个C万博1manbetxRC长度。在输出解码比特之前,解码器功能还考虑在下行链路的发送器中指定的输入位交织。
%错误计数量= 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,'QPSK');添加高斯白噪声陈rSig = (modOut);%软解调rxLLR = nrSymbolDemodulate (rSig,'QPSK', 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);numwrr = numfrr +任何(decbits(1:k-crclen)〜= msg);结束disp (['阻止错误率:'num2str (numferr / numFrames)...',误码率:'num2str (errStats (1))...',在SNR ='num2str (snrdB)“数据库”)提高(年代);%恢复RNG
块错误率:0,比特错误率:0,在信噪比= 0.20002 dB时
为了获得有意义的结果,必须运行较长持续时间的仿真。使用将上述处理封装到支持C代码生成的函数的脚本中,对于具有QPSK调制的链路方向,呈现出不同代码率和消息长度的以下结果。万博1manbetx
以上结果是通过模拟产生的,对于每个信噪比点,最多1000帧错误或最多100e3帧,以先发生的为准。
BLER性能结果表明了极码在通信链路中的适用性,以及它们在位级粒度上对速率兼容性的隐式支持。万博1manbetx
组件使用c代码生成工具减少了执行时间,这是模拟的一个关键问题。c代码生成由MATLAB Coder™支持。
该示例突出显示由3GPP为新的无线电控制通道信息(DCI,UCI)和广播频道(BCH)指定的极性编码方案(CRC-Aided Polar)之一。它显示了对处理的所有阶段的组件(编码,速率匹配,速率恢复和解码)的使用,并在与AWGN通道上的QPSK中使用它们。突出显示不同代码率和消息长度的绩效结果显示,参数和仿真假设变体内的发布趋势表示协议。
探索简单的参数变化(K
,E
,l
)它们对Bler性能的影响。极性编码功能被实现为OpenMatlab®代码,以使其应用于下行链路/上行链路控制信息和广播信道。CA-Polar计划适用于两者
下行链路,适用于所有长度的消息
上行,K> 30
,crcLen = 11
,人大= 0
,nMax = 10
,iIL = false
, 和Ibil =真的
.
指建模下行控制信息和NR Cell搜索和MIB和SIB1恢复例如,在DCI和BCH函数中分别使用极性编码函数。
突出显示的极性编码函数还支持奇偶校验极性编码构造和编码。万博1manbetx适用于UCI有效载荷在射程内的上行链路18 <= k <= 25
.这是上行链路控制万博1manbetx编码功能支持nrUCIEncode
和nrUCIDecode
的值,其中包括代码块分段以及适当的值K
和E
.
Arikan, E.,“信道极化:一种构建对称二进制输入无记忆信道容量实现码的方法”,IEEE信息理论汇刊,第55卷,第7期,第3051-3073页,2009年7月。
“极性码的序列解码”,《IEEE信息理论汇刊》,vol. 61, No. 5, pp. 2213-2226, 2015年5月。
牛凯,陈凯,“极坐标码的crc辅助译码”,通信学报,vol. 16, No. 10, pp. 1668-1671, 2012年10月。
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。
A. B.,Parizi,M. B.和Burg,A。,A.,“LLR的连续取消列表解码极码”,IEEE交易在信号处理中,Vol。63,19,PP.5165-5179,2015。
3 gpp TS 38.212。“NR;多路复用和信道编码(第15版)。”第三代合作伙伴项目;技术规范无线电接入网。
r1 - 1711729。“Polar Code循环缓冲区的WF”,3GPP TSG RAN WG1会议NR Ad-Hoc#2,爱立信,高通,联发科,LGE。2017年6月。