Моделирование HARQ DL-SCH

Этот пример демонстрирует инкрементальную избыточность (IR) гибридного автоматического повторного запроса (Hybrid-ARQ) в передаче совместно используемого канала нисходящей линии связи (DL-SCH) с использованием LTE Toolbox™.

Введение

Общий канал нисходящей линии связи (DL-SCH) описан в TS36.212, раздел 5.3.2 [2]. Этот пример демонстрирует, как передатчик повторно передает одно кодовое слово на одном слое, используя другую версию избыточности (RV) каждый раз, пока CRC принятого кодового слова не укажет на успешную передачу. Передача DL-SCH 16QAM модулируется целевой частотой кодирования 1/2, переданной по одному антенному порту. Настройка, используемая в этом примере, основана на R.3 Фиксированного Опорного Канала, определенных в Таблице A.3.3.1-2 TS36.101 [1].

Hybrid Automatic Repeat reQuest (Hybrid-ARQ) является комбинацией Forward Коррекция (FEC) и Automatic Repeat reQuest оптимальным способом. Гибридные схемы ARQ обычно используются, чтобы облегчить надежную связь по шумным беспроводным каналам. HARQ способен компенсировать ссылку ошибки адаптации и обеспечивает более мелкую детализацию скорости кодирования, что приводит к лучшей эффективности пропускной способности, чем другие схемы FEC.

Существует три типа гибридных ARQ: тип I, тип II и тип III.

Гибридный ARQ тип I

Самый простой метод: Гибридный ARQ Type I использует CRC, чтобы определить, произошла ли ошибка в передаче. Если пакет обнаружен как ошибочный, то передатчику будет отправлен запрос повторной передачи, и ошибочный пакет будет отброшен. Передатчик затем повторно передает тот же пакет до тех пор, пока пакет не будет успешно декодирован приемником или не будет достигнут максимальный предел повторной передачи.

Гибридный ARQ Type I может быть расширен, чтобы включать объединение пакетов, это известно как гибридный ARQ Type I с объединением пакетов или объединением чейза. После каждой неудачной повторной передачи ошибочные пакеты сохраняются в буфере. Затем приемник использует объединение максимального отношения, чтобы объединить каждый принятый бит канала с любыми предыдущими переданиями того же бита, и объединенный сигнал подается на декодер. Объединение чейза не дает никакого дополнительного усиления кодирования, это только увеличивает накопленное отношение принимаемого сигнала к шуму$\mathrm{Eb}/\mathrm{N0}$ для каждой повторной передачи.

Гибридный ARQ типа II

В Hybrid ARQ Type II, также известном как полная инкрементальная избыточность (IR), каждая повторная передача не обязательно идентична исходной передаче. Вместо этого генерируется множество наборов закодированных бит, и всякий раз, когда требуется повторная передача, повторно переданные данные представляют набор кодированных бит, отличный от предыдущего. Приемник объединяет повторную передачу с предыдущими попытками передачи того же пакета. Поскольку повторная передача содержит дополнительные биты четности, не включенные в предыдущие попытки передачи, результирующая скорость кода обычно снижается при последующих повторных передачах. Каждая передача содержит разный набор бит четности, что приводит к более высокому усилению кодирования по сравнению с объединением погонь.

Гибридный ARQ Type III

Конечный способ гибридного ARQ типа III, также известный как частичный IR, уменьшает скорость кодирования путем передачи дополнительных бит избыточности в каждой повторной передаче. Однако это гарантирует, что повторные передачи способны к самодекодированию. Это означает, что повторно переданный пакет может быть объединен с предыдущими пакетами, чтобы увеличить коэффициент усиления разнесения.

Процесс HARQ в LTE

LTE использует IR HARQ с 1/3 турбо- энкодера, используемой для FEC. CRC транспортного блока (TB) используется для обнаружения ошибок. Приемник принимает только различные проколотые версии тех же самых турбокодированных данных; каждая из этих повторных передач является декодируемой самостоятельно. Таким образом, он попадает в категорию гибридного ARQ типа III.

В LTE повторные передачи передаются с начальной скоростью кодирования 1/2 или 3/4. Максимальное количество одновременных процессов DL-HARQ (количество поддерживаемых передач PDSCH) ограничено 8, как указано в TS36.213, раздел 7 [3].

