lteExtractResources

Извлечение ресурсных элементов

Описание

[re,reind] = lteExtractResources(ind,grid) элементы ресурса извлечений re их индексы reind от массива ресурса grid использование индексов элементов ресурса ind. Можно извлечь элементы ресурса из сетки ресурса с различной размерностью, чем сетка ресурса, обращенная индексами. Заданные индексы и возвратились, находятся в линейной форме индексации на основе 1. Другие опции индексации доступны. Процесс экстракции ресурса далее объяснен в Алгоритмах.

В LTE Toolbox™ индексы сгенерированы для отображения последовательностей физического канала и символов сигнала к сетке ресурса. Эти индексы сгенерированы с помощью канала - или функции сигнала специфичные и обращаются к элементам ресурса в измеренном массиве, M-by-N-by-P. M является количеством поднесущих, N является количеством OFDM или символов SC-FDMA, и P является количеством плоскостей. Схема подсвечивает элементы ресурса сетки ресурса, обращенной индексами, ind. Индексы находятся в линейной форме индексации на основе 1. P = 2 является количеством портов антенны.

Обычно массив ресурса извлекает элементы ресурса из одного из следующего:

  • 3-D полученная сетка, измеренный M-by-N-by-NRxAnts. NRxAnts является количеством, получают антенны. Эта сетка создается после демодуляции SC-FDMA или OFDM.

  • Сетка оценки канала 4-D, измеренный M-by-N-by-NRxAnts-by-P. Эта сетка создается функциями оценки канала (отошлите Оценку Канала).

Можно описать размер 3D полученной сетки как 4D сетка, которая имеет запаздывающую одноэлементную размерность.

пример

[re1,re2,...,reN,reind1,reind2, ...,reindN]= lteExtractResources(ind,grid1,grid2, ...,gridN) элементы ресурса извлечений от нескольких массивов ресурса с помощью индексов ind.

re = lteExtractResources(___,opts) задает формат индексов и метода экстракции, используемого с массивом ячеек опций, opts.

Примеры

свернуть все

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

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

enb = lteRMCDL('R.12');
enb.TotSubframes = 1;
txWaveform = lteRMCDLTool(enb,[1;0;0;1]);

Получите сумму форм волны антенны передачи на три, получают антенны.

NRxAnts = 3;
rxWaveform = repmat(sum(txWaveform,2),1,NRxAnts);
rxGrid = lteOFDMDemodulate(enb,rxWaveform);

Вычислите оценку канала.

cec.FreqWindow = 1;
cec.TimeWindow = 1;
cec.InterpType = 'cubic';
cec.PilotAverage = 'UserDefined';
cec.InterpWinSize = 3;
cec.InterpWindow = 'Causal';
[hEstGrid,nEst] = lteDLChannelEstimate(enb,cec,rxGrid);

Сгенерируйте индексы PDCCH и извлеките символы из полученного и оценочных сеток канала при подготовке к декодированию PDCCH.

ind = ltePDCCHIndices(enb);
[pdcchRxSym,pdcchHestSym] = lteExtractResources(ind,rxGrid,hEstGrid);

pdcchRxSym является измеренный NRE-by-NRxAnts и pdcchHestSym измеренный NRE-by-NRxAnts-by-CellRefP.

rxSymSize = size(pdcchRxSym)
rxSymSize = 1×2

   212     3

hestSymSize = size(pdcchHestSym)
hestSymSize = 1×3

   212     3     4

Декодируйте PDCCH с извлеченными элементами ресурса.

pdcchBits = ltePDCCHDecode(enb,pdcchRxSym,pdcchHestSym,nEst);

Ресурсы извлечения от 3D получают сетку и 4D оценочная сетка канала. Покажите местоположение индексов в сетке.

Размеры Setup сеток: [M N P] и [M N NRxAnts P], где M является количеством поднесущих, N является количеством символов OFDM, NRxAnts является количеством rx антенн, и P является количеством tx антенн.

M = 4;
N = 4;
P = 2;
NRxAnts = 3;

Создайте индексы и покажите местоположения в сетке передачи, обращенной этими индексами. Как вы заметите, различные элементы ресурса обращены на каждом порте антенны. Обращенные местоположения элемента ресурса содержат 1.

ind = [6 22; 16 29];
txGrid = zeros(M,N,P);
txGrid(ind) = 1;

Визуализируйте местоположения индексируемых элементов ресурса в сетке передачи.

visualizeGrid = zeros(M+1,N+1,P);
visualizeGrid(1:M,1:N,:) = txGrid;

