Релиз 10 PUSCH несколько передача кодовой комбинации и получают моделирование

Этот пример демонстрирует передачу мультикодовой комбинации и прием в восходящем канале.

Введение

В этом примере показано, как реализовать передачу мультикодовой комбинации и прием с помощью LTE Toolbox™. Это сделано с помощью Фиксированного ссылочного канала (FRC) A3-2, как задано в TS36.104, Приложении A3 [1]. Настройка затем исправлена, чтобы передать две тождественно сконфигурированных кодовых комбинации.

Настройка

Этот раздел устанавливает конфигурационную структуру Оборудования пользователя (UE), сопоставленную на FRC A3-2, и изменяет его, чтобы использовать 2 кодовых комбинации. Настройка для этих двух кодовых комбинаций идентична.

% Generate configuration for FRC A3-2
frc = lteRMCUL('A3-2');

% UE configuration
frc.TotSubframes = 1;   % Total number of subframes
frc.NTxAnts = 2;        % Number of transmit antennas

% Update Physical Uplink Shared Channel (PUSCH) configuration for 2
% identically configured codewords
frc.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);

Кодирование

Этот раздел настраивает транспортные блоки и Восходящую управляющую информацию (UCI). Это затем закодировано, чтобы сгенерировать Восходящий Разделяемый Канал (UL-SCH). Схема ниже показов операции, выполняемые внутренне lteULSCH.

Модуляция PUSCH применяется к сгенерированным кодовым комбинациям.

% Set up the transport block sizes and data for both codewords
TBSs = frc.PUSCH.TrBlkSizes(:,frc.NSubframe+1); % transport block sizes
trBlks = {(randi([0 1], TBSs(1), 1)) (randi([0 1], TBSs(2), 1))}; % data

% Set up UCI contents
CQI = [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 coding
cws = lteULSCH(frc,frc.PUSCH,trBlks,CQI,RI,ACK);

% PUSCH modulation
puschSymbols = ltePUSCH(frc,frc.PUSCH,cws);

Декодирование

Этот раздел демодулирует PUSCH и применяет декодирование канала. Получившийся UCI затем декодируется, чтобы произвести полученную Качественную характеристику канала (CQI), Индикацию ранга (RI) и Подтверждение (ACK).

% PUSCH demodulation
ulschInfo = lteULSCHInfo(frc,frc.PUSCH,TBSs,length(CQI),length(RI),...
            length(ACK),'chsconcat');    % Get UL-SCH information
llrs = ltePUSCHDecode(frc,ulschInfo,puschSymbols); % Decode PUSCH

% UL-SCH decoding
softBuffer = [];
[rxtrblks,crc,softBuffer] = lteULSCHDecode(frc,ulschInfo,TBSs,llrs,...
                            softBuffer);

% UCI decoding
[llrsData,llrsCQI,llrsRI,llrsACK] = lteULSCHDeinterleave(frc,ulschInfo,...
                                    llrs);
rxCQI = lteCQIDecode(ulschInfo,llrsCQI);    % Decode CQI
rxRI = lteRIDecode(ulschInfo,llrsRI);       % Decode RI
rxACK = lteACKDecode(ulschInfo,llrsACK);    % Decode ACK

Результаты

Декодируемый CRC для обеих кодовых комбинаций отображен. Переданный и полученный CQI, RI и биты ACK также показывают.

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

Приложение

Этот пример использует эту функцию помощника.

Выбранная библиография

  1. 3GPP TS 36.104 "Передача радио базовой станции (BS) и прием"