В LTE протокол остановки и ожидания N-канала используется в качестве протокола Hybrid ARQ, поскольку он предлагает низкие требования к буферизации и низкие накладные расходы на подтверждение (ACK )/отрицательное подтверждение (NACK).

Процесс DL-HARQ в LTE Toolbox

В этом примере генерируется транспортный блок, который подвергается кодированию DL-SCH для создания кодового слова. Кодовое слово подвергается физическому нисходящему совместному каналу кодирования для формирования сложных модулированных символов.

Аддитивный белый Гауссов шум добавляется к символам. Шумные символы затем подвергаются обработке приемником, чтобы получить переданное кодовое слово. Кодовое слово затем восстанавливают турбонаддувом, десегментируют блок кода и декодируют блок CRC, чтобы проверить, была ли передача успешной. Если в транспортном блоке обнаружена ошибка CRC, то повторная передача выполняется с использованием другого RV. Этот процесс продолжается до тех пор, пока передача не будет успешной или не будет достигнут предел повторной передачи.

Настройки всей ячейки

Настройки широкой камеры заданы в структуре enb.

enb.NDLRB = 50;                % No of Downlink RBs in total BW
enb.CyclicPrefix = 'Normal';   % CP length
enb.PHICHDuration = 'Normal';  % PHICH duration
enb.NCellID = 10;              % Cell ID
enb.CellRefP = 1;              % Single antenna ports
enb.DuplexMode = 'FDD';        % FDD Duplex mode
enb.CFI = 2;                   % 2 PDCCH symbols
enb.Ng = 'sixth';              % HICH groups
enb.NSubframe = 0;             % Subframe number 0

Строение режима передачи PDSCH

Общий канал физического нисходящего канала (PDSCH) сконфигурирован с использованием структуры pdsch для одной схемы передачи антенны.

pdsch.NLayers = 1;                % No of layers to map the transport block
pdsch.TxScheme = 'Port0';         % Transmission scheme
pdsch.Modulation = {'16QAM'};     % Modulation
pdsch.RV = 0;                     % Initialize Redundancy Version
pdsch.RNTI = 500;                 % Radio Network Temporary Identifier
pdsch.NTurboDecIts = 5;           % Number of turbo decoder iterations
pdsch.PRBSet = (0:enb.NDLRB-1).'; % Define the PRBSet
pdsch.CSI = 'On';                 % CSI scaling of soft bits

Строение нисходящего кодирования

Определите параметры, необходимые для кодирования DL-SCH. Размер транспортного блока, используемый здесь, следующий R.3 RMC в таблице A.3.3.1-2 TS36.101 [1]. Размер кодированного блока DL-SCH может быть вычислен ltePDSCHIndices функция, использующая enb и pdsch. The ltePDSCHIndices функция возвращает информационную структуру в качестве второго выхода, содержащую параметр G который определяет количество закодированных и согласованных по скорости бит данных DL-SCH, чтобы удовлетворить физической емкости PDSCH.

rvIndex = 0;                                  % Redundancy Version index
transportBlkSize = 12960;                     % Transport block size
[~,pdschIndicesInfo] = ltePDSCHIndices(enb,pdsch,pdsch.PRBSet);
codedTrBlkSize = pdschIndicesInfo.G;          % Available PDSCH bits
dlschTransportBlk = randi([0 1], transportBlkSize, 1); % DL-SCH data bits

% Possible redundancy versions (number of retransmissions)
redundancyVersions = 0:3;

Повторная передача Цикла

Этот пример моделирует один процесс HARQ. После каждой передачи значение blkCRCerr используется для проверки успешной передачи транспортного блока. Если обнаружена ошибка CRC, то есть blkCRCerr >=1 затем выполняют повторную передачу с использованием другого значения RV.

Первая передача выполняется с использованием RV 0, это указывает на этап инициализации. Если пользовательское оборудование (UE) обнаруживает ошибку CRC, то оно отправляет NACK на базовую станцию (BS), так что повторная передача инициируется с использованием другого значения RV. Значение 1 или больше возвращено для ошибки CRC блока.

eNodeB будет продолжать передавать один и тот же транспортный блок, используя различные значения RV, пока UE не получит свободный от ошибок транспортный блок или не произойдет общий предел повторной передачи. В LTE общее количество процессов HARQ, которые могут быть инициированы в любой заданный момент времени, составляет 8.

