pat2cwav

Создайте вейвлет из шаблона

Описание

пример

[psi,xval,nc] = pat2cwav(ypat,method,poldegree,regularity) возвращает допустимый вейвлет psi для непрерывного вейвлет (CWT), адаптированного к шаблону ypat. Область вейвлета psi оценивается в xval, регулярная сетка в интервале [0,1] и имеет L2-norm, равную 1.

Постоянная nc таков, что nc×psi аппроксимирует ypat на интервале [0,1] методом наименьших квадратов подбора кривой используя метод, заданный как method, и полином степени poldegree с граничными ограничениями, заданными regularity.

Примеры

свернуть все

Этот пример иллюстрирует, как сгенерировать новый вейвлет, начиная с шаблона.

Принцип разработки нового вейвлета для CWT состоит в том, чтобы аппроксимировать данный шаблон, используя оптимизацию методом наименьших квадратов под ограничениями, приводящими к допустимому вейвлету, хорошо подходящему для обнаружения шаблона с помощью непрерывного вейвлет-преобразования [1].

Загрузка и построение шаблона.

load ptpssin1
plot(X,Y)
grid on
title('Original Pattern')

Figure contains an axes. The axes with title Original Pattern contains an object of type line.

Интегрируйте шаблон через интервал. Интеграл не равен 0. Однако шаблон является хорошим кандидатом, поскольку он колеблется как вейвлет.

dX = X(2)-X(1);
patternInt = dX*sum(Y);
disp(['Integral: ',num2str(patternInt)]);
Integral: 0.15915

Чтобы синтезировать новый вейвлет, адаптированный к данному шаблону, используйте полиномиальное приближение степени 6 с наименьшими квадратами с ограничениями непрерывности в начале и конце шаблона.

[psi,xval,nc] = pat2cwav(Y,'polynomial',6,'continuous');

Постройте график нового вейвлета.

plot(X,Y,'-',xval,nc*psi,'--')
grid on
legend('Original Pattern','Adapted Wavelet','Location','NorthWest')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Original Pattern, Adapted Wavelet.

Проверяйте это psi удовлетворяет определению вейвлет, подтверждая, что он интегрируется в нуль и имеет L2 норма равна 1.

dxval = xval(2)-xval(1);
psiIntegral = dxval*sum(psi);
disp(['Integral: ',num2str(psiIntegral)])
Integral: 1.9626e-05
psiSqN = dxval*sum(psi.^2);
disp(['L2-norm: ',num2str(psiSqN)])
L2-norm: 1

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

свернуть все

Шаблон для аппроксимации, заданный как действительный вектор.

Метод аппроксимации методом наименьших квадратов для аппроксимации шаблона, заданный как один из следующих:

  • 'polynomial' - Используйте полином степени poldegree

  • 'orthconst' - Используйте проекцию на пространство функций, ортогональных константам

Примечание

Определение 'orthconst' опция не создает ортогональный вейвлет. Любая вейвлет- psi произведенное с использованием pat2cwav является вейвлет типа 4 (вейвлет без функции масштабирования) в wavemngr.

Степень полинома для использования в наименьших квадратах подбора кривой, заданная в виде целого числа.

Граничные ограничения в точках 0 и 1, заданные как 'continuous', 'differentiable', или 'none'. Когда method равно 'polynomial':

  • Если regularity равно 'continuous', poldegree должно быть больше или равно 3.

  • Если regularity равно 'differentiable', poldegree должно быть больше или равно 5.

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

свернуть все

Допустимый вейвлет для CWT, возвращенный как реальный вектор. Длина psi равен длине ypat. Область вейвлета psi интегрируется в нуль и имеет L2-norm, равную 1.

Моменты дискретизации, где psi оценивается, возвращается как действительный вектор. Моменты дискретизации xval являются регулярной сеткой n -точкой, охватывающей интервал [0,1], где n - длина ypat: xval = linspace (0,1, length (ypat)).

Нормализующая константа, возвращается как скаляр. Постоянная nc таков, что nc×psi аппроксимирует ypat на интервале [0,1] методом наименьших квадратов подбора кривой используя метод, заданный как method.

Ссылки

[1] Misiti, M., Y. Misiti, G. Oppenheim, and J.-M. Погги. Les ondelettes et использует приложения. Франция: Hermes Science/Lavoisier, 2003.

См. также

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте