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

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

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

[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

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

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
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')

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

[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')

Смотрите также

|