pat2cwav

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

Описание

пример

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

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

Примеры

свернуть все

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

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

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

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

Интегрируйте шаблон на интервале. Интеграл не равняется 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')

Проверяйте тот 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-норму, равную 1.

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

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

Ссылки

[1] Мизити, M., И. Мизити, Г. Оппенхейм и J.-M. Poggi. Приложения Les ondelettes et leurs. Франция: Гермес Science/Lavoisier, 2003.

Смотрите также

Представлено до R2006a