wmpdictionary

Словарь для соответствия преследованию

Синтаксис

MPDICT = wmpdictionary(N)
[MPDICT,NBVECT] = wmpdictionary(N)
[MPDICT,NBVECT]= wmpdictionary(N,Name,Value)
[MPDICT,NBVECT,LST] = wmpdictionary(N,Name,Value)
[MPDICT,NBVECT,LST,LONGS] = wmpdictionary(N,Name,Value)

Описание

MPDICT = wmpdictionary(N) возвращает словарь N-на-P, MPDICT, для подсловарей по умолчанию {{'sym4',5},{'wpsym4',5},'dct','sin'}. Размерность столбца MPDICT зависит от N.

[MPDICT,NBVECT] = wmpdictionary(N) возвращает вектор-строку, NBVECT, который содержит количество векторов в каждом подсловаре. Порядок элементов в NBVECT соответствует порядку подсловарей и любых подготовленных или добавленных подсловарей. Сумма элементов в NBVECT - размерность столбца MPDICT.

[MPDICT,NBVECT]= wmpdictionary(N,Name,Value) возвращает словарь, MPDICT, с использованием дополнительных опций, заданных одним или несколькими Name,Value аргументы в виде пар.

[MPDICT,NBVECT,LST] = wmpdictionary(N,Name,Value) возвращает массив ячеек, LST, с описанием подсловарей.

[MPDICT,NBVECT,LST,LONGS] = wmpdictionary(N,Name,Value) возвращает массив ячеек, LONGS, содержащего количество векторов в каждом подсловаре. LONGS используется только для вейвлета подсловарей. В вейвлет соответствующий элемент в LONGS задает количество масштабирования функций на самом грубом уровне и вейвлете функций по уровням. Смотрите Визуализация словаря Wavelet Haar для примера, используя LONGS.

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

N

Положительное целое число, равное длине вашего входного сигнала. Атомы словаря сконструированы так, чтобы иметь N элементы. N равен размерности строки словаря, MPDICT.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

'addbeg'

Подготовленный подсловарь. Предварительно подготовленный подсловарь является матрицей N на M, где N - длина входного сигнала. wmpdictionary не проверяет, чтобы M- векторов-столбцов предварительно подготовленного словаря сформировали базис. Если вы не задаете значение для lstcpt, подсловарь подготовлен к словарю по умолчанию. Значение векторов-столбцов в подготовленном подсловаре не должно быть единичной нормой.

'addend'

Прилагаемый подсловарь. Добавленный подсловарь является матрицей N на M, где N - длина входного сигнала. wmpdictionary не проверяет, чтобы M- векторов-столбцов предварительно подготовленного словаря сформировали базис. Если вы не задаете значение для lstcpt, подсловарь добавляется к словарю по умолчанию. Значение векторов-столбцов в добавленном подсловаре не должно быть единичной нормой.

'lstcpt'

