lteULPMISelect

Расчет матричной индикации PUSCH-прекодера

Описание

пример

pmi = lteULPMISelect(ue,chs,hest,noiseest) выполняет вычисление матричной индикации PUSCH precoder (PMI) для заданных пользовательских настроек, ue, структура строения канала, chs, ресурсный массив оценки канала, hest, и отклонение шума приемника, noiseest. Выход, pmi, является скаляром, содержащим PMI, выбранный для передачи с обратной связью.

hest является 4-D массивом размеров M -by- N -by- NRxAnts-by- NTxAnts, где M - количество поднесущих, N - количество символов SC-FDMA, NRxAnts количество приемных антенн и NTxAnts - количество передающих антенн.

noiseest является скаляром, оценкой принятой спектральной плотности степени шума.

pmi = lteULPMISelect(ue,chs,hest,noiseest,refgrid) предоставляет дополнительный вход refgrid, a 3-D M -by- N -by- NTxAnts массив, содержащий известные символы передаваемых данных в их правильных местоположениях. Все другие местоположения, то есть символы DRS и неизвестные местоположения символов данных, должны быть представлены NaN. Это тот же массив, что и дополнительный refgrid вход, описанный для lteULChannelEstimate функция. Для выбора PMI символы в refgrid игнорируются, но не - NaN Местоположения RE используются как местоположения RE, в которых можно выборить оценку канала и выполнить оценку PMI. Этот подход может использоваться, чтобы предоставить refgrid содержащие, например, местоположения SRS RE, созданные на всех NTxAnts, что позволяет проводить оценку канала полного ранга для целей выбора PMI, когда PUSCH передается с меньшим, чем полный ранг.

pmi = lteULPMISelect(ue,chs,hest,noiseest,refgrid,cec) принимает структуру строения оценщика канала cec содержащее поле Reference.

Reference = 'None' не будет генерировать внутренние опорные сигналы, и оценка PMI может быть выполнена на произвольных известных RE, как задано refgrid аргумент. Этот подход может использоваться, чтобы предоставить refgrid содержащие, например, сигналы SRS, созданные на всех NTxAnts, что позволяет оценить PMI в полном ранге для целей выбора PMI, когда PUSCH передается с меньшим, чем полный ранг. Reference = 'Antennas' или Reference = 'Layers' будет использовать индексы PUSCH DMRS RE в качестве базовых мест для оценки PMI; дополнительные ссылки все еще могут быть предоставлены в refgrid.

Примеры

свернуть все

Этот пример создает пустую ресурсную сетку для A3-2 RMC и изменяет ее для строения MIMO.

Инициализируйте специфическую структуру параметра ue и создайте пустую ресурсную сетку для A3-2 RMC и измените ее для строения MIMO.

ue = lteRMCUL('A3-2');
ue.NTxAnts = 4; 
ue.PUSCH.NLayers = 2;
rgrid = lteULResourceGrid(ue);
rgrid(ltePUSCHDRSIndices(ue,ue.PUSCH)) = ltePUSCHDRS(ue,ue.PUSCH);

Сгенерируйте модулированную форму волны.

txWaveform = lteSCFDMAModulate(ue,rgrid);

Сконфигурируйте канал с замираниями.

chcfg.Seed = 100;
chcfg.DelayProfile = 'EPA';
chcfg.NRxAnts = 2;
chcfg.InitTime = 100;
chcfg.InitPhase = 'Random';
chcfg.ModelType = 'GMEDS';
chcfg.NTerms = 16;
chcfg.NormalizeTxAnts = 'On';
chcfg.NormalizePathGains = 'On';
chcfg.DopplerFreq = 50.0;
chcfg.MIMOCorrelation = 'Low';
chcfg.SamplingRate = 15360000;

Пропустите сигнал передачи через канал с замираниями и выполните демодуляцию SC-FDMA.

rxWaveform = lteFadingChannel(chcfg,txWaveform);
rxSubframe = lteSCFDMADemodulate(ue,rxWaveform);

Оцените соответствующий канал и спектральную плотность степени шума на поднесущих опорного сигнала.

cec = struct('FreqWindow',12,'TimeWindow',1,'InterpType','cubic');
cec.PilotAverage = 'UserDefined';
cec.Reference = 'Antennas';

[hest,noiseEst] = lteULChannelEstimate(ue,ue.PUSCH,cec,rxSubframe);

Используйте эту оценку, чтобы вычислить индикацию матрицы прекодера (PMI).

pmi = lteULPMISelect(ue,ue.PUSCH,hest,noiseEst)
pmi = 4

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

свернуть все

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

Количество ресурсных блоков восходящей линии связи (UL), заданное в виде скалярного целого числа.

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

Длина циклического префикса, заданная как 'Normal' или 'Extended'.

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

Количество передающих антенн, заданное как 1, 2 или 4.

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

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

Структура строения канала, заданная как скалярная структура со следующими полями.

Индексы блока физических ресурсов, заданные как числовая матрица столбцов. PRBSet может быть 1- или 2-столбцовой матрицей, содержащей основанные на 0 индексы блока физических ресурсов (PRB), соответствующие выделениям ресурсов для этого PUSCH.

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

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

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

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

Оценка канала, заданная как 4-D числовой массив размера M -by- N -by- NRxAnts-by- NTxAnts. M - количество поднесущих, N - количество символов SC-FDMA, NRxAnts количество приемных антенн и NTxAnts - количество передающих антенн.

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

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

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

Передаваемые данные, заданные как 3-D числовой массив. refgrid является M -by- N -by- NTxAnts массив, содержащий известные символы в их правильных местоположениях.

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

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

Точка ссылки (индексы для внутреннего генерации) для оценки PMI. Reference = 'None' не генерирует внутренние опорные сигналы, и оценка PMI может быть выполнена на произвольных известных RE, как задано refgrid аргумент. Reference = 'Antennas' или Reference = 'Layers' использует индексы PUSCH DMRS RE в качестве опорных точек для оценки PMI; дополнительные ссылки все еще могут быть предоставлены в refgrid.

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

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

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

свернуть все

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

Введенный в R2014a