exponenta event banner

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 - количество приемных антенн. Эта сетка создается после демодуляции OFDM или SC-FDMA.

  • Сетка оценки 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. Отображение расположения индексов в сетке.

Установочные размеры решеток: [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');

На портах CRS 1 и 2 используются 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 input, функция использует значение mod(ind,numel(grid)).

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

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

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

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

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

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

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

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

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

  • 'sub' - форма подстрочного индекса

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

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

  • '1based' - первое значение индексной последовательности равно единице

  • '0based' - первое значение индексной последовательности равно нулю

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

Методы извлечения элемента ресурса. Методы описаны в разделе Алгоритмы.

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

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

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

свернуть все

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

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

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

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

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

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

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

  • Если одинаковое количество индексов относится к каждой плоскости, то re имеет размер NRE-by-NRxAnts-by-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 использование индексов, адресующих одну и ту же плоскость индексированного массива ресурсов. Это то же самое, что и стандартная операция MATLAB ®re = 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