exponenta event banner

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

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

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

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

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

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

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

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

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

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

Использовать wavefun чтобы подтвердить это. Для ортогональных и биоргональных вейвлетов wavefun работает путем обращения алгоритма Маллата. В частности, алгоритм начинается с одного вейвлета или коэффициента масштабирования на самом высоком уровне разрешения и восстанавливает вейвлет или функцию масштабирования до указанного самого высокого уровня разрешения. Обычно от 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. Axes 1 with title Bior3.7 Scaling Functions contains 2 objects of type line. These objects represent Decomposition, Reconstruction. Axes 2 with title Bior3.7 Wavelets contains 2 objects of type line. These objects represent Decomposition, Reconstruction.

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