lteULPerfectChannelEstimate

Восходящая совершенная оценка канала

Синтаксис

hest = lteULPerfectChannelEstimate(ue,channel)
hest = lteULPerfectChannelEstimate(ue,channel,offset)
hest = lteULPerfectChannelEstimate(ue,chs,channel)
hest = lteULPerfectChannelEstimate(ue,chs,channel,offset)

Описание

пример

hest = lteULPerfectChannelEstimate(ue,channel) выполняет совершенную оценку канала для конфигурации системы, данной определенные для оборудования пользователя настройки ue (UE-specific) и настройку канала распространения channel. Совершенные оценки канала производятся только для исчезающих моделей канала, созданных с помощью функции lteFadingChannel.

Эта функция обеспечивает совершенную оценку канала нескольких вводят несколько выводов (MIMO) после деления частоты одно поставщика услуг, несколько получают доступ (SC-FDMA) к модуляции. Чтобы получить эту оценку, функция устанавливает канал с заданной настройкой и отправляет набор известных символов через тот канал для каждой антенны передачи в свою очередь.

пример

hest = lteULPerfectChannelEstimate(ue,channel,offset) выполняет совершенную оценку канала для синхронизации и смещения частоты, заданного offset. Определение offset гарантирует, что hest является каналом, который заканчивается, когда получатель точно синхронизируется.

пример

hest = lteULPerfectChannelEstimate(ue,chs,channel) выполняет совершенную оценку канала для настройки передачи канала chs. Этот синтаксис поддерживает SC-FDMA для LTE, узкополосного Интернета одно тона Вещей (NB-IoT) и многочастотный NB-IoT.

hest = lteULPerfectChannelEstimate(ue,chs,channel,offset) выполняет совершенную оценку канала для настройки передачи канала и заданную синхронизацию и смещение частоты.

Примеры

свернуть все

Выполните восходящую совершенную оценку канала для выбранной настройки канала распространения.

Инициализируйте настройки UE-specific, задав поля, подходящие для настройки восходящего канала LTE.

ue.NULRB = 6;
ue.CyclicPrefixUL = 'Normal';
ue.NTxAnts = 2;
ue.TotSubframes = 1;

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

channel.Seed = 1;
channel.DelayProfile = 'EPA';
channel.NRxAnts = 4;
channel.DopplerFreq = 5.0;
channel.MIMOCorrelation = 'Low';
channel.InitPhase = 'Random';
channel.InitTime = 0.0;
channel.ModelType = 'GMEDS';
channel.NTerms = 16;
channel.NormalizeTxAnts = 'On';
channel.NormalizePathGains = 'On';

Выполните восходящую совершенную оценку канала и отобразите размерность оценочного массива канала.

hest = lteULPerfectChannelEstimate(ue,channel);
disp(size(hest));
    72    14     4     2

Выполните восходящую совершенную оценку канала на форме волны смещения времени, прошел через исчезающий канал.

Инициализация настройки

Инициализируйте настройки UE-specific путем определения полей, подходящих для настройки восходящего канала LTE.

ue = lteRMCUL('A1-1','FDD',1);
ue.NULRB = 10;
ue.CyclicPrefixUL = 'Normal';
ue.NTxAnts = 4;
ue.TotSubframes = 1;

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

channel.Seed = 1;
channel.DelayProfile = 'EVA';
channel.NRxAnts = 2;
channel.DopplerFreq = 5.0;
channel.MIMOCorrelation = 'UplinkMedium';
channel.InitPhase = 'Random';
channel.InitTime = 0.0;
channel.ModelType = 'GMEDS';
channel.NTerms = 16;
channel.NormalizeTxAnts = 'On';
channel.NormalizePathGains = 'On';

Обработка формы волны

Создайте форму волны и добавьте выборки для задержки канала.

[txWaveform,txgrid,rmcCfg] = lteRMCULTool(ue,[1;0;0;1]);
txWaveform = [txWaveform; zeros(25,4)];
channel.SamplingRate = rmcCfg.SamplingRate;

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

rxWaveform = lteFadingChannel(channel,txWaveform);

Определите смещение синхронизации

Используйте функцию lteULFrameOffset, чтобы оценить смещение времени.

offset = lteULFrameOffset(ue,ue.PUSCH,rxWaveform);
disp(offset);
     8

Измените полученную форму волны, чтобы составлять смещение синхронизации.

rxWaveform = rxWaveform(1+offset:end,:);

Демодуляция и восходящая совершенная оценка канала

