wavefun

Вейвлет и функции масштабирования

Описание

пример

[phi,psi,xval] = wavefun(wname,iter) возвращает psi и phi, приближения вейвлет-функции и функции масштабирования, соответственно, сопоставленные с ортогональным вейвлетом wnameили вейвлет Майера. Приближения оцениваются по точкам сетки xval. Положительное целое число iter задает количество вычисленных итераций.

[phi1,psi1,phi2,psi2,xval] = wavefun(wname,iter) возвращает приближения вейвлет и масштабирующих функций, сопоставленных с биортогональным вейвлетом wname. Вейвлет и масштабирование приближений функций psi1 и phi1, соответственно, предназначены для разложения. Вейвлет и масштабирование приближений функций psi2 и phi2, соответственно, предназначены для реконструкции.

[psi,xval] = wavefun(wname,iter) возвращает вейвлет приближения psi для тех вейвлетов, которые не имеют связанной функции масштабирования, таких как Морлет, Мексиканская шляпа, Гауссовы производные вейвлеты или сложные вейвлеты.

пример

[___] = wavefun(wname,A,B) строит графики вейвлет и масштабирующих приближений функций, сгенерированных с помощью max (A,B) итераций. Выходные аргументы необязательны.

[___] = wavefun(wname,0) эквивалентно [___] = wavefun(wname,8,0).

[___] = wavefun(wname) эквивалентно [___] = wavefun(wname,8).

Примеры

свернуть все

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

Задайте количество итераций и имя вейвлета.

wname = 'sym4';
itr = 10;

Постройте кусочное приближение вейвлета, сгенерированного после одной итерации.

[~,psi,xval] = wavefun(wname,1);
plot(xval,psi,'x-')
grid on
title(['Approximation of ',wname,' Wavelet'])

Figure contains an axes. The axes with title Approximation of sym4 Wavelet contains an object of type line.

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

figure
for k=1:4
    [~,psi,xval] = wavefun(wname,k);
    subplot(2,2,k)
    plot(xval,psi,'x-')
    axis tight
    grid on
    title(['Number of Iterations: ',num2str(k)])
end

Figure contains 4 axes. Axes 1 with title Number of Iterations: 1 contains an object of type line. Axes 2 with title Number of Iterations: 2 contains an object of type line. Axes 3 with title Number of Iterations: 3 contains an object of type line. Axes 4 with title Number of Iterations: 4 contains an object of type line.

Теперь варьируйте количество итераций от одной до количества, заданного itr.

figure
for k=1:itr
    [~,psi,xval] = wavefun(wname,k);
    plot(xval,psi)
    hold on
end
grid on
title(['Approximations of ',wname,' for 1 to ',num2str(itr),' iterations'])

Figure contains an axes. The axes with title Approximations of sym4 for 1 to 10 iterations contains 10 objects of type line.

Этот пример показывает, как построить приближения масштабирования и вейвлет-функций, сопоставленных с биортогональным вейвлетом.

Задайте имя биортогонального вейвлета.

wname = 'bior3.7';

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

wavefun(wname,0);

Figure contains 4 axes. Axes 1 with title bior3.7 : phi dec. contains an object of type line. Axes 2 with title bior3.7 : psi dec. contains an object of type line. Axes 3 with title bior3.7 : phi rec. contains an object of type line. Axes 4 with title bior3.7 : psi rec. contains an object of type line.

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

свернуть все

Вейвлет, заданный как вектор символов или строковый скаляр. Посмотрите waveinfo для вейвлетов доступных.

Количество итераций, используемых для генерации вейвлет- приближения функций и масштабирования, заданное в виде положительного целого числа. Большие значения iter увеличьте уточнение приближений.

Итерация, заданная как пара положительных целых чисел. Количество итераций равно max(A,B).

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

свернуть все

Масштабирование приближения функций, возвращается как вектор.

Вейвлет приближения, возвращается как вектор. В зависимости от wname, psi может быть реальным или комплексным вектором.

Приближения масштабирования разложения и вейвлет, соответственно, сопоставлены с биортогональным вейвлет- wname, возвращенный как векторы с реальным значением.

Приближения масштабирования реконструкции и вейвлет, соответственно, сопоставлены с биортогональным вейвлет- wname, возвращенный как векторы с реальным значением.

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

Алгоритмы

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

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

Начнем с функции масштабирования

Так как ϕ также равен ϕ0,0, эта функция характеризуется следующими коэффициентами в ортогональной среде:

  • < и 0,n > = 1, если n = 0 и равно 0 в противном случае

  • <ϕ, ψ <reservedrangesplaceholder2>> = 0 для положительного j и весь k.

Это расширение можно рассматривать как структуру вейвлет. Коэффициенты детализации являются нулями, а коэффициенты приближения - нулями, кроме единицы, равной 1.

Затем мы используем алгоритм реконструкции, чтобы аппроксимировать функцию по диадической сетке, согласно следующему результату:

Для любого диадического рационального вида x = n 2−j в котором функция непрерывна и где j достаточно велика, у нас есть точечная сходимость и

где C является константой, а α является положительной константой в зависимости от регулярности вейвлета.

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

Таким образом, используя J-ступенчатую схему реконструкции, мы получаем приближение, которое сходится экспоненциально к, когда J переходит к бесконечности.

Приближения вычисляются по сетке диадических рационалов, покрывающих поддержку функции, которая будет аппроксимирована.

Так как масштабированная версия функции вейвлета в ϕ−1,<reservedrangesplaceholder1> (n)) также может быть расширена, та же схема может использоваться, после одноуровневой реконструкции, начиная с соответствующей структуры вейвлета разложения. Приближения являются нулями, а коэффициенты детализации - нулями, кроме единицы, равной 1.

Для биортогональных вейвлеты же идеи могут быть применены к каждой из двух мультирезолюционных схем в двойственности.

Примечание

Этот алгоритм может различаться, если функция, которая будет аппроксимирована, не непрерывна на диадических рационалах.

Ссылки

[1] Daubechies, I. Ten Lectures on Wavelets. Серия региональных конференций CBMS-NSF по прикладной математике. Филадельфия, Пенсильвания: Общество промышленной и прикладной математики, 1992.

[2] Странг, Г. и Т. Нгуен. Вейвлеты и банки фильтров. Wellesley, MA: Wellesley-Cambridge Press, 1996.

См. также

| |

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