figure

subplot(321)
pcolor(visualizeGrid(:,:,1))
title('Port: 1')
xlabel('N')
ylabel('M')

subplot(323)
pcolor(visualizeGrid(:,:,2))
title('Port: 2')
xlabel('N')
ylabel('M')

Создайте 3D полученную сетку, чтобы извлечь элементы ресурса. Извлеките элементы ресурса из полученной сетки. Покажите местоположения этих извлеченных элементов ресурса. Обращенные местоположения элемента ресурса содержат 1.

rxGrid = zeros(M,N,NRxAnts);

[re, indOut] = lteExtractResources(ind,rxGrid);
rxGrid(indOut) = 1;

Визуализируйте местоположения индексируемых элементов ресурса в получить сетке.

figure
visualizeGrid = zeros(M+1,N+1,NRxAnts);
visualizeGrid(1:M,1:N,:) = rxGrid;

subplot(321)
pcolor(visualizeGrid(:,:,1))
title('Allplanes, RxAnt: 1');
xlabel('N')
ylabel('M')

subplot(323)
pcolor(visualizeGrid(:,:,2))
title('Allplanes, RxAnt: 2')
xlabel('N')
ylabel('M')

subplot(325)
pcolor(visualizeGrid(:,:,3))
title('Allplanes, RxAnt: 3')
xlabel('N')
ylabel('M')

Создайте 4D оценочная сетка канала, чтобы извлечь элементы ресурса. Извлеките элементы ресурса из оценочной сетки канала. Покажите местоположения этих извлеченных элементов ресурса. Обращенные местоположения элемента ресурса содержат 1.

hEstGrid = zeros(M,N,NRxAnts,P);

[re, indOut] = lteExtractResources(ind,hEstGrid);
hEstGrid(indOut) = 1;

Визуализируйте местоположения элементов ресурса, извлеченных с помощью 'allplanes' режим от 3D получает сетку.

figure;
visualizeGrid = zeros(M+1,N+1,NRxAnts,P);
visualizeGrid(1:M,1:N,:,:) = hEstGrid;

subplot(321)
pcolor(visualizeGrid(:,:,1,1))
title('Allplanes, RxAnt: 1, Port: 1')
xlabel('N')
ylabel('M')

subplot(323)
pcolor(visualizeGrid(:,:,2,1))
title('Allplanes, RxAnt: 2, Port: 1')
xlabel('N')
ylabel('M')

subplot(325)
pcolor(visualizeGrid(:,:,3,1))
title('Allplanes, RxAnt: 3, Port: 1')
xlabel('N')
ylabel('M')

subplot(322)
pcolor(visualizeGrid(:,:,1,2))
title('Allplanes, RxAnt: 1, Port: 2')
xlabel('N')
ylabel('M')

subplot(324)
pcolor(visualizeGrid(:,:,2,2))
title('Allplanes, RxAnt: 2, Port: 2')
xlabel('N')
ylabel('M')

subplot(326)
pcolor(visualizeGrid(:,:,3,2))
title('Allplanes, RxAnt: 3, Port: 2')
xlabel('N')
ylabel('M')

Создайте 4D оценочная сетка канала, чтобы извлечь элементы ресурса. Извлеките элементы ресурса из оценочной сетки канала с помощью 'direct' режим экстракции. Покажите местоположения этих извлеченных элементов ресурса. Обращенные местоположения элемента ресурса содержат 1.

hEstGridDirect = zeros(M,N,NRxAnts,P);

[re, indOut] = lteExtractResources(ind,hEstGridDirect,'direct');
hEstGridDirect(indOut) = 1;

Визуализируйте местоположения элементов ресурса, извлеченных с помощью 'direct' режим от 4D образовывает канал оценочная сетка.

figure
visualizeGrid = zeros(M+1,N+1,NRxAnts,P);
visualizeGrid(1:M,1:N,:,:) = hEstGridDirect;

subplot(321)
pcolor(visualizeGrid(:,:,1,1))
title('Direct, RxAnt: 1, Port: 1')
xlabel('N')
ylabel('M')

subplot(323)
pcolor(visualizeGrid(:,:,2,1))
title('Direct, RxAnt: 1, Port: 1')
xlabel('N')
ylabel('M')

subplot(325)
pcolor(visualizeGrid(:,:,3,1))
title('Direct, RxAnt: 1, Port: 1')
xlabel('N')
ylabel('M')

subplot(322)
pcolor(visualizeGrid(:,:,1,2))
title('Direct, RxAnt: 1, Port: 1')
xlabel('N')
ylabel('M')

