exponenta event banner

lteULPMISelect

Расчет индикации матрицы предварительного кодера PUSCH

Описание

пример

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

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

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

pmi = lteULPMISelect(ue,chs,hest,noiseest,refgrid) обеспечивает дополнительный ввод refgrid, 3D M на НNTxAnts массив, содержащий известные переданные символы данных в их правильных местоположениях. Все остальные местоположения, т.е. DRS Symbols и неизвестные местоположения символов данных, должны быть представлены 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 столбцов, содержащей индексы блоков физических ресурсов (PRB) на основе 0, соответствующие выделениям ресурсов для этого PUSCH.

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

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

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

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

Оценка канала, заданная как 4-D числовой массив размера M-by-N-by-NRxAntsоколо-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