5G新无线电极编码
本例重点介绍了为5G新无线电(NR)通信系统选择的新的极性信道编码技术。在3GPP指定的两种主要代码结构类型中,本例建模了crc - assisted 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 in dBL = 8;%列表长度,2的幂,[1 2 4 8]numFrames = 10;要模拟的帧数linkDir =“DL”;链接方向:下行('DL')或上行('UL')
极性编码
下面的原理图详细介绍了下行链路的传输端处理,并突出显示了相关组件及其参数。
对于下行链路,输入位在极性编码之前是交错的。对于CA-Polar方案,附加在信息位末尾的CRC位是这样分配的。上行链路未指定此交错。
极性编码使用信噪比无关的方法,其中每个子信道的可靠性离线计算,并存储最大码长[6].极性码的嵌套属性允许此序列用于任何码率和小于最大码长的所有码长。
这个序列是根据给定的速率匹配的输出长度计算的,E
,信息长度,K
,由函数nrPolarEncode
,实现输入的非系统编码K
位。
如果strcmpi (linkDir“DL”)%下行场景(K >= 36,含CRC位)crcLen = 24;DL, Section 5.1,[6]的% CRC比特数保利=“24 c”;% CRC多项式nPC = 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”;nPC = 0;nMax = 10;iIL = false;iBIL = true;结束
下面的原理图详细说明了上行链路的传输端处理,对于负载大小大于19
位,没有代码块分割,突出显示相关组件及其参数。
速率匹配和速率恢复
极性编码的位(N
)来输出指定的比特数(E
)进行资源元素映射[7].编码的位是子块交错和传递到一个长度的循环缓冲区N
.的所需码率和选定值K
,E
,N
,或重复(E >= n
),以及刺穿或缩短(E < n
)是通过从缓冲区读取输出位来实现的。
刺穿,
E
位是从末端取的为缩短,
E
位是从开始取的重复,
E
位是模数重复的N
.
对于下行链路,所选的位被传递到调制映射器,而对于上行链路,它们在映射之前被进一步交错。速率匹配处理由函数实现nrRateMatchPolar
.
在接收端,对每种情况完成速率恢复
对于刺穿,被移除的位对应的llr被设置为零
为了缩短,将被移除的位对应的llr设置为较大的值
对于重复,对应于first的llr集
N
已选择位。
速率恢复处理由函数实现nrRateRecoverPolar
.
R = k / e;有效码率BPS = 2;每个符号%比特,BPSK为1,QPSK为2EsNo = EbNo + 10*log10(bps);snrdB = EsNo + 10*log10(R);% (dB)noiseVar = 1./(10.^(snrdB/10));%的通道chan = com . awgnchannel (“NoiseMethod”,“方差”,“方差”, noiseVar);
极地解码
下行链路(DCI或BCH)或上行链路(UCI)消息位的隐式CRC编码规定使用CRC辅助连续取消列表解码(CA-SCL) [3.]作为信道解码器算法。众所周知,CA-SCL译码性能优于turbo码或LDPC码[4]这也是3GPP采用极码的主要因素之一。
塔尔和瓦尔迪[2]描述了SCL解码算法的可能性(概率)。然而,由于底流的存在,固有计算在数值上是不稳定的。为了克服这个问题,Stimming等人。[5]仅在对数似然比(LLR)域提供SCL解码。列表解码的特点是l
参数,它表示保留的最可能解码路径的数量。在解码结束时,最可能的代码路径l
路径是解码器的输出。作为l
增加后,解码器的性能也提高了,但是,这是一种递减的回报效应。
对于与CRC连接的输入消息,如果至少有一条路径具有正确的CRC,则CA-SCL解码将删除CRC无效的任何路径。与SCL解码相比,最终路径选择中的这一额外见解进一步提高了性能。下行链路使用24位的CRC,上行链路指定6位和11位的CRC,值的取值不同K
.
解码器由函数实现nrPolarDecode
,它支持所有三种金宝appCRC长度。解码器功能还考虑在输出已解码的位之前,在发送器上为下行链路指定的输入位交错。
%误差计ber = com . errorrate;
帧处理循环
本节展示如何在块错误率(BLER)模拟中使用先前描述的极性编码组件。仿真链接在下面的原理图中突出显示。
对于处理的每一帧,执行以下步骤:
K-crcLen
生成随机比特,一个CRC被计算并附加到这些位上
附加的CRC位对母码块长度进行极性编码
速率匹配进行传输
E
位的
E
位是QPSK调制的添加指定功率的高斯白噪声
噪声信号是软QPSK解调输出LLR值
速率恢复是由于穿孔,缩短或重复
恢复的LLR值使用CA-SCL算法进行极性解码,包括去交织。
关闭解码
K
比特,第一个K-crcLen
位与传输的位进行比较,以更新BLER和误码率(BER)指标。
在仿真结束时,报告了BLER和BER两个性能指标。
数字= 0;为i = 1:numFrames生成一条随机消息msg = randi([0 1],K-crcLen,1);%附加CRCmsgcrc = nrCRCEncode(msg,poly);%极性编码encOut = nrPolarEncode(msgcrc,E,nMax,iIL);N = length(encOut);%匹配率modIn = nrRateMatchPolar(encOut,K,E,iBIL);%调节modOut = nrsymbol调制(modIn,“正交相移编码”);添加高斯白噪声rSig = chan(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);数字ferr =数字ferr +任意(decBits(1:K-crcLen)~=msg);结束disp (['块错误率:'num2str (numferr / numFrames)...,误码率:'num2str (errStats (1))...,在SNR = 'num2str (snrdB)“数据库”)提高(年代);%恢复RNG
当信噪比为0.20002 dB时,块错误率为0,误码率为0
结果
为了得到有意义的结果,模拟必须运行更长的时间。使用脚本将上述处理封装到支持c代码生成的函数中,对于使用QPSK调制的两个链路方向,给出了不同码率和消息长度的以下结果。金宝app
上述结果是通过模拟产生的,对于每个信噪比点,最多1000帧错误或最多100e3帧,以先发生的为准。
BLER性能结果表明了极性码在通信链路中的适用性,以及它们在比特级粒度上对速率兼容性的隐含支持。金宝app
对组件使用c代码生成工具可以减少执行时间,这是模拟的一个关键问题。c代码生成由MATLAB Coder™实现。
总结与进一步探索
本例重点介绍了3GPP为新无线电控制信道信息(DCI、UCI)和广播信道(BCH)指定的一种极性编码方案(CRC-Aided polar)。它展示了处理的所有阶段(编码、速率匹配、速率恢复和解码)的组件的使用,并在AWGN信道上与QPSK的链接中使用它们。突出显示的不同码率和消息长度的性能结果显示,在参数和模拟假设变化范围内,与已发布的趋势一致。
探索简单的参数变化(K
,E
,l
)及其对BLER性能的影响。极性编码功能被实现为开放的MATLAB®代码,以使其应用于下行/上行控制信息和广播频道。CA-Polar方案适用于这两种情况
下行链接,对于所有消息长度,和
上行,
K > 30
,crcLen = 11
,nPC = 0
,nMax = 10
,iIL = false
,iBIL = true
.
指建模下行链路控制信息而且NR Cell搜索、MIB和SIB1恢复示例,分别用于在DCI和BCH函数中使用极性编码函数。
突出显示的极性编码函数还支持奇偶校验极性编码构造和编码。金宝app这适用于UCI有效载荷范围内的上行链路18 <= k <= 25
.上行链路控制编码金宝app功能支持这一点nrUCIEncode
而且nrUCIDecode
,其中包括代码块分割以及适当的值K
而且E
.
选择引用
Arikan, E.,“信道极化:一种构造对称二进制输入无记忆信道的容量实现码的方法”,IEEE信息理论汇刊,第55卷,第7期,3051-3073页,2009年7月。
Tal, I,和Vardy, A.,“极性码的列表解码”,IEEE信息理论汇刊,第61卷,第5期,2213-2226页,2015年5月。
Niu, K.,和Chen, K.,“Polar码的crc辅助解码”,IEEE通信通讯,第16卷,第10期,第1668-1671页,2012年10月。
牛K.,陈k .,林J.R.,“超越涡轮码:速率兼容的穿孔极性码”,IEEE国际通信会议,第3423-3427页,2013。
Stimming, A. B., Parizi, M. B.和Burg, A.,“基于llr的极性码连续消去列表解码”,《IEEE信号处理学报》,vol. 63, No. 19, pp.5165-5179, 2015。
3gpp ts 38.212。“NR;多路复用和信道编码“第三代合作伙伴项目”;技术规范集团无线接入网。
r1 - 1711729。“关于Polar Code循环缓冲区的WF”,3GPP TSG RAN WG1会议NR Ad-Hoc#2,爱立信,高通,联发科,LGE。2017年6月。