subplot(324)
pcolor(visualizeGrid(:,:,2,2))
title('Direct, RxAnt: 1, Port: 1')
xlabel('N')
ylabel('M')

subplot(326)
pcolor(visualizeGrid(:,:,3,2))
title('Direct, RxAnt: 1, Port: 1')
xlabel('N')
ylabel('M')

Используйте 'direct' и 'allplanes' методы экстракции и индексы индекса, чтобы извлечь символы специфичного для ячейки опорного сигнала (CRS) в поднесущей 7 от grid.

Сгенерируйте сетку ресурса и индексы CRS в форме индекса: [поднесущая, символ OFDM, порт CRS].

enb = lteRMCDL('R.12');
enb.TotSubframes = 1;
enb.CellRefP = 2;
enb.PDSCH.NLayers = 2;
[waveform,grid] = lteRMCDLTool(enb,[1;0;0;1]);
crsInd = lteCellRSIndices(enb,'sub');

Существует 2 элемента ресурса, используемые на портах CRS 1 & 2; все находятся на различных символах OFDM (1, 5, 8, 12).

crsIndSC7 = crsInd(crsInd(:,1)==7,:)
crsIndSC7 = 4x3 uint32 matrix

    7    1    1
    7    8    1
    7    5    2
    7   12    2

Используйте 'direct' метод, чтобы извлечь элементы ресурса. Извлеченные индексы элемента ресурса - то же самое как сгенерированные индексы CRS как массив ресурса, индексированный crsInd в grid.

[dirREs,dirInd] = lteExtractResources(crsInd,grid,{'direct','sub'});
directIndSC7 = dirInd(dirInd(:,1)==7,:)
directIndSC7 = 4x3 uint32 matrix

    7    1    1
    7    8    1
    7    5    2
    7   12    2

Используйте 'allplanes' метод, чтобы извлечь элементы ресурса. Существует 4 извлеченных индекса CRS согласно порту CRS на поднесущей 7. Индексы обращаясь к уникальным символам OFDM в индексируемой сетке ресурса используются, чтобы извлечь элементы ресурса из всех портов CRS в 'grid. Поэтому индексы извлечены в символах OFDM (1, 5, 8,12) на обоих портах CRS.

[apREs,apInd] = lteExtractResources(crsInd,grid,{'allplanes','sub'});
allPlanesIndSC7 = apInd(apInd(:,1)==7,:)
allPlanesIndSC7 = 8x3 uint32 matrix

    7    1    1
    7    8    1
    7    5    1
    7   12    1
    7    1    2
    7    8    2
    7    5    2
    7   12    2

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

свернуть все

Индексы элементов ресурса в виде числового массива. Индексы обращаются к элементам N-by-M-by-P массив ресурса. M является количеством поднесущих, N является количеством OFDM или символов SC-FDMA, и P является количеством плоскостей.

Если вы указываете элемент этого массива как значение, больше, чем число элементов в grid введите, функция использует значение mod(ind,numel(grid)).

Массив ресурса в виде 3-D или 4-D числового массива. Обычно массив ресурса, чтобы извлечь элементы ресурса из в одном из следующего:

  • 3-D полученная сетка, измеренный M-by-N-by-NRxAnts. NRxAnts является количеством, получают антенны. Эта сетка создается после демодуляции SC-FDMA или OFDM.

  • Сетка оценки канала 4–D, измеренный M-by-N-by-NRxAnts-by-P. Эта сетка создается функциями оценки канала (отошлите Оценку Канала).

Можно описать размер 3D полученной сетки как 4D сетка, которая имеет запаздывающую одноэлементную размерность.

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

Опции экстракции элементов ресурса в виде вектора символов, массива ячеек из символьных векторов или массива строк. Значения для opts когда задано как вектор символов включают (используйте двойные кавычки для строки):

Поле параметраТребуемый или дополнительныйЗначенияОписание
Indexing StyleНеобходимый'ind' (значение по умолчанию) или 'sub'

Индексируя стиль заданных или возвращенных индексов, ind и reindВ виде одной из следующих опций:

  • 'ind' — линейная форма индекса

  • 'sub' — форма индекса

Index BaseНеобходимый'1based' (значение по умолчанию) или '0based'

Базовое значение заданных или возвращенных индексов, ind и reindВ виде одной из следующих опций:

  • '1based' — первое значение последовательности индекса является тем

  • '0based' — первое значение последовательности индекса является нулем

Extraction MethodНеобходимый'allplanes' (значение по умолчанию) или 'direct'

