lteULChannelEstimateNPUSCH

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

Описание

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

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

пример

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

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

Примеры

свернуть все

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

Настройте параметры UE.

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');

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

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

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

waveform = lteSCFDMAModulate(ue,chs,grid);

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

rxGrid = lteSCFDMADemodulate(ue,chs,waveform);

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

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

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

свернуть все

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

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

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

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

char, string
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, string
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 Multitone 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, string
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' - Функция не выполняет интерполяцию между пилотными символами и не создает виртуальных пилотов. The hEst выход содержит оценки канала в местоположениях переданных символов DRS NPUSCH для каждой приемной антенны и всех других элементов hEst являются 0. Функция все еще выполняет усреднение пилотного символа в соответствии со значениями, которые вы задаете для FreqWindow и TimeWindow поля.

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

char, string
PilotAverage'TestEVM', 'UserDefined'

Тип усреднения пилота

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

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

char, string

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

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

ОбластьЗначенияОписаниеТипы данных
SlotIdxЦелое число в интервале [0, (chs.NRU × chs.NULSlots × chs.NRep) – 1]Индекс паза в пучке, в нулевой формеdouble
InitNSlotНеотрицательное целое числоНомер паза для инициализации последовательности скремблированияdouble
InitNFrameНеотрицательное целое числоНомер системы координат для инициализации скремблирующей последовательностиdouble
EndOfBlkЛогический 1 (true) или 0 (false)Чтобы указать, что коробка передач достигла конца транспортного блока, задайте это поле следующим 1 (true). В противном случае задайте это поле следующим 0 (false).logical
EndOfTxЛогический 1 (true) или 0 (false)Чтобы указать, что передача достигла конца пакета, задайте это поле следующим 1 (true). В противном случае задайте это поле следующим 0 (false).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. «Физические каналы и модуляция». 3-ья Генерация проект партнерства; Группа технических спецификаций Radio Доступа Network; Evolved Universal Terrestrial Radio Access (E-UTRA). https://www.3gpp.org.

[2] 3GPP TS 36.101. "Evolved Universal Terrestrial Radio Access (E-UTRA); Пользовательское оборудование (UE) радиопередача и прием ". 3-ья Генерация Партнерский проект; Группа технических спецификаций Радиосеть доступ. https://www.3gpp.org.

Введенный в R2020a