orthfilt

Ортогональный набор вейвлет

Синтаксис

[Lo_D,Hi_D,Lo_R,Hi_R] = orthfilt(W)

Описание

[Lo_D,Hi_D,Lo_R,Hi_R] = orthfilt(W) вычисляет четыре фильтра, сопоставленных с масштабирующим фильтром W соответствующий вейвлет:

Lo_D

Разложение низкочастотного фильтра

Hi_D

Разложение высокочастотного фильтра

Lo_R

Реконструкция низкочастотного фильтра

Hi_R

Реконструкция высокопроходного фильтра

Для ортогонального вейвлета, в среде мультиразрешения, мы начинаем с функции масштабирования, и функции вейвлета. Одним из фундаментальных отношений является двойственное соотношение:

12ϕ(x2)=nZwnϕ(xn)

Все фильтры, используемые в dwt и idwt тесно связаны с последовательностью (wn)nZ. Очевидно, что если и поддерживается компактно, то последовательность (wn) является конечной и может рассматриваться как конечная импульсная характеристика. Фильтр масштабирования W является

  • А lowpass конечной импульсной характеристики фильтр

  • Длины 2 N

  • Из суммы 1

  • Нормы

Для примера, для db3 масштабирующий фильтр,

load db3 
db3
db3 =
    0.2352 0.5706 0.3252 -0.0955 -0.0604 0.0249

sum(db3)
ans =
    1.000
    norm(db3)
ans =
    0.7071

Из фильтра WЗададим четыре конечные импульсные характеристики фильтра длины 2N и нормы 1, организованные следующим образом:

Фильтры

Низкочастотные

High-Pass

Разложение

Lo_DHi_D

Реконструкция

Lo_RHi_R

Четыре фильтра вычисляются с помощью следующей схемы:

где qmf таков, что Hi_R и Lo_R являются квадратурными зеркальными фильтрами (т.е. Hi_R (k) = (-1)kLo_R(2N + 1 - k), для k = 1, 2, Ä, 2N), и где wrev разворачивает коэффициенты фильтра. Итак Hi_D и Lo_D являются также квадратурными зеркальными фильтрами. Расчет из этих фильтров выполняется с помощью orthfilt.

Примеры

% Load scaling filter. 
load db8; w = db8; 
subplot(421); stem(w); 
title('Original scaling filter');

% Compute the four filters. 
[Lo_D,Hi_D,Lo_R,Hi_R] = orthfilt(w); 
subplot(423); stem(Lo_D); 
title('Decomposition low-pass filter'); 
subplot(424); stem(Hi_D); 
title('Decomposition high-pass filter'); 
subplot(425); stem(Lo_R); 
title('Reconstruction low-pass filter'); 
subplot(426); stem(Hi_R); 
title('Reconstruction high-pass filter');

% Check for orthonormality. 
df = [Lo_D;Hi_D];
rf = [Lo_R;Hi_R];
id = df*df'

id =
    1.0000         0
         0    1.0000

id = rf*rf'

id =
    1.0000         0
         0    1.0000

% Check for orthogonality by dyadic translation, for example:
df = [Lo_D 0 0;Hi_D 0 0]; 
dft = [0 0 Lo_D; 0 0 Hi_D]; 
zer = df*dft'

zer =

    1.0e-12 *
    -0.1883 0.0000
    -0.0000 -0.1883

% High- and low-frequency illustration. 
fftld = fft(Lo_D); ffthd = fft(Hi_D); 
freq = [1:length(Lo_D)]/length(Lo_D); 
subplot(427); plot(freq,abs(fftld)); 
title('Transfer modulus: low-pass');
subplot(428); plot(freq,abs(ffthd)); 
title('Transfer modulus: high-pass')
% Editing some graphical properties,
% the following figure is generated.

Ссылки

Daubechies, I. (1992), Десять лекций по вейвлетам, серия конференций CBMS-NSF по прикладной математике, SIAM Ed. pp. 117-119, 137, 152.

См. также

| |

Представлено до R2006a