lteULChannelEstimateNPUSCH

Оценка канала NPUSCH

Описание

[hEst,noiseEst] = lteULChannelEstimateNPUSCH(ue,chs,rxGrid) оценивает канал между передающими и приемными антеннами для настроек ue оборудования пользователя (UE), настройка передачи канала chs, и полученная сетка ресурса rxGrid. Функция возвращает hEst, предполагаемый канал и noiseEst, предполагаемая шумовая степень спектральная плотность.

Функция вычисляет hEst и noiseEst путем усреднения оценок наименьших квадратов узкополосного физического восходящего канала совместно использованный канал (NPUSCH) символы опорного сигнала демодуляции (DRS) в зависимости от времени и копирования этих символов через выделенные элементы ресурса (REs) в сетке частоты времени.

пример

[hEst,noiseEst] = lteULChannelEstimateNPUSCH(ue,chs,cec,rxGrid) задает cec, структура, содержащая метод и параметры, чтобы использовать для оценки канала.

[hEst,noiseEst] = lteULChannelEstimateNPUSCH(___,stateIn) задает stateIn, начальный энкодер утверждает для генерации символа NPUSCH DRS, в дополнение к любой комбинации входных аргументов от предыдущих синтаксисов..

Примеры

свернуть все

Выполните оценку канала NPUSCH на полученной сетке ресурса.

Сконфигурируйте настройки UE-specific.

ue = struct('NNCellID',0,'NBULSubcarrierSpacing','15kHz','NSlot',0);

Задайте настройку передачи канала.

chs = struct('NPUSCHFormat','Data','NRUsc',1,'NULSlots',16,'NRU',1, ...
    'NRep',1,'NBULSubcarrierSet',0,'Modulation','QPSK');

Сконфигурируйте тип оценки канала и параметры.

cec = struct('FreqWindow',7,'TimeWindow',1,'InterpType','cubic','PilotAverage','UserDefined');

Сгенерируйте символы NPUSCH DRS и выделите их соответствующим местоположениям на сетке ресурса.

grid = lteNBResourceGrid(ue);
grid(lteNPUSCHDRSIndices(ue,chs)) = lteNPUSCHDRS(ue,chs);

Сгенерируйте форму волны путем выполнения деления частоты одно поставщика услуг, несколько получают доступ (SC-FDMA) к модуляции на символах NPUSCH DRS.

waveform = lteSCFDMAModulate(ue,chs,grid);

Выполните демодуляцию SC-FDMA, приняв, что полученная форма волны совпадает с переданной формой волны.

rxGrid = lteSCFDMADemodulate(ue,chs,waveform);

Оцените канал.

[hEst,noiseEst] = lteULChannelEstimateNPUSCH(ue,chs,cec,rxGrid);

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

свернуть все

Настройки UE-specific в виде структуры, содержащей эти поля.

Поле ЗначенияОписаниеТипы данных
NBULSubcarrierSpacing'3.75kHz', '15kHz'

Интервал поднесущей восходящего канала NB-IoT

Чтобы установить интервал поднесущей 3,75 кГц, задайте это поле как '3.75kHz'. Чтобы установить интервал поднесущей 15 кГц, задайте это поле как '15kHz'.

charСтрока
NNCellIDЦелое число в интервале [0, 503]Узкополосная идентичность ячейки физического уровня (PCI)double
NFrame0 (значение по умолчанию), неотрицательное целое числоСтруктурируйте номерdouble
NSlotНеотрицательное целое число

Номер слота

Когда вы задаете NPUSCHFormat поле как 'Data' и SeqGroupHopping поле как 'Off' в chs введите, функция игнорирует это поле.

double

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

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

Поле ЗначенияОписаниеТипы данных
NPUSCHFormat'Data', 'Control'

Формат NPUSCH

Чтобы указать, что NPUSCH несет узкополосный восходящий канал совместно использованный канал (UL-SCH) данные, задайте это поле как 'Data'. Чтобы указать, что NPUSCH несет восходящую управляющую информацию, задайте это поле как 'Control'.

