В этом примере показано, как создать приблизительно аналитические вейвлеты с использованием комплексного вейвлетного преобразования с двойным деревом. Фильтры FIR в двух банках фильтров должны быть тщательно сконструированы, чтобы получить приблизительно аналитическое вейвлет-преобразование и получить преимущества преобразования с двойным деревом.
Создайте нулевой сигнал длиной 256 выборок. Получите два преобразования двойного дерева нулевого сигнала до уровня 5. По умолчанию dualtree использует пару околосимметричных биортогональных фильтров по умолчанию nearsym5_7 для уровня 1 и пары ортогональных Q-сдвиговых гильбертовых вейвлет-фильтров длиной 10 для уровней, превышающих 1.
x = zeros(256,1); [a1,d1] = dualtree(x,'Level',5); [a2,d2] = dualtree(x,'Level',5);
Установите один коэффициент детализации уровня 5 в каждом из двух деревьев для 1 и инвертирования преобразования для получения вейвлетов.
d1{5}(5) = 1;
d2{5}(5) = 1i;
wav1 = idualtree(a1,d1);
wav2 = idualtree(a2,d2);Сформируйте сложный вейвлет, используя первое дерево в качестве действительной части, а второе дерево в качестве воображаемой части.
analwav = wav1+1i*wav2; plot(real(analwav)) hold on plot(imag(analwav),'r') plot(abs(analwav),'k','linewidth',2) axis tight legend('Real part','Imaginary part','Magnitude','Location','Northwest')

Фурье преобразует аналитический вейвлет и строит график величины.
zdft = fft(analwav); domega = (2*pi)/length(analwav); omega = 0:domega:(2*pi)-domega; clf; plot(omega,abs(zdft)) xlabel('Radians/Sample') axis tight

Преобразование Фурье вейвлета имеет поддержку по существу только на половине частотной оси.