Этот пример показывает, как создать приблизительно аналитические вейвлеты с помощью двухдревовидного комплексного вейвлет-преобразования. Фильтры конечной импульсной характеристики в двух банках фильтров должны быть тщательно построены в порядок, чтобы получить приблизительно аналитический вейвлет преобразование и получить преимущества двухдревовидного преобразования.
Создайте нулевой сигнал 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);
Установите один коэффициент детализации уровня пять в каждом из двух деревьев равным 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
Преобразование Фурье вейвлета имеет поддержку по существу только на половину оси частоты.