charСтрока
NRUsc1, 3, 6, 12

Количество последовательных поднесущих в модуле ресурса (RU)

Если вы задаете NPUSCHFormat поле как 'Control' или NBULSubcarrierSpacing поле ue введите как '3.75kHz', затем необходимо задать это поле как 1 .

double
NRep1, 2, 4, 8, 16, 32, 64, 128Количество повторений для кодовой комбинацииdouble
NRU1, 2, 3, 4, 5, 6, 8, 10Количество RUdouble
NULSlots2, 4, 8, 16

Количество пазов на RU

Если вы задаете NPUSCHFormat поле как 'Control', затем необходимо задать это поле как 4.

Если вы задаете NPUSCHFormat поле как 'Data', затем необходимо задать это поле как:

  • 16 когда вы задаете NRUsc поле как 1

  • 8 когда вы задаете NRUsc поле как 3

  • 4 когда вы задаете NRUsc поле как 6

  • 2 когда вы задаете NRUsc поле как 12

double
BaseSeqIdx

Целое число в интервале [0, 29]

Значение по умолчанию зависит от значения NRUsc поле .

Многочастотный индекс последовательности оснований NPUSCH DRS

  • Когда вы задаете NRUsc поле как 3, задайте это поле как целое число в интервале [0, 11]. Если вы не задаете это поле, функция устанавливает его на значение mod(ue.NNCellID,12).

  • Когда вы задаете NRUsc поле как 6, задайте это поле как целое число в интервале [0, 13]. Если вы не задаете это поле, функция устанавливает его на значение mod(ue.NNCellID,14).

  • Когда вы задаете NRUsc поле как 12, задайте это поле как целое число в интервале [0, 29]. Если вы не задаете это поле, функция устанавливает его на значение mod(ue.NNCellID,30).

  • Когда вы задаете NRUsc поле как любое другое значение, функция не использует это поле.

Зависимости. Чтобы включить это поле, задайте NRUsc поле как 3, 6, или 12.

double
SeqGroupHopping'On' (значение по умолчанию), 'Off'Чтобы включить скачкообразное движение группы последовательности, задайте это поле как 'On'. Чтобы отключить скачкообразное движение группы последовательности, задайте это поле как 'Off'. Для получения дополнительной информации смотрите раздел 5.5.1.3 из [1].charСтрока
SeqGroup0 (значение по умолчанию), целое число в интервале [0, 29]

Присвоение группы последовательности для последовательности переключает вычисление шаблона

Для получения дополнительной информации смотрите раздел 10.1.4.1.3 из [1].

Зависимости. Чтобы включить это поле, задайте SeqGroupHopping поле как 'On'.

double
CyclicShift0 (значение по умолчанию), целое число в интервале [0, 3]

Циклический сдвиг

  • Когда вы задаете NRUsc поле как 3, задайте это поле как целое число в интервале [0, 2].

  • Когда вы задаете NRUsc поле как 6, задайте это поле как целое число в интервале [0, 3].

Зависимости. Чтобы включить это поле, задайте NRUsc поле как 3 или 6.

double
NBULSubcarrierSetЦелое число в интервале [0, 47], вектор из целых чисел в интервале [0, 11]

Индексы поднесущей восходящего канала NB-IoT, в основанной на нуле форме

Если вы задаете NPUSCHFormat поле как 'Control', задайте это поле как целое число в интервале [0, 11].

Если вы задаете NPUSCHFormat поле как 'Data' и NBULSubcarrierSpacing поле ue введите как '3.75kHz', задайте это поле как целое число в интервале [0, 47].

Если вы задаете NPUSCHFormat поле как 'Data' и NBULSubcarrierSpacing поле ue введите как '15kHz', задайте это поле как вектор из целых чисел в интервале [0, 11].

double

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

Полученная сетка ресурса в виде матрицы с комплексным знаком размера T-by-P.

  • T является количеством выборок временного интервала.

  • P является количеством антенн передачи.