Для передачи и приема транспортного блока происходят следующие шаги:

  • Кодирование канала DL-SCH. Биты DL-SCH генерируются и проходят канальное кодирование. В этот процесс включены транспортный блок 24A-type вставка CRC, сегментация кодового блока и вставка CRC кодового блока, турбокодирование, согласование скорости и конкатенация кодового блока. Количество кода сегментации блоков и вставок CRC в каждый сегмент зависит от заданного размера транспортного блока. Каждый сегментированный блок отдельно турбокодируется и скорость согласовывается после вставки кодового блока 24B-type CRC. Процесс конкатенации применяется к согласованным со скоростью турбо кодированным блокам для формирования кодового слова. Если передача приводит к ошибке, UE сигнализирует о NACK. Повторная передача ошибочного пакета выполняется с использованием различных RV. Каждый RV соответствует другому набору бит четности из одного и того же кодированного блока; RV управляет этим изменением. Все эти операции могут быть выполнены с помощью функции тулбокса lteDLSCH.

  • Генерация сложных символов PDSCH. Скремблирование, модуляция, отображение слоя и предварительное кодирование применяются к кодированному транспортному блоку, чтобы сгенерировать комплексные символы PDSCH. Это достигается с помощью ltePDSCHPRBS.

  • Шумовые Сложения. Сгенерированный шум затем добавляется к комплексным символам PDSCH. Путем изменения значения отклонения nVariance количество повторных передач также будет изменяться, это связано с тем, что количество обнаруженных ошибок будет колебаться с количеством шума, присутствующего на символах.

  • Обработка приемника PDSCH. В приемнике PDSCH к шумным комплексным символам PDSCH применяется демпфирование слоя, мягкая демодуляция и дескремблирование.

  • Декодирование канала DL-SCH. Декодирование канала выполняется с помощью lteDLSCHDecode который выполняет восстановление скорости, мягкое объединение, десегментацию кодовых блоков, удаление CRC и декодирование CRC блоков. Эта функция принимает мягкий буфер как параметр входа, который затем используется в мягком объединении с принятыми мягкими битами кодового слова перед декодированием битов.

% Define soft buffer
decState = [];

% Noise power can be varied to see the different RV
SNR = 4; % dB

% Initial value
blkCRCerr = 1;

while blkCRCerr >= 1

    % Increment redundancy version for every retransmission
    rvIndex = rvIndex + 1;
    if rvIndex > length(redundancyVersions)
        error('Failed transmission');
    end
    pdsch.RV = redundancyVersions(rvIndex);

    % PDSCH payload
    codedTrBlock = lteDLSCH(enb, pdsch, codedTrBlkSize, ...
                   dlschTransportBlk);

    % PDSCH symbol generation
    pdschSymbols = ltePDSCH(enb, pdsch, {codedTrBlock});

    % Add noise to pdschSymbols to create noisy complex modulated symbols
    pdschSymbolsNoisy = awgn(pdschSymbols,SNR);

    % PDSCH receiver processing
    rxCW = ltePDSCHDecode(enb, pdsch, pdschSymbolsNoisy);

    % DL-SCH channel decoding
    [rxBits, blkCRCerr, decState] = lteDLSCHDecode(enb, ...
        pdsch, transportBlkSize, rxCW, decState);

end

blkCRCerr - блочная ошибка CRC для полученного транспортного блока. UE отправляет NACK, если обнаруживает ошибку CRC на полученном транспортном блоке. Кроме того, новый мягкий буфер, decState, содержимое доступно на выходе этой функции, которая будет использоваться в следующий раз вокруг.

Используя этот пример, можно наблюдать эффект, который шум оказывает на количество повторных передач, необходимых для успешного приема. В этом примере для заданного уровня шума, добавленного к переданным символам, требуется в общей сложности 1 повторная передача для успешного приема данных.

fprintf(['\n\nTransmission successful, total number of Redundancy ' ...
    'Versions used is ' num2str(redundancyVersions(rvIndex) + 1) ' \n\n']);

Transmission successful, total number of Redundancy Versions used is 2 

Избранная библиография

  1. 3GPP TS 36.101 «Радиопередача и прием пользовательского оборудования (UE)»

  2. 3GPP TS 36.212 «Мультиплексирование и канальное кодирование»

  3. 3GPP TS 36.213 «Процедуры физического слоя»