lteULPerfectChannelEstimate

Идеальная оценка канала восходящей линии связи

Описание

пример

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

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

пример

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

пример

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

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

Примеры

свернуть все

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

Инициализируйте настройки конкретного UE, задавая поля, соответствующие строения восходящего канала 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 путем определения полей, соответствующих строению восходящего канала 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')

Figure contains 4 axes. Axes 1 with title Transmitted Grid contains an object of type surface. Axes 2 with title Received Grid contains an object of type surface. Axes 3 with title Perfect Channel Estimate contains an object of type surface. Axes 4 with title Recovered Grid contains an object of type surface.

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

Инициализируйте настройки конкретного UE, задавая поля, соответствующие строения восходящего канала 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.SlotIdx = 0;

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

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

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

свернуть все

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

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

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

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

Зависимости

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

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

Количество передающих антенн, N TX, заданное как 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 поле. Если он включен, он не используется.

Количество приемных антенн, N RX, заданное в виде положительного целого числа.

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

Корреляция между антеннами UE и Evolved Node 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/√<reservedrangesplaceholder1>TX. Нормализация по количеству передающих антенн гарантирует, что выход степени на одну приемную антенну не зависит от количества передающих антенн. Если вы задаете 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'. Чтобы смоделировать Релеевского замирания с использованием измененной модели Джейкса с замираниями, описанной в [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- N TX-by- N RX - Явная инициализация фазы в радианах каждого компонента. В этом случае N количество значений инициализации фазы на путь и L количество путей

Примечание

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

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

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

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

Примечание

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

Зависимости

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

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

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

Зависимости

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

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

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

Зависимости

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

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

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

Зависимости

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

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

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

Зависимости

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

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

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

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

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

Информация NPUSCH, заданная как структура. Для строения NB-IoT можно задать дополнительные специфичные для восходящего канала параметры путем определения специфичных для NB-IoT полей в 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'. Для двоичных фаз сдвига keying (BPSK) задайте Modulation как 'BPSK'. Для квадратурной фазы сдвига манипуляции (QPSK) задайте Modulation как 'QPSK'.

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

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

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

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

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

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

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

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

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

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

свернуть все

Идеальная оценка канала, возвращенная как N массиву SC-by N SYM-by N RX-by N TX с комплексным значением, где N SC является количеством поднесущих, а N SYM является количеством символов SC-FDMA.

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

Ссылки

[1] 3GPP TS 36.101. «Пользовательское оборудование (UE) Радиопередача и прием». 3-ья Генерация Партнерский проект; Группа технических спецификаций Radio Доступа Network; Evolved Universal Terrestrial Radio Access (E-UTRA).

[2] 3GPP TS 36.104. «Base Station (BS) radio transmission and reception». 3rd Генерация Partnership Project; Группа технических спецификаций Radio Доступа Network; Evolved Universal Terrestrial Radio Access (E-UTRA).

[3] Dent, P., Bottomley, G. E., and Croft, T. «Jakes Fading Model Revisited». Электронные буквы. Том 29, № 13, 1993, стр. 1162-1163.

[4] Pätzold, M., Wang, C. and Hogstad, B. O. «Two New Sum-of-Sinusoids-Based Methods for the Effective Generation of множественных некоррелированных релейных затухающих волн». Транзакции IEEE по беспроводной связи. Том 8, № 6, 2009, стр. 3122-3131.

Введенный в R2014a