lteNPDSCHDecode

NB-IoT физический нисходящий канал совместно использованное декодирование канала

Синтаксис

[cw,stateout,symbols] = lteNPDSCHDecode(enb,chs,sym)
[cw,stateout,symbols] = lteNPDSCHDecode(enb,chs,sym,statein)
[cw,stateout,symbols] = lteNPDSCHDecode(enb,chs,sym,hest,noiseest)
[cw,stateout,symbols] = lteNPDSCHDecode(enb,chs,hest,noiseest,statein)

Описание

[cw,stateout,symbols] = lteNPDSCHDecode(enb,chs,sym) выполняет инверсию NB-IoT физический нисходящий канал, совместно использованный канал (NPDSCH), обрабатывающий на матрице комплекса, модулировал символы NPDSCH, sym, с помощью структуры настроек всей ячейки, enb, и специфичной для канала конфигурационной структуры, chs. Обработка инверсии канала включает deprecoding, слой demapping, мягкая демодуляция, дескремблирование и восстановление кодовой комбинации. deprecoding выполняется с помощью матричной псевдоинверсии матриц перед кодированием. lteNPDSCHDecode возвращает вектор-столбец, cw, мягких битовых векторов, структуры, stateout, состояния декодирования, и вектора, symbols, полученных векторов символа совокупности. Для получения дополнительной информации смотрите TS 36.211 10.2.3 [1] и lteNPDSCH. cw опционально масштабируется информацией о состоянии канала (CSI), вычисленной во время процесса коррекции.

пример

[cw,stateout,symbols] = lteNPDSCHDecode(enb,chs,sym,statein) задает начальное состояние декодера в структуре statein.

[cw,stateout,symbols] = lteNPDSCHDecode(enb,chs,sym,hest,noiseest) выполняет инверсию NPDSCH, обрабатывающего использование оценки канала, hest, и шумовой оценки, noiseest.

Поведение отличается на основе enb.NBRefP установка. Для схемы передачи TxDiversity (NBRefP = 2), deprecoding выполняется с помощью ортогонального декодера блочного кода частоты пробела. Для схемы передачи Port0 (NBRefP = 1), прием выполняется с помощью коррекции MMSE. hest принят с точки зрения слоев передачи, с помощью ссылочных сигналов NRS. Поэтому коррекция MMSE производит MMSE-компенсируемые слои.

[cw,stateout,symbols] = lteNPDSCHDecode(enb,chs,hest,noiseest,statein) выполняет инверсию NPDSCH, обрабатывающего использование оценки канала, hest, шумовой оценки, noiseest, и начального состояния декодера, statein.

Примеры

свернуть все

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

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

enb.NNCellID = 0;
enb.NBRefP = 1;
enb.NFrame = 1;
chs.NSF = 3;
chs.NRep = 4;
chs.RNTI = 0;
chs.NPDSCHDataType = 'NotBCCH';

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

cwLen = 960;
estate = [];
dstate = [];
cw = ones(cwLen,1);

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

for subframeIdx = 0:(chs.NSF*chs.NRep-1)
    enb.NSubframe = subframeIdx;
    [sym,estate] = lteNPDSCH(enb,chs,cw,estate);
    [rxcw,dstate] = lteNPDSCHDecode(enb,chs,sym,dstate);
end

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

dstate.EndOfTx
ans = logical
   1

dstate.CWSFCount
ans = 3×1

     4
     4
     4

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

свернуть все

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

Поле параметраТребуемый или дополнительныйЗначенияОписание
NNCellIDНеобходимый

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

Идентичность ячейки физического уровня NB-IoT

NSubframeНеобходимый

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

Номер подкадра

NFrameДополнительный

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

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

Структурируйте номер

NBRefPНеобходимый

1, 2

Количество узкополосной ссылки сигнализирует о портах антенны

Специфичная для канала настройка передачи, заданная как структура, которая может содержать следующие поля параметра.

Поле параметраТребуемый или дополнительныйЗначенияОписание
NPDSCHDataTypeДополнительный

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

'SIB1NB',

'BCCHNotSIB1NB'

Тип данных несет NPDSCH

NSFТребуемый (См. примечание),

Целое число

Количество подкадров, что кодовая комбинация сопоставлена с (не включая повторения)

NRepНеобходимый

Целое число

Количество повторений

RNTIТребуемый (См. примечание),

Целое число

Радиосеть временный (16-битный) идентификатор

CSIДополнительный

'On' (значение по умолчанию) или 'Off'

Определяет, взвешиваются ли мягкие биты CSI

Примечание

  • NSF и RNTI требуются только, когда NPDSCHDataType не равен 'SIB1NB'.

  • Если NPDSCHDataType = 'SIB1NB', то NSF установлен в 8 и RNTI, установлен в 65 535 (SI-RNTI).

Комплекс модулировал символы NPDSCH, заданные как N RE-by-NRxAnts числовая матрица. РЕ N является количеством символов QPSK на антенну, присвоенную NPDSCH. N RxAnts является количеством, получают антенны.

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

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

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

Оценка канала, заданная как RE N NRxAnts NBRefP числовым массивом. РЕ N является количеством символов QPSK на антенну, присвоенную NPDSCH на подкадр. N RxAnts является количеством, получают антенны. NBRefP является количеством портов антенны NRS, данных enb.NBRefP.

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

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

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

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

свернуть все

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

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

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

Поле параметраЗначенияОписание
SubframeIdx

0, 1, 2, …, chs.NSF×chs.NRep–1

Индекс на основе 0 подкадра в пакете.

InitNSubframe

Целое число

Номер подкадра в точке инициализации борющейся последовательности.

InitNFrame

Целое число

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

CWBuffer

Числовой вектор-столбец

Буфер раньше хранил мягко объединенные биты LLR после дескремблирования кодовой комбинации. Длина буфера совпадает с длиной кодовой комбинации.

CWSFCount

Числовой вектор-столбец

Счетчики для количества повторений, полученных в CWBuffer для всего chs.NSF подкадры кодовой комбинации. Вектор счетчиков имеет размер chs.NSF-1.

EndOfCW

false, true

Индикатор того, были ли все подкадры в кодовой комбинации получены, по крайней мере, однажды, то есть, все элементы в CWSFCount, больше, чем или равен 1.

EndOfTx

false, true

Индикатор того, завершена ли передача всех подкадров в пакете.

Вывод SubframeIdx в stateout равен своему входу в statein, увеличенном на 1. Когда SubframeIdx достигает максимального значения, он повторяется к 0. Если входные параметры не существуют в statein, значение по умолчанию ввело, 0. Выходное значение 0 указывает, что все подкадры в пакете были получены и сохранены в CWBuffer, таким образом, выводом EndOfTx является true.

Когда подкадр при обработке в точке инициализации борющейся последовательности, InitNSubframe равен enb.NSubframe, и InitNFrame равен enb.NFrame. Если подкадр не в точке инициализации, InitNSubframe и InitNFrame равны их соответствующим входным параметрам в statein, если входные параметры существуют. Если входные параметры не существуют, InitNSubframe равен enb.NSubframe, и InitNFrame 0.

В начале пакета функция сбрасывает CWBuffer, CWSFCount, EndOfCW и EndOfTx.

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

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

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

Ссылки

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

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

| | |

Введенный в R2018a