lteNPDCCHDecode

Декодируйте модулируемые символы NPDCCH

Описание

[cw,stateout,symbols] = lteNPDCCHDecode(enb,chs,sym) декодирует sym, NB-IoT физический нисходящий канал управления (NPDCCH) символы, для настроек enb всей ячейки и специфичная для канала конфигурационная структура chs. Декодирование канала включает deprecoding, слой demapping, мягкая демодуляция, дескремблирование и восстановление кодовой комбинации. Декодирование инвертирует процесс кодирования канала NPDCCH, описанный в 3GPP Раздел TS 36.211 10.2.5 из [1]. Функция возвращает кодовую комбинацию cw из мягких битов декодер утверждает stateout для приема bundle (полный набор повторных передач одной нисходящей управляющей информации), и полученные символы созвездия symbols.

пример

[___] = lteNPDCCHDecode(enb,chs,sym,statein) декодирует символы NPDCCH для начального декодера, утверждают statein.

[___] = lteNPDCCHDecode(enb,chs,sym,hest,noiseest) декодирует символы NPDCCH для оценки канала hest и шум оценивает noiseest.

[___] = lteNPDCCHDecode(enb,chs,sym,hest,noiseest,statein) декодирует символы NPDCCH для оценки канала, шумовой оценки и начального состояния декодера.

Примеры

свернуть все

Сгенерируйте и получите подкадр символов NPDCCH подкадром для пакета 10 подкадров.

Задайте настройки всей ячейки и структуры параметра конфигурации передачи канала enb и chs.

enb.NNCellID = 0;
enb.NBRefP = 1;
chs.NRep = 10;

Установите выходную длину кодовой комбинации до 320 и сгенерируйте биты кодовой комбинации. Задайте состояние энкодера и декодера как пустое в начале пакета.

cwLen = 320;
cw = ones(cwLen,1); % Codeword bits
estate = []; 
dstate = []; 

Сгенерируйте символы NPDCCH для каждого из этих 10 подкадров и затем декодируйте их.

for nsf = 0:chs.NRep-1
       enb.NSubframe = nsf;
       [sym,estate] = lteNPDCCH(enb,chs,cw,estate);
       [rxcw,dstate] = lteNPDCCHDecode(enb,chs,sym,dstate);
end

Значение поля CWSFCount в структуре dstate указывает, что подкадр NPDCCH был получен десять раз.

dstate.EndOfTx
ans = logical
   1

dstate.CWSFCount
ans = 10

Входные параметры

свернуть все

Настройки всей ячейки, заданные как структура, содержащая эти поля.

ИмяТребуемый или дополнительныйЗначенияОписаниеТипы данных
NNCellIDНеобходимыйНеотрицательное целое числоУзкополосная идентичность ячейки физического уровня double
NBRefPНеобходимый1, 2Количество портов антенны узкополосного ссылочного сигнала (NRS).double
NSubframeНеобходимыйНеотрицательное целое числоНомер подкадраdouble

Типы данных: struct

Настройка передачи канала, заданная как структура это содержащее эти поля.

ИмяТребуемый или дополнительныйЗначенияОписаниеТипы данных
NRepНеобходимыйНеотрицательное целое числоКоличество повторенийdouble
CSIДополнительный'On' (значение по умолчанию), 'Off'Информация о состоянии канала (CSI). Чтобы масштабировать мягкие биты CSI во время процесса эквализации, задайте это поле как 'On'. В противном случае задайте это поле как 'Off'.charСтрока

Типы данных: struct

Модулируемые символы NPDCCH, заданные как N RE-by-NRxAnts матрица с комплексным знаком, где:

  • РЕ N является количеством символов квадратурного манипулирования сдвига фазы (QPSK) на антенну и на подкадр, присвоенный NPDCCH.

  • N RxAnts является количеством, получают антенны.

Типы данных: double
Поддержка комплексного числа: Да

Начальное состояние энкодера для передачи пакета, заданного как структура, содержащая поля, перечислено в stateout вывод . В начале передачи пакета, набор statein опустеть. lteNPDCCHDecode функция управляет состоянием во время последующих призывов к передачам пакета и сбрасывает его автоматически в конце пакета.

Типы данных: struct