Массив ячеек из массивов ячеек с допустимыми подсловарями. Каждый массив ячеек описывает один подсловарь. Допустимыми подсловарями являются:

  • Допустимое краткое имя семейства Вейвлет Toolbox™ ортогональное или биортогональное имя семейства Вейвлет с количеством моментов исчезновения и опциональным уровнем разложения и режимом расширения. Для примера, {'sym4',5} обозначает наименее-асимметричный вейвлет Daubechies с 4 моментами исчезновения на уровне 5 и режимом расширения по умолчанию 'per'. Если вы не задаете дополнительный уровень и режим расширения, уровень разложения по умолчанию равен 5, и режим расширения равен 'per'.

  • Действительное ортогональное или биортогональное краткое имя семейства вейвлет Wavelet Toolbox, предшествующее wp с количеством моментов исчезновения и необязательным уровнем разложения и режимом расширения. Для примера, {'wpsym4',5} обозначает пакет наименьшего асимметричного вейвлета Daubechies с 4 моментами исчезновения на уровне 5. Если вы не задаете дополнительный уровень и режим расширения, уровень разложения по умолчанию равен 5, и режим расширения равен 'per'.

  • 'dct' Дискретное косинусоидное преобразование-II базис. DCT-II ортонормированного базиса:

    ϕk(n)={1Nk=02Ncos(πN(n+12)k)k=1,2,,N1

  • 'sin' Подсловарь синуса. Подсловарь синуса

    ϕk(t)=sin(2πkt)k=1,2,N20t1

    где t - вектор N -точка с линейными интервалами.

  • 'cos' Подсловарь косинуса. Подсловарь косинуса

    ϕk(t)=cos(2πkt)k=1,2,N20t1

    где t - вектор N -точка с линейными интервалами.

  • 'poly' Полиномиальный подсловарь. Полиномиальный подсловарь:

    pn(t)=tn1n=1,2,200t1

    где t - вектор N -точка с линейными интервалами.

  • 'RnIdent' Сдвинутый подсловарь дельты Кронекера. Сдвинутый подсловарь дельты Кронекера:

    ϕk(n)=δ(nk)k=0,1,N

По умолчанию: {{'sym4',5},{'wpsym4',5},'dct','sin'}

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

MPDICT

Соответствие словарю преследования. MPDICT - матрица N на P с размерностью строки, N, равной длине входного сигнала. Размерность столбца матрицы зависит от размера конкатенированных подсловарей.

NBVECT

Количество векторов в подсловарях. NBVECT - вектор-строка, содержащая количество элементов в каждом подсловаре. Порядок элементов в NBVECT соответствует порядку подсловарей и любых подготовленных или добавленных подсловарей.

LST

Массив ячеек, описывающий словарь. LST - 1-by-N массив ячеек, где N - количество подсловарей. Каждый элемент массива ячеек содержит описание подсловаря. Если вы задаете подготовленный или добавленный подсловарь, первый элемент LST является 'AddBeg' или 'AddEnd'. Если вы задаете уровень для вейвлет или вейвлет пакета, соответствующий элемент LST - массив ячеек 1 на 2, содержащий имя пакета вейвлет или вейвлет в первом элементе и уровень во втором элементе.

LONGS

Массив ячеек, содержащий количество элементов для каждого подсловаря. LONGS используется только для вейвлет. Если вы задаете вейвлет подсловарь, соответствующий элемент LONGS обеспечивает количество функций масштабирования на самом грубом уровне и количество вейвлеты на каждом уровне. Смотрите Визуализация словаря Wavelet Haar для примера, используя LONGS.

Примеры

свернуть все

Создайте словарь по умолчанию, чтобы представлять сигнал длины 100.

mpdict = wmpdictionary(100);

Создайте DCT и сдвинутый словарь дельты Кронекера, чтобы представлять сигнал длины 100.

mpdict = wmpdictionary(100,'lstcpt',{'dct','RnIdent'});

Создайте вейвлет Haar (уровень 2) и словарь DCT. Возвращает количество атомов в каждом подсловаре.

[mpdict,nbvect] = wmpdictionary(100,'lstcpt',{{'wphaar',2},'dct'});

Используйте longs выходной аргумент для визуализации словаря. Создайте словарь вейвлета Haar, состоящий из функций масштабирования уровня 2 и функций вейвлета уровня 1 и уровня 2. Пройдите график переведенных функций масштабирования и вейвлетов по уровням.

[mpdict,~,~,longs] = wmpdictionary(100,'lstcpt',{{'haar',2}});

for nn = 1:size(mpdict,2)
    if (nn<=longs{1}(1))
        plot(mpdict(:,nn),'k','linewidth',2)
        grid on
        xlabel('Translation')
        title('Haar Scaling Function - Level 2')
    elseif (nn>longs{1}(1) && nn<=longs{1}(1)+longs{1}(2))
        plot(mpdict(:,nn),'r','linewidth',2)
        grid on
        xlabel('Translation')
        title('Haar Wavelet - Level 2')
    else
        plot(mpdict(:,nn),'b','linewidth',2)
        grid on
        xlabel('Translation')
        title('Haar Wavelet - Level 1')
    end
    pause(0.2)
end

Эта анимация бесконечно петлет через все сгенерированные графики.

Подробнее о

свернуть все

Соответствующее преследование

Согласованное преследование относится к ряду жадных или слабожадных алгоритмов для вычисления адаптивного нелинейного расширения сигнала в словаре. В большинстве совпадающих приложений поиска словарь является избыточным набором векторов. Элементы словаря называются атомами и обычно сконструированы так, чтобы иметь определенные временные/частотные или временные/масштабные свойства. Matching pursuit берёт NP-трудную задачу нахождения лучшего нелинейного расширения в словаре и реализует его в энергосберегающей формулировке, которая гарантирует сходимость. Смотрите Соответствующие Алгоритмы Преследования для получения дополнительной информации.

Ссылки

[1] Cai, T.T. and L. Wang «Orthogonal Matching Pursuit for Sparse Signal Recovery With Noise». IEEE® Сделки по теории информации, т. 57, 7, 4680-4688, 2011.

[2] Donoho, D., M. Elad, and V. Temlyakov «Стабильное восстановление разреженных избыточных представлений при наличии шума». Транзакции IEEE по теории информации, 52,1, 6-18, 2004.

[3] Mallat, S. and Z. Zhang «Matching Pursuits with Time-Frequency Dictionary». Транзакции IEEE по обработке сигналов, том 41, 12, 3397-3415, 1993

[4] Tropp, J.A. «Жадность хороша: Алгоритмические результаты для разреженного приближения». Транзакции IEEE по теории информации, 50, стр. 2231-2242, 2004.

Введенный в R2012a