主要内容

Release 10 PUSCH Multiple Codeword Transmit and Receive Modeling

This example demonstrates the multicodeword transmission and reception in the uplink.

介绍

此示例显示了如何使用LTE Toolbox™实现多层传输和接收。这是使用TS36.104中指定的固定参考通道(FRC)A3-2进行的,附件A3 [1]。然后对配置进行修改以发送两个相同配置的代码字。

Setup

This section sets the User Equipment (UE) configuration structure associated to FRC A3-2 and modifies it to use 2 codewords. The configuration for the two codewords is identical.

%生成FRC A3-2的配置frc = lteRMCUL('A3-2');% UE configurationfrc.totsubframes = 1;% Total number of subframesfrc.NTxAnts = 2;% Number of transmit antennas% Update Physical Uplink Shared Channel (PUSCH) configuration for 2% identically configured codewordsfrc.PUSCH.NLayers = 2; frc.PUSCH.Modulation = repmat({frc.PUSCH.Modulation},1,2); frc.PUSCH.RV = repmat(frc.PUSCH.RV,1,2); frc.PUSCH.TrBlkSizes = repmat(frc.PUSCH.TrBlkSizes,2,1);

Encoding

This section sets up the transport blocks and the Uplink Control Information (UCI). This is then coded to generate the Uplink Shared Channel (UL-SCH). The diagram below shows the operations performed internally bylteULSCH.

PUSCH modulation is applied to the generated codewords.

% Set up the transport block sizes and data for both codewordstbss = frc.pusch.trblksizes(:,frc.nsubframe+1);% transport block sizestrBlks = {(randi([0 1], TBSs(1), 1)) (randi([0 1], TBSs(2), 1))};% 数据% Set up UCI contentsCQI = [1 0 1 0 0 0 1 1 1 0 0 0 1 1].'; RI = [0 1 1 0].'; ACK = [1 0].';% UL-SCH coding including UCI codingcws = lteULSCH(frc,frc.PUSCH,trBlks,CQI,RI,ACK);%Pusch调制puschSymbols = ltePUSCH(frc,frc.PUSCH,cws);

Decoding

This section demodulates the PUSCH and applies channel decoding. The resulting UCI is then decoded to produce the received Channel Quality Indicator (CQI), Rank Indication (RI) and Acknowledgment (ACK).

% PUSCH demodulationulschinfo = lteulschinfo(frc,frc.pusch,tbss,长度(CQI),长度(RI),,...length(ACK),'chsconcat');% Get UL-SCH informationllrs = ltePUSCHDecode(frc,ulschInfo,puschSymbols);%解码Pusch% UL-SCH decodingsoftBuffer = []; [rxtrblks,crc,softBuffer] = lteULSCHDecode(frc,ulschInfo,TBSs,llrs,...softBuffer);% UCI decoding[llrsData,llrsCQI,llrsRI,llrsACK] = lteULSCHDeinterleave(frc,ulschInfo,...llrs);rxcqi = ltecqidecode(ulschinfo,llrscqi);% Decode CQIrxRI = lteRIDecode(ulschInfo,llrsRI);% Decode RIrxack = lteackdecode(ulschinfo,llrsack);%解码ACK

Results

The decoded CRC for both codewords is displayed. The transmitted and received CQI, RI and ACK bits are also shown.

hULMulticodewordTxRxDisplayResults(crc,CQI,RI,ACK,rxCQI,rxRI,rxACK);
CRCs: Codeword 1: 0 Codeword 2: 0 CQI: transmitted: 1 0 1 0 0 0 1 1 1 0 0 0 1 1 received : 1 0 1 0 0 0 1 1 1 0 0 0 1 1 RI: transmitted: 0 1 1 0 received : 0 1 1 0 ACK: transmitted: 1 0 received : 1 0

Appendix

This example uses this helper function.

Selected Bibliography

  1. 3GPP TS 36.104 "Base Station (BS) radio transmission and reception"