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

Этот пример демонстрирует Гибридный Автоматический Повторный запрос (гибридный ARQ) Инкрементное сокращение (IR) в Нисходящем Разделяемом Канале (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].

Гибридный Автоматический Повторный запрос (гибридный ARQ) является комбинацией Прямого исправления ошибок (FEC) и Автоматического Повторного запроса оптимальным способом. Схемы гибридного ARQ обычно используются, чтобы упростить надежную коммуникацию по шумным беспроводным каналам. HARQ может компенсировать ошибки адаптации ссылки и обеспечивает более прекрасную гранулярность кодирования уровня, приводящего к лучшей эффективности пропускной способности, чем другие схемы FEC.

Существует три типа Гибридного ARQ: Тип I, Тип-II и Тип-III.

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

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

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

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

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

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

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

Процесс HARQ в LTE

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

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

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

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

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

Аддитивный Белый Гауссов шум добавляется к символам. Шумные символы затем подвергаются обработке приемника, чтобы получить переданную кодовую комбинацию. Кодовая комбинация является затем турбо восстановленным уровнем, блок кода desegmented и блок 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. 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, это указывает на этап инициализации. Если ошибка CRC обнаруживается Оборудованием пользователя (UE), это отправляет NACK в Базовую станцию (BS) так, чтобы повторная передача инициировалась с помощью различного значения RV. Значение 1 или больше возвратилось для ошибки блока CRC.

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

Чтобы передать и получить транспорт блокируются, следующие шаги происходят:

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

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

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

  • Обработка Приемника PDSCH. В приемнике PDSCH deprecoding, слой demapping, мягкая демодуляция и дескремблирование применяются к шумным символам комплекса 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 "Процедуры физического уровня"