Сгенерируйте данные о получателе частотного диапазона путем демодуляции полученной формы волны временного интервала.

grid = lteSCFDMADemodulate(ue,rxWaveform);

Выполните восходящую совершенную оценку канала со смещением требуемого времени.

hest = lteULPerfectChannelEstimate(ue,channel,offset);
disp(size(hest));
   120    14     2     4

Визуализируйте эффект исчезающего канала

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

Выходная оценка канала является 4-D массивом. Вход задал десять продвижения блоков ресурса к 120 поднесущим на символ. Нормальный циклический префикс приводит к 14 символам на подкадр. Третьи и четвертые размерности представляют эти два, получают и четыре антенны передачи, заданные во входных конфигурационных структурах.

Сравнение переданной сетки к восстановленной сетке показывает, как коррекция полученной сетки с совершенной оценкой канала восстанавливает передачу.

recoveredgrid = grid./hest;

subplot(2,2,1)
surf(abs(txgrid(:,:,1,1)))
title('Transmitted Grid')
subplot(2,2,2)
surf(abs(grid(:,:,1,1)))
title('Received Grid')
subplot(2,2,3)
surf(abs(hest(:,:,1,1)))
title('Perfect Channel Estimate')
subplot(2,2,4)
surf(abs(recoveredgrid(:,:,1,1)))
title('Recovered Grid')

Выполните восходящую совершенную оценку канала для выбранной настройки канала распространения.

Инициализируйте настройки UE-specific, задав поля, подходящие для настройки восходящего канала NB-IoT.

ue.NBULSubcarrierSpacing = '15kHz';
ue.TotSlots = 10;

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

channel.Seed = 5;
channel.DelayProfile = 'EPA';
channel.NRxAnts = 2;
channel.DopplerFreq = 5.0;
channel.MIMOCorrelation = 'Low';
channel.InitPhase = 'Random';
channel.InitTime = 0.0;
channel.ModelType = 'GMEDS';
channel.NTerms = 16;
channel.NormalizeTxAnts = 'On';
channel.NormalizePathGains = 'On';

Задайте конфигурационную информацию NPUSCH.

chs.NBULSubcarrierSet = 0;
chs.Modulation = 'QPSK';
chs.NULSlots = 2;
chs.NRU = 2;
chs.NRep = 1;
chs.SlotInd = 0;

Выполните восходящую совершенную оценку канала и отобразите размерность оценочного массива канала.

hest = lteULPerfectChannelEstimate(ue,chs,channel);
disp(size(hest));
    12    70     2

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

свернуть все

Настройки UE-specific, заданные как структура. Поля, которые вы задаете в ue, определяют, выполняет ли функция оценку канала для настройки NB-IoT или LTE. Чтобы указать на настройку LTE, задайте поле NULRB. Чтобы указать на настройку NB-IoT, задайте поле NBULSubcarrierSpacing. Поле NTxAnts требуется и для LTE и для настроек NB-IoT. Другие поля в ue являются дополнительными. Поля CyclicPrefixUL и TotSubframes применимы только для настройки LTE. Поле TotSlots применимо только для настройки NB-IoT.

Количество восходящих блоков ресурса, NRBUL, заданный как целое число в интервале [6, 110]. Чтобы выполнить оценку канала для настройки LTE, необходимо задать это поле.

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

Циклическая длина префикса, заданная как 'Normal' или 'Extended'. Это поле является дополнительным.

Зависимости

Это поле применяется только, когда вы выбираете настройку LTE путем определения поля NULRB.

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

Количество антенн передачи, TX N, заданного как 1, 2 или 4.

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

Общее количество подкадров, чтобы сгенерировать, заданный как неотрицательное целое число.

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

Интервал поднесущей восходящего канала NB-IoT, заданный как '3.75kHz' или '15kHz'. Чтобы установить интервал поднесущей 3,75 кГц, задайте NBULSubcarrierSpacing как '3.75kHz'. Чтобы установить интервал поднесущей 15 кГц, задайте NBULSubcarrierSpacing как '15kHz'.

Чтобы выполнить оценку канала для настройки NB-IoT, необходимо задать это поле. Чтобы указать на настройку LTE, не используйте это поле.

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

Общее количество слотов, чтобы сгенерировать, заданный как неотрицательное целое число.

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

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

Настройка канала распространения, заданная как структура. Этот аргумент должен содержать все поля, требуемые параметризовать исчезающую модель канала, то есть, вызвать функцию lteFadingChannel.