Можно сгенерировать этот вход путем выполнения демодуляции SC-FDMA на полученной сетке ресурса с помощью lteSCFDMADemodulate функция.

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

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

Поле ЗначенияОписаниеТипы данных
FreqWindowПоложительное нечетное целое число, положительное кратное 12Размер окна для усреднения частоты, в элементах ресурсаdouble
TimeWindowПоложительное нечетное целое числоРазмер окна для усреднения во времени, в элементах ресурсаdouble
InterpType'nearest', 'linear', 'natural', 'cubic', 'v4''none'

Тип интерполяции между экспериментальными символами в виде одного из этих значений.

  • 'nearest' — Используйте самую близкую соседнюю интерполяцию

  • 'linear' — Используйте линейную интерполяцию

  • 'natural' — Используйте естественную соседнюю интерполяцию

  • 'cubic' — Используйте кубичную интерполяцию

  • 'v4' — Используйте MATLAB® 4 griddata метод

  • 'none' — Функция не выполняет интерполяции между экспериментальными символами и не создает виртуальных пилотов. hEst выведите содержит оценки канала в местоположениях переданных символов NPUSCH DRS для каждого, получают антенну и все другие элементы hEst 0. Функция все еще выполняет экспериментальное усреднение символа в соответствии со значениями, которые вы задаете для FreqWindow и TimeWindow поля .

Для получения дополнительной информации смотрите griddata функция.

charСтрока
PilotAverage'TestEVM', 'UserDefined'

Тип экспериментального усреднения

Если вы задаете это поле как 'TestEVM', функция игнорирует любые другие поля, которые вы задаете. В этом случае функция выполняет пилота, насчитывающего согласно методу, изложенному в и Приложение F [2].

Когда вы задаете это поле как 'UserDefined', функция выполняет пилота, насчитывающего с прямоугольным ядром размера FreqWindow- TimeWindow. Функция также выполняет двумерную операцию фильтрации на пилотах. У пилотов около ребра сетки ресурса или нет соседей или ограниченного количества соседей посредством создания виртуальных пилотов. Следовательно, эти пилоты не усреднены таким же образом как пилоты, которые не являются около ребра сетки ресурса.

charСтрока

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

Состояние энкодера для генерации NPUSCH DRS в виде структуры. Этот вход соответствует stateIn вход lteNPUSCHDRS функция. Этот вход содержит внутреннее состояние каждого транспортного блока в этих полях.

Поле ЗначенияОписаниеТипы данных
SlotIdxЦелое число в интервале [0, (chs.NRU × chs.NULSlots × chs.NRep) – 1]Индекс паза в пакете, в основанной на нуле формеdouble
InitNSlotНеотрицательное целое числоНомер слота для скремблирования инициализации последовательностиdouble
InitNFrameНеотрицательное целое числоСтруктурируйте номер для скремблирования инициализации последовательностиdouble
EndOfBlkЛогический 1 TRUE) или 0 ложь)Чтобы указать, что передача достигла конца транспортного блока, задайте это поле как 1 TRUE). В противном случае задайте это поле как 0 ложь).logical
EndOfTxЛогический 1 TRUE) или 0 ложь)Чтобы указать, что передача достигла конца пакета, задайте это поле как 1 TRUE). В противном случае задайте это поле как 0 ложь).logical
GhpNSlotНеотрицательное целое число

Номер слота для первого паза в RU

Зависимости. Чтобы включить это поле, задайте NPUSCHFormat поле как 'Data' и NRUsc поле как 1 в chs входной параметр.

double

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

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

свернуть все

Оценка канала, возвращенная как массив с комплексным знаком размера K-by-L-by-R.

  • K является общим количеством поднесущих.

  • L является количеством символов SC-FDMA.

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

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

Шумовая степень спектральная плотность, возвращенная как скаляр с действительным знаком. Этот выход представляет степень спектральная плотность шума, существующего на предполагаемых коэффициентах ответа канала.

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

Ссылки

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

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

Введенный в R2020a