Оценка канала, заданная как RE N NRxAnts NNBRefP массивом с комплексным знаком, где:

  • РЕ N является количеством символов QPSK на антенну и на подкадр.

  • N RxAnts является количеством, получают антенны.

  • N NBRefP является номером порты антенны NRS, которые вы задаете в NBRefP поле enb входной параметр.

lteNPDCCHDecode функция принимает, что эта оценка использует NRSs.

Типы данных: double
Поддержка комплексного числа: Да

Шумовая оценка шумовой степени спектральная плотность на элемент ресурса на полученном подкадре, заданном в виде числа. Эта оценка обеспечивается lteDLChannelEstimate функция.

Типы данных: double

Выходные аргументы

свернуть все

Кодовая комбинация мягких битов, возвращенных как числовой вектор-столбец.

Типы данных: double

Выведите состояние декодера для следующего подкадра, возвращенного как структура. Этот выход содержит внутреннее состояние каждого транспортного блока в этих полях.

ИмяЗначенияОписаниеТипы данных
SubframeIdx

0 (значение по умолчанию),

целое число в интервале [0, chs. NRep – 1]

Индекс подкадра в пакете, в основанной на нуле форме. lteNPDCCHDecode функция возвращает это поле как SubframeIdx поле statein введите увеличенный на одного. Когда входное значение SubframeIdx в statein введите достигает ее максимального значения, функция возвращает это поле как 0. Если никакой вход не существует в statein, входом по умолчанию является 0. Значение 0 указывает, что передача достигла конца пакета, на который функция также указывает путем установки EndOfTx поле к 1 TRUE).double
InitNSubframeЦелое число Nonnnegative

Номер подкадра, или в точке инициализации борющейся последовательности или в точке реинициализации последовательности, сделанной в каждом 4-м подкадре NPDCCH. Когда обрабатываемый подкадр в точке инициализации или реинициализации, это поле равно mod (enb.Nsubframe,10). В противном случае это равно входу в statein. Если введено к statein не обеспечивается, InitNSubframe равно mod (enb.NSubframe,10).

double
CWBufferЧисловой вектор-столбецБуфер, чтобы сохранить мягко объединенные биты отношения логарифмической правдоподобности (LLR) после дескремблирования кодовой комбинации. Длина этого поля совпадает с длиной кодовой комбинации, cw. В начале пакета, lteNPDCCHDecode функционируйте сбрасывает это поле.double
CWSFCount

0 (значение по умолчанию),

неотрицательное целое число

Счетчик повторения, который указывает сколько повторений cw CWBuffer поле восстановилось. В начале пакета, lteNPDCCHDecode функционируйте сбрасывает это поле.double
EndOfCWЛогический 1 TRUE) или 0 ложь)Индикатор получения кодовой комбинации. lteNPDCCHDecode функция возвращает это поле как 1 TRUE) когда целая кодовая комбинация была получена и CWSFCount поле как наименьшее количество 1. В начале пакета, lteNPDCCHDecode функционируйте сбрасывает это поле.logical
EndOfTxЛогический 1 TRUE) или 0 ложь)Конец индикатора пакета. lteNPDCCHDecode функция возвращает это поле как 1 TRUE) когда передача достигает конца пакета. В противном случае, lteNPDCCHDecode функция возвращает это поле как 0 ложь). В начале пакета, lteNPDCCHDecode функционируйте сбрасывает это поле.logical

Типы данных: struct

Полученные символы созвездия, возвращенные как комплексный вектор.

Типы данных: double
Поддержка комплексного числа: Да

Советы

Чтобы использовать эту функцию в передаче пакета, выполните эти шаги:

  1. Вызовите lteNPDCCHDecode функционируйте и задайте начальное состояние энкодера использование statein входной параметр. stateout выведите представляет выходное состояние декодера первой передачи пакета.

  2. Вызовите lteNPDCCHDecode функционируйте снова и задайте statein введите как stateout выведите возвращенный предыдущим вызовом функции.

  3. Повторите шаг 2 до lteNPDCCHDecode функция возвращает EndOfTx поле stateout выведите как 1 TRUE), указывая на конец пакета. lteNPDCCHDecode автоматически сбрасывает состояние в конце передачи пакета.

Ссылки

[1] 3GPP TS 36.211. “Физические каналы и модуляция”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group; Развитый Универсальный Наземный Радио-доступ (к E-UTRA). URL: https://www.3gpp.org.

Смотрите также

| | |

Введенный в R2019b