exponenta event banner

ompdecomp

Разложение сигнала с использованием поиска ортогонального согласования

Описание

[coeff,dictatom,atomidx,errnorm] = ompdecomp(X,dict) вычисляет матрицы разложения coeff и dictatom сигнала X. Произведение матриц разложения, dictatom x coeff, аппроксимирует X. Атомы в dictatom выбираются из dict. atomidx являются индексами в dict соответствующие dictatom. errnorm - ошибка разложения. Разложение основано на алгоритме ортогонального поиска совпадений (OMP), который минимизирует норму Фробениуса ||Xdictatom x coeff||.

пример

[coeff,dictatom,atomidx,errnorm] = ompdecomp(X,dict,'MaxSparsity',nm) также определяет максимальную разреженность nm.

[coeff,dictatom,atomidx,errnorm] = ompdecomp(X,dict,'NormWeight',wts) минимизирует взвешенную норму Фробениуса ||wts1/2(Xdictatom x coeff)|| с использованием весов wts.

Примеры

свернуть все

Учитывая набор оптимальных полноцифровых весов для формирования луча для 8-элементной однородной линейной матрицы, разложите весы на произведение аналоговых и цифровых весов для формирования луча. Предположим, что две радиочастотные цепи. Показать, что комбинированные веса достигают производительности, аналогичной оптимальным весам.

Укажите оптимальные полноцифровые веса для формирования луча.

wopt = steervec((0:7)*0.5,[20 -40]);

Создайте словарь управляющих векторов.

stvdict = steervec((0:7)*0.5,-90:90);

Выполните декомпозицию с помощью OMP. Установите максимальную разреженность равной двум.

[wbb,wrf,wdictidx,normerr] = ompdecomp(wopt,stvdict,'MaxSparsity',2);

Сравните диаграммы направленности, полученные из оптимальных весов и гибридных весов. График показывает, что разложение wopt в wrf и wbb почти точно.

plot(-90:90,abs(sum(wopt'*stvdict)),'-', ...
    -90:90,abs(sum((wrf*wbb)'*stvdict)),'--','LineWidth',2)
xlabel('Angles (degrees)')
ylabel('Amplitude')
legend('Optimal','Hybrid')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Optimal, Hybrid.

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

свернуть все

Входные данные, подлежащие разложению, задаются как комплексная матрица N-by-Nc.

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

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

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

Максимальная разреженность разложения, заданная как положительное целое число. Разложение прекращается, когда разреженность nm достигается.

Пример: 5

Зависимости

Используйте этот аргумент с указанием синтаксиса 'MaxSparsity'.

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

Веса норм, используемые OMP для минимизации взвешенной нормы Фробениуса ||wts1/2 x (Xdictatom x coeff)||, заданную как комплексная матрица N-на-N.

Пример: 5

Зависимости

Используйте этот аргумент с указанием синтаксиса 'NormWeight'.

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

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

свернуть все

Коэффициенты базисных атомов, возвращаемые в виде матрицы Ns-by-Nc. Строки представляют коэффициенты для соответствующих атомов в dictatom. Ns представляет количество атомов, выбранных из словаря, и является мерой разреженности сигнала.

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

Атомы базиса сигнала, возвращенные в виде матрицы N-by-Ns. Колонки представляют собой атомы, составляющие основу сигнала. Эти атомы являются подмножеством словаря, указанного в dict. Ns представляет собой число выбранных атомов и является мерой разреженности сигнала.

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

Индексы атомов, выбранных из словаря dict, возвращается в виде вектора строки длины Ns, где dict(:,atomidx) = dictatom.

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

Норма ошибки разложения, возвращаемая как неотрицательный скаляр.

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

Подробнее

свернуть все

Гибридные веса для формирования луча

В контексте гибридного формирования луча coeff аргумент представляет цифровые веса. dictatom представляет аналоговые веса и dict представляет собой совокупность векторов рулевого управления, которые могут использоваться в качестве аналоговых весов.

Ссылки

[1] Ayach, Omar El et al. «Пространственно разреженное предварительное кодирование в системах MIMO миллиметровой волны» IEEE Trans on Wireless Communications. Том 13, № 3, март 2014 года.

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен в R2019b