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. Эта сетка создается функциями оценки канала (отошлите Оценку Канала).

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

пример

[re1,...,reK,reind1,...,reindK] = lteExtractResources(ind,grid1,...,gridK) элементы ресурса извлечений от массивов ресурса K при помощи заданных индексов элемента ресурса.

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')

Figure contains 2 axes. Axes 1 with title Port: 1 contains an object of type surface. Axes 2 with title Port: 2 contains an object of type surface.

Создайте 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')

Figure contains 3 axes. Axes 1 with title Allplanes, RxAnt: 1 contains an object of type surface. Axes 2 with title Allplanes, RxAnt: 2 contains an object of type surface. Axes 3 with title Allplanes, RxAnt: 3 contains an object of type surface.

Создайте 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')

Figure contains 6 axes. Axes 1 with title Allplanes, RxAnt: 1, Port: 1 contains an object of type surface. Axes 2 with title Allplanes, RxAnt: 2, Port: 1 contains an object of type surface. Axes 3 with title Allplanes, RxAnt: 3, Port: 1 contains an object of type surface. Axes 4 with title Allplanes, RxAnt: 1, Port: 2 contains an object of type surface. Axes 5 with title Allplanes, RxAnt: 2, Port: 2 contains an object of type surface. Axes 6 with title Allplanes, RxAnt: 3, Port: 2 contains an object of type surface.

Создайте 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')

Figure contains 6 axes. Axes 1 with title Direct, RxAnt: 1, Port: 1 contains an object of type surface. Axes 2 with title Direct, RxAnt: 1, Port: 1 contains an object of type surface. Axes 3 with title Direct, RxAnt: 1, Port: 1 contains an object of type surface. Axes 4 with title Direct, RxAnt: 1, Port: 1 contains an object of type surface. Axes 5 with title Direct, RxAnt: 1, Port: 1 contains an object of type surface. Axes 6 with title Direct, RxAnt: 1, Port: 1 contains an object of type surface.

Используйте '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