Методы экстракции элемента ресурса. Методы описаны в Алгоритмах.

  • 'allplanes' — индексы использования, обращаясь к уникальной поднесущей и местоположению символа по всем плоскостям индексируемого массива ресурса для экстракции.

  • 'direct' — только элементы ресурса, относящиеся к каждой плоскости индексируемой сетки ресурса, извлечены.

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

свернуть все

Извлеченные элементы ресурса, возвращенные как вектор-столбец или числовой массив.

Когда 'allplanes' метод экстракции используется, извлеченный массив элементов ресурса имеет размер N RE NRxAnts P где:

  • РЕ N является количеством элементов ресурса на M-by-N плоскость grid.

  • M является количеством поднесущих.

  • N является количеством символов SC-FDMA или OFDM.

  • P является количеством плоскостей.

При использовании 'direct' метод экстракции, размер извлеченного массива элементов ресурса, re, зависит от количества индексов, обращаясь к каждой плоскости индексируемой исходной сетки:

  • Если то же количество индексов обращается к каждой плоскости затем re имеет размер N RE NRxAnts P.

  • Если различное количество индексов обращается к каждой плоскости затем re вектор-столбец, содержащий все извлеченные элементы ресурса.

Индексы извлеченных элементов ресурса в grid, возвращенный как числовой массив. reind одного размера с извлеченным массивом элементов ресурса re.

Алгоритмы

свернуть все

lteExtractResources может извлечь элементы ресурса с помощью одного из двух методов. 'allplanes' метод используется по умолчанию. Можно опционально задать 'direct' метод экстракции.

Весь метод экстракции плоскостей

'allplanes' метод извлекает элементы ресурса из каждого M-by-N плоскость в grid использование индексов, которые обращаются к уникальной поднесущей и местоположениям символа по всем плоскостям индексируемого массива ресурса.

Следующие схемы иллюстрируют процесс экстракции ресурса для 3D полученной сетки и 4D сетка оценки канала. Пример, Ресурсы Извлечения От 3D Получают Сетку и 4D, Оценочная Сетка Канала воссоздает эти схемы.

Индексы, обращенные уникальной поднесущей и местоположениями символа через все плоскости индексируемой насмешки ресурса, используются для экстракции. Схема подсвечивает, что индексы, используемые, чтобы извлечь элементы ресурса, обращаются к сетке ресурса с P = 2. В этом случае P является количеством портов антенны.

Элементы ресурса извлечены из grid в символе и местоположениях поднесущей. Следующие схемы иллюстрируют экстракцию элемента ресурса от 3D полученной сетки, grid, с NRxAnts = 3.

Следующая схема показывает процесс экстракции для 4D оценочная сетка канала, grid, с NRxAnts = 3 и P= 2. В этом случае P является номером для портов антенны. 4D сетка ресурса состоит из P M-by-N-by-NRxAnts массивы, каждый сопоставленный с портом антенны. Элементы ресурса извлечены из всех плоскостей в этих массивах.

Прямой метод экстракции

'direct' метод извлекает элементы ресурса из grid учитывая, что третья и четвертая размерность grid представляет то же свойство как плоскости индексируемого массива ресурса, такие как порты антенны, слои, антенны передачи. Поэтому единственные элементы ресурса, относящиеся к каждой плоскости индексируемой сетки ресурса, извлечены:

  • Для 3D grid, 'direct' метод извлекает элементы из каждого M-by-N плоскость grid использование индексов, обращаясь к той же плоскости индексируемого массива ресурса. Это совпадает со стандартной операцией re MATLAB® = grid(ind). Поэтому reind = ind.

  • Для 4D grid, 'direct' метод извлекает элементы из каждого M-by-N-by-NRxAnts массив grid использование индексов, обращаясь к той же плоскости индексируемого массива ресурса. Поэтому это принято, свойство, представленное плоскостями индексируемого массива ресурса, совпадает с четвертой размерностью grid.

Экстракция 4D сетка оценки, grid, использование 'direct' метод проиллюстрирован в следующей схеме с NRxAnts = 3 и P= 2, который является количеством портов антенны. 4D сетка ресурса состоит из P M-by-N-by-NRxAnts массивы, каждый сопоставленный с портом антенны. Поэтому индексы, соответствующие каждому отдельному порту антенны в индексируемом массиве ресурса, используются, чтобы извлечь элементы ресурса из каждого из этих массивов. Пример, Ресурсы Извлечения От 3D Получают Сетку и 4D, Оценочная Сетка Канала создает версию этой схемы.

Введенный в R2014b