该示例演示了使用LTE工具箱在下行链路共享信道(DL-SCH)传输中的混合自动重复请求(混合ARQ)增量冗余(IR)™.
下行链路共享信道(DL-SCH)如TS36.212第5.3.2节所述[2.]。此示例演示发射器如何在单层上重新传输单个码字,每次使用不同的冗余版本(RV),直到接收码字的CRC指示成功传输。DL-SCH传输采用16QAM调制,目标编码率为1/2,通过单个天线端口传输。本示例中使用的设置基于TS36.101表A.3.3.1-2中定义的固定参考通道R.3[1.].
混合自动重复请求(混合ARQ)是前向纠错(FEC)的组合和以最佳方式自动重复请求。混合ARQ方案通常用于促进在噪声无线信道上的可靠通信。HARQ能够补偿链路自适应错误,并提供更细的编码率粒度,从而比其他FEC方案具有更好的吞吐量性能。
混合ARQ有三种类型:I型、II型和III型。
最简单的方法:混合ARQ类型I使用CRC检测传输中是否发生错误。如果发现数据包有错误,将向发送器发送重传请求,并丢弃错误数据包。然后,发射器将重新传输相同的数据包,直到接收器成功解码该数据包或达到最大重新传输限制。
混合ARQ类型I可以扩展为包括分组组合,这被称为分组组合或追逐组合的混合ARQ类型I。在每次失败的重新传输后,错误分组存储在缓冲区中。然后,接收器使用最大比率组合将每个接收到的信道比特与相同比特的任何先前传输进行组合Chase合并不会产生任何额外的编码增益,它只会增加累计接收的信噪比对于每次重传。
在混合ARQ II型中,也称为全增量冗余(IR),每次重新传输不一定与原始传输相同。相反,会生成多组编码位,并且每当需要重新传输时,重新传输的数据表示与上一次传输不同的一组编码位。接收器将重新传输与以前的传输尝试相结合相同的数据包。由于重新传输包含以前的传输尝试中未包含的额外奇偶校验位,因此产生的码率通常会通过后续的重新传输而降低。每次传输包含一组不同的奇偶校验位,与逐段合并相比,产生更高的编码增益。
最后一种方法是混合ARQ类型III,也称为部分IR,通过在每次重传中发送额外的冗余比特来降低编码速率。然而,它确实确保了重传能够自我解码。这意味着重传的分组可以与先前的分组组合以增加分集增益。
LTE利用IR HARQ和用于FEC的1/3 turbo编码器。传输块(TB)CRC用于检测错误。接收器仅接收相同turbo编码数据的不同屏蔽版本;每个重传都是自解码的。因此,它属于III型混合ARQ。
在LTE中,以1/2或3/4的初始编码速率发送重传。按照TS36.213第7节的规定,同时DL-HARQ过程的最大数量(满足的PDSCH传输数量)限制为8[3.].
在LTE中,N信道停止和等待协议用作混合ARQ协议,因为它提供低缓冲要求和低确认(ACK)/负确认(NACK)反馈开销。
在此示例中,生成传输块并进行DL-SCH编码以创建码字。该码字进行物理下行链路共享信道编码以形成复杂调制符号。
将加性高斯白噪声添加到符号中。带噪符号随后经过接收器处理以获得发送的码字。然后对码字进行涡轮速率恢复、码块去分段和CRC块解码,以检查传输是否成功。如果在传输块中检测到CRC错误,则重新传输e使用不同的RV。此过程持续进行,直到传输成功或达到重新传输限制。
在结构中指定单元格范围的设置enb
.
enb.NDLRB=50;%总BW中的下行链路RB数量enb.CyclicPrefix=“正常”;%CP长度持续时间=“正常”;%PHICH持续时间enb.NCellID=10;%单元IDenb.CellRefP=1;%单天线端口双工模式=“FDD”;%FDD双工模式enb.CFI=2;%2个PDCCH符号enb.Ng=“第六”;%HICH组enb.NSubframe=0;%子帧编号0
物理下行链路共享信道(PDSCH)使用一种结构来配置pdsch
对于单天线传输方案。
pdsch.NLayers=1;%要映射传输块的图层数pdsch.TxScheme=“端口0”;%传输方案pdsch.调制={“16QAM”};%调制pdsch.RV=0;%初始化冗余版本pdsch.RNTI=500;%无线网络临时标识符pdsch.NTurboDecIts=5;%turbo解码器迭代次数pdsch.PRBSet=(0:enb.NDLRB-1)。”;%定义PRBSetpdsch.CSI=“开”;%软比特的CSI缩放
定义DL-SCH编码所需的参数。此处使用的运输块尺寸如TS36.101表A.3.3.1-2中R.3 RMC的定义[1.]。DL-SCH编码块大小可通过以下公式计算:ltePDSCHIndices
函数使用enb
和pdsch
这个ltePDSCHIndices
函数返回一个信息结构作为其第二个输出,其中包含参数G
指定满足物理PDSCH容量的编码和速率匹配DL-SCH数据位的数量。
rvIndex=0;%冗余版本索引transportBlkSize=12960;%传输块大小[~,pdschIndicesInfo]=ltePDSCHIndices(enb,pdsch,pdsch.PRBSet);codedTrBlkSize=pdschIndicesInfo.G;%可用PDSCH位dlschTransportBlk=randi([0 1],transportBlkSize,1);%DL-SCH数据位%可能的冗余版本(重传次数)冗余版本=0:3;
此示例对单个HARQ过程进行建模。在每次传输之后blkCRCerr
用于检查传输块的成功传输。如果检测到CRC错误,即。blkCRCerr>=1
然后使用不同的RV值执行重传。
第一次传输使用0的RV完成,这表示初始化阶段。如果用户设备(UE)检测到CRC错误,则它向基站(BS)发送NACK,以便使用不同的RV值启动重传。块CRC错误返回1或更大的值。
eNodeB将使用不同的RV值持续发送相同的传输块,直到UE接收到无错误传输块或出现总的重传限制。在LTE中,在任何给定时间可以启动的HARQ进程的总数为8。
要发送和接收传输块,请执行以下步骤:
DL-SCH信道编码。生成DL-SCH位并进行信道编码。该过程包括传输块24A型CRC插入、码块分段和码块CRC插入、turbo编码、速率匹配和码块级联。每个段中的码块分段和CRC插入数量取决于给定的传输块大小。每个分段块在码块24B型CRC插入后分别进行turbo编码和速率匹配。级联过程应用于速率匹配的turbo编码块以形成码字。如果传输导致错误,则UE发出NACK信号。使用不同的RVs完成错误数据包的重传。Each RV对应于来自同一编码块的一组不同奇偶校验位;RV控制这种变化。所有这些操作都可以使用工具箱功能执行lteDLSCH
.
PDSCH复杂符号生成。对编码传输块应用加扰、调制、层映射和预编码来生成PDSCH复数符号ltePDSCHPRBS
.
噪声添加。然后将生成的噪声添加到PDSCH复数符号中。通过改变方差的值变异
重传的数量也会有所不同,这是因为检测到的错误数量会随着符号上存在的噪声量而波动。
PDSCH接收机处理。在PDSCH接收机编码中,对含有噪声的PDSCH复数符号进行了层去映射、软解调和解扰。
DL-SCH信道解码。使用以下命令执行信道解码:lteDLSCHDecode
它执行速率恢复、软组合、代码块取消分段、CRC删除和块CRC解码。此功能将软缓冲区作为输入参数,然后在解码位之前与接收到的码字软位进行软组合。
%定义软缓冲区decState=[];%可以改变噪声功率,以查看不同的RV信噪比=4;%分贝%初始值blkCRCerr=1;虽然blkCRCerr>=1%每次重传的增量冗余版本rvIndex=rvIndex+1;如果rvIndex>长度(冗余版本)错误(“传输失败”);终止pdsch.RV=冗余版本(rvIndex);%PDSCH有效载荷codedTrBlock=lteDLSCH(enb、pdsch、codedTrBlkSize、,...DLK);%PDSCH符号生成pdschSymbols=ltePDSCH(enb,pdsch,{codedTrBlock});%向pdschSymbols添加噪波以创建带噪的复杂调制符号PDSCHSYMBOLSNORY=awgn(pdschSymbols,SNR);%PDSCH接收机处理rxCW=ltePDSCHDecode(enb、pdsch、pdschsymbols);%DL-SCH信道解码[rxBits,blkCRCerr,decState]=lteDLSCHDecode(enb,...pdsch、transportBlkSize、rxCW、decState);终止
blkCRCerr
是接收到的传输块的块CRC错误。如果UE在接收到的传输块上检测到CRC错误,则发送NACK。此外,新的软缓冲区,十国
,此函数的输出中有可供下次使用的内容。
使用该示例,可以观察噪声对成功接收所需的重传次数的影响。在该示例中,对于添加到发送符号的给定噪声水平,总共需要1次重传才能成功接收数据。
fprintf([“\n\n传输成功,冗余总数”...“使用的版本是”num2str(冗余版本(rvIndex)+1)“\n\n”]);
传输成功,使用的冗余版本总数为2
3GPP TS 36.101“用户设备(UE)无线传输和接收”
3GPP TS 36.212“多路复用和信道编码”
3GPP TS 36.213“物理层程序”