exponenta event banner

Наименьший асимметричный вейвлет и фаза

Для данной опоры ортогональный вейвлет с фазовым откликом, который больше всего напоминает линейный фазовый фильтр, называется наименее асимметричным. Симлеты являются примерами наименьших асимметричных вейвлетов. Они представляют собой модифицированные версии классических вейвлетов базы данных Daubechies. В этом примере показано, что symlet порядка 4 имеет почти линейный фазовый отклик, а вейвлет Daubechies порядка 4 - нет.

Сначала постройте график функций масштабирования порядка 4 symlet и порядка 4 Daubechies. Хотя ни один из них не является идеально симметричным, обратите внимание, насколько симлет более симметричен.

[phi_sym,~,xval_sym]=wavefun('sym4',10);
[phi_db,~,xval_db]=wavefun('db4',10);
subplot(2,1,1)
plot(xval_sym,phi_sym)
title('sym4 - Scaling Function')
grid on
subplot(2,1,2)
plot(xval_db,phi_db)
title('db4 - Scaling Function')
grid on

Figure contains 2 axes. Axes 1 with title sym4 - Scaling Function contains an object of type line. Axes 2 with title db4 - Scaling Function contains an object of type line.

Создайте фильтры, связанные с вейвлетами symlet и Daubechies порядка 4.

scal_sym = symaux(4,sqrt(2));
scal_db = dbaux(4,sqrt(2));

Вычислите частотную характеристику фильтров масштабирования синтеза.

[h_sym,w_sym] = freqz(scal_sym);
[h_db,w_db] = freqz(scal_db);

Чтобы избежать визуальных разрывов, разверните фазовые углы частотных откликов и постройте их график. Обратите внимание, насколько хорошо фазовый угол фильтра symlet аппроксимирует прямую линию.

h_sym_u = unwrap(angle(h_sym));
h_db_u = unwrap(angle(h_db));
figure
plot(w_sym/pi,h_sym_u,'.')
hold on
plot(w_sym([1 end])/pi,h_sym_u([1 end]),'r')
grid on
xlabel('Normalized Frequency ( x \pi rad/sample)')
ylabel('Phase (radians)')
legend('Phase Angle of Frequency Response','Straight Line')
title('Symlet Order 4 - Phase Angle')

Figure contains an axes. The axes with title Symlet Order 4 - Phase Angle contains 2 objects of type line. These objects represent Phase Angle of Frequency Response, Straight Line.

figure
plot(w_db/pi,h_db_u,'.')
hold on
plot(w_db([1 end])/pi,h_db_u([1 end]),'r')
grid on
xlabel('Normalized Frequency ( x \pi rad/sample)')
ylabel('Phase (radians)')
legend('Phase Angle of Frequency Response','Straight Line')
title('Daubechies Order 4 - Phase Angle')

Figure contains an axes. The axes with title Daubechies Order 4 - Phase Angle contains 2 objects of type line. These objects represent Phase Angle of Frequency Response, Straight Line.

sym4 и db4 вейвлеты не симметричны, но биортогональный вейвлет равен. Постройте график функции масштабирования, связанной с bior3.5 вейвлет. Вычислите частотную характеристику фильтра масштабирования синтеза для вейвлета и убедитесь, что он имеет линейную фазу.

[~,~,phi_bior_r,~,xval_bior]=wavefun('bior3.5',10);
figure
plot(xval_bior,phi_bior_r)
title('bior3.5 - Scaling Function')
grid on

Figure contains an axes. The axes with title bior3.5 - Scaling Function contains an object of type line.

[LoD_bior,HiD_bior,LoR_bior,HiR_bior] = wfilters('bior3.5');
[h_bior,w_bior] = freqz(LoR_bior);
h_bior_u = unwrap(angle(h_bior));
figure
plot(w_bior/pi,h_bior_u,'.')
hold on
plot(w_bior([1 end])/pi,h_bior_u([1 end]),'r')
grid on
xlabel('Normalized Frequency ( x \pi rad/sample)')
ylabel('Phase (radians)')
legend('Phase Angle of Frequency Response','Straight Line')
title('Biorthogonal 3.5 - Phase Angle')

Figure contains an axes. The axes with title Biorthogonal 3.5 - Phase Angle contains 2 objects of type line. These objects represent Phase Angle of Frequency Response, Straight Line.

См. также

|