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

Этот пример использует wavefun продемонстрировать, как номер исчезающих моментов в биоортогональной паре фильтра влияет на гладкость соответствующей двойной функции масштабирования и вейвлета. В то время как этот пример использует wavefun для биоортогонального вейвлета, 'bior3.7', можно также использовать wavefun получить ортогональное масштабирование и функции вейвлета.

Во-первых, получите масштабирование и фильтры вейвлета и посмотрите на номер исчезающих моментов в вейвлетах. Это эквивалентно рассмотрению количества нулей в-1+i0 в двойном фильтре.

[LoD,HiD,LoR,HiR] = wfilters('bior3.7');

Если у вас есть Signal Processing Toolbox™, можно использовать zplane смотреть на количество нулей в-1+i0 и для фильтров разложения и для реконструкции.

zplane(LoD); title('Decomposition Filter');

Figure contains an axes object. The axes object with title Decomposition Filter contains 4 objects of type line, text.

figure;
zplane(LoR); title('Reconstruction Filter');

Figure contains an axes object. The axes object with title Reconstruction Filter contains 5 objects of type line, text.

Если вы увеличиваете масштаб области вокруг-1+i0, вы находите, что существует 7 нулей в фильтре разложения и 3 нуля в фильтре реконструкции. Это имеет важные последствия для гладкости соответствующих функций масштабирования и вейвлетов. Для биоортогональных вейвлетов, чем больше нулей в-1+i0 в фильтре lowpass, тем более сглаженны противоположная функция масштабирования и вейвлет. Другими словами, больше нулей в фильтре разложения подразумевает более сглаженную функцию масштабирования реконструкции и вейвлет. С другой стороны, больше нулей в фильтре реконструкции подразумевает более сглаженную функцию масштабирования разложения и вейвлет.

Используйте wavefun подтвердить это. Для ортогональных и биоортогональных вейвлетов, wavefun работает путем инвертирования алгоритма Mallat. А именно, алгоритм запускается с одного вейвлета или масштабного коэффициента на самом грубом уровне разрешения и восстанавливает вейвлет или масштабирующий функцию к заданному самому прекрасному уровню разрешения. Обычно 8 - 10 уровней достаточны, чтобы получить точное представление масштабирующейся функции и вейвлета.

[phiD,psiD,phiR,psiR] = wavefun('bior3.7',10);
subplot(2,1,1)
plot([phiD' phiR']); grid on;
title('Bior3.7 Scaling Functions');
legend('Decomposition','Reconstruction');
subplot(2,1,2)
plot([psiD' psiR']); grid on;
title('Bior3.7 Wavelets');
legend('Decomposition','Reconstruction');

Figure contains 2 axes objects. Axes object 1 with title Bior3.7 Scaling Functions contains 2 objects of type line. These objects represent Decomposition, Reconstruction. Axes object 2 with title Bior3.7 Wavelets contains 2 objects of type line. These objects represent Decomposition, Reconstruction.

Поскольку существует более двух раз количество нулей в-1+i0 для фильтра разложения lowpass, двойное (реконструкция), функция масштабирования и вейвлет намного более сглаженны, чем анализ (разложение) функция масштабирования и вейвлет.