Примечание

Перед выполнением канала lteULPerfectChannelEstimate устанавливает поле SamplingRate внутренне на уровень выборки формы волны области времени, переданной функции lteFadingChannel для фильтрации. Поэтому этот вход channel не требует поля SamplingRate. Если вы включены, это не используется.

Количество получает антенны, RX N, заданный как положительное целое число.

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

Корреляция между UE и Развитым Узлом B (eNodeB) антенны, заданные как одно из этих значений:

  • 'Low' – Никакая корреляция между антеннами

  • 'Medium' – Уровень корреляции применим к тестам, заданным в TS 36.101 [1]

  • 'UplinkMedium' – Уровень корреляции применим к тестам, заданным в TS 36.104 [2]

  • 'High' – Сильная корреляция между антеннами

  • 'Custom' – Примените пользовательский TxCorrelationMatrix и RxCorrelationMatrix

Типы данных: char | string

Передайте нормализацию номера антенны, заданную как 'On' или 'Off'. Если вы задаете NormalizeTxAnts как 'On', lteULPerfectChannelEstimate нормирует модель, выведенную 1 / √ TX N. Нормализация количеством антенн передачи гарантирует, что выходная мощность на получает антенну, незатронуто количеством антенн передачи. Если вы задаете NormalizeTxAnts как 'Off', lteULPerfectChannelEstimate не выполняет нормализацию. Это поле является дополнительным.

Типы данных: char | string

Задержите модель профиля, заданную как 'EPA', 'EVA', 'ETU', 'Custom' или 'Off'. Для получения дополнительной информации см. Модели Канала Распространения.

Установка DelayProfile к 'Off' выключает исчезновение полностью и реализует статическую модель канала MIMO. В этом случае геометрия антенны соответствует полям MIMOCorrelation и NRxAnts и количеству антенн передачи. Временная часть модели для каждой ссылки между передачей и получает антенны, состоит из одного пути с нулевой задержкой и постоянным модульным усилением.

Типы данных: char | string

Максимум Доплеровская частота, в Гц, заданном как неотрицательный скаляр.

Зависимости

Это поле применяется только, когда вы задаете поле DelayProfile как значение кроме 'Off'.

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

Выборка уровня входного сигнала, заданного как неотрицательный скаляр.

Зависимости

Это поле применяется только, когда вы задаете поле DelayProfile как значение кроме 'Off'.

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

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

Зависимости

Это поле применяется только, когда вы задаете поле DelayProfile как значение кроме 'Off'.

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

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

Зависимости

Это поле применяется только, когда вы задаете поле DelayProfile как значение кроме 'Off'.

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

Тип модели релеевского замирания, заданный как 'GMEDS' или 'Dent'. К образцовому Релеевскому замиранию с помощью обобщенного метода точного Доплеровского распространения (GMEDS), описанный в [4], задайте ModelType как 'GMEDS'. К образцовому Релеевскому замиранию с помощью измененной модели исчезновения Jakes, описанной в [3], задайте ModelType как 'Dent'. Это поле является дополнительным.

Примечание

При определении ModelType, когда не рекомендуется 'Dent'.

Зависимости

Это поле применяется только, когда вы задаете поле DelayProfile как значение кроме 'Off'.

Типы данных: char | string

Образцовый выходной индикатор нормализации, заданный как 'On' или 'Off'. Чтобы нормировать модель выводит таким образом, что средняя степень является единицей, задайте NormalizePathGains как 'On'. Чтобы возвратить среднюю выходную мощность как сумму степеней касаний профиля задержки, задайте NormalizePathGains как 'Off'. Это поле является дополнительным.

Зависимости

Это поле применяется только, когда вы задаете поле DelayProfile как значение кроме 'Off'.

Типы данных: char | string

Инициализация фазы для синусоидальных компонентов модели, заданной как одно из этих значений:

  • 'Random' – Случайным образом инициализируйте фазы согласно значению, которое вы задаете в поле Seed

  • Скаляр с действительным знаком – Задает одно начальное значение фаз всех компонентов в радианах

  • N-by-L-by-NTX-by-NRX массив – Явным образом инициализирует фазу, в радианах, каждого компонента. В этом случае N является количеством значений инициализации фазы на путь, и L является количеством путей

Примечание

  • Когда вы задаете ModelType как 'GMEDS', N = 2×NTerms.

  • Когда вы задаете ModelType как 'Dent', N = NTerms.

Типы данных: double | char | string

Seed генератора случайных чисел, заданный как скаляр с действительным знаком. Чтобы использовать случайный seed, задайте Seed как 0.

Примечание

Отберите значения в интервале [0, 231 – 1 – (K (K – 1)/2)], где K = TX N × RX N и является продуктом количества передачи, и получите антенны, рекомендуются. Значения seed за пределами этого интервала, как гарантируют, не дадут отличные результаты.

Зависимости

Это поле применяется только, когда вы задаете поле DelayProfile как значение кроме 'Off' и поля InitPhase как 'Random'.

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

Средние усиления дискретных путей, в дБ, заданном как вектор с действительным знаком.

Зависимости

Это поле применяется только, когда вы задаете поле DelayProfile как 'Custom'.

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

Задержки дискретных путей, в секундах, заданных как вектор с действительным знаком.

Зависимости

Это поле применяется только, когда вы задаете поле DelayProfile как 'Custom'.

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

Корреляция между каждой из антенн передачи, заданных как N TX-by-NTX матрица с комплексным знаком.

Зависимости

Это поле применяется только, когда вы задаете поле MIMOCorrelation как 'Custom'.

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

Корреляция между каждой из получить антенн, заданных как N RX-by-NRX матрица с комплексным знаком.

Зависимости

Это поле применяется только, когда вы задаете поле MIMOCorrelation как 'Custom'.

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

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

Синхронизация смещения, в выборках, заданных как неотрицательное целое число. Смещение синхронизации задано от запуска вывода канала к предполагаемой отправной точке демодуляции SC-FDMA. Задайте смещение синхронизации, когда известный, чтобы получить совершенную оценку канала, как замечено синхронизируемым получателем. Используйте функцию lteULFrameOffset, чтобы получить значение для offset.

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

Информация NPUSCH, указанная как структура. Для настройки NB-IoT можно установить дополнительные восходящие специфичные параметры путем определения полей NB-IoT-specific в chs. За исключением поля NBULSubcarrierSet, поля в chs применимы или когда ue.NBULSubcarrierSpacing является '3.75kHz' или когда ue.NBULSubcarrierSpacing является '15kHz', и length(NBULSubcarrierSet) является 1.

Индексы поднесущей восходящего канала NB-IoT, заданные как вектор неотрицательных целых чисел в интервале [0, 11] или неотрицательного целого числа в интервале [0, 47]. Индексы находятся в основанной на нуле форме. Чтобы использовать lteULPerfectChannelEstimate для одно тона настройка NB-IoT, необходимо задать NBULSubcarrierSet как скаляр. Если вы не задаете NBULSubcarrierSet, lteULPerfectChannelEstimate возвращает оценку для многочастотной настройки NB-IoT по умолчанию. Если вы задаете ue.NBULSubcarrierSpacing как '15kHz', это поле требуется.

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

Тип модуляции, заданный как 'BPSK' или 'QPSK'. Для бинарного манипулирования сдвига фазы (BPSK) задайте Modulation как 'BPSK'. Для квадратурного манипулирования сдвига фазы (QPSK) задайте Modulation как 'QPSK'.

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

Количество слотов на модуль ресурса (RU), заданный как положительное целое число. Чтобы использовать lteULPerfectChannelEstimate для одно тона настройка NB-IoT, необходимо задать это поле.

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

Количество РУССКИХ, заданных как положительное целое число. Чтобы использовать lteULPerfectChannelEstimate для одно тона настройка NB-IoT, необходимо задать это поле.

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

Количество повторений для кодовой комбинации, заданной как неотрицательное целое число. Чтобы использовать lteULPerfectChannelEstimate для одно тона настройка NB-IoT, необходимо задать это поле.

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

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

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

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

свернуть все

Совершенная оценка канала, возвращенная как SC N NSYM NRX NTX массивом с комплексным знаком, где SC N является количеством поднесущих и N SYM, является количеством символов SC-FDMA.

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

Ссылки

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

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

[3] Вдавите, P., Bottomley, G. E. и Хутор, T. “Jakes, Исчезающий Пересмотренная Модель”. Буквы электроники. Издание 29, Номер 13, 1993, стр 1162–1163.

[4] Pätzold, M., Ван, C. и Hogstad, B. O. “Две Новых Суммы основанных на синусоидах Методов для Эффективной Генерации Нескольких Некоррелированых Форм волны Релеевского замирания”. Транзакции IEEE на Радиосвязях. Издание 8, Номер 6, 2009, стр 3122–3131.

Введенный в R2014a