exponenta event banner

biorfilt

Набор биорогональных вейвлет-фильтров

Синтаксис

[Lo_D,Hi_D,Lo_R,Hi_R] = biorfilt(DF,RF)
[Lo_D1,Hi_D1,Lo_R1,Hi_R1,Lo_D2,Hi_D2,Lo_R2,Hi_R2] = biorfilt(DF,RF,'8')

Описание

biorfilt возвращает либо четыре, либо восемь фильтров, связанных с биоргональными вейвлетами.

[Lo_D,Hi_D,Lo_R,Hi_R] = biorfilt(DF,RF) вычисляет четыре фильтра, связанные с биоргональным вейвлетом, заданным фильтром разложения DF и восстановительный фильтр RF. Эти фильтры

Lo_D

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

Hi_D

Фильтр высокой частоты разложения

Lo_R

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

Hi_R

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

[Lo_D1,Hi_D1,Lo_R1,Hi_R1,Lo_D2,Hi_D2,Lo_R2,Hi_R2] = biorfilt(DF,RF,'8') возвращает восемь фильтров, первые четыре, связанные с вейвлетом разложения, и последние четыре, связанные с вейвлетом реконструкции.

В сообществе фильтрации поддиапазонов хорошо известно, что если для реконструкции и разложения используются одни и те же FIR-фильтры, то симметрия и точная реконструкция несовместимы (за исключением вейвлета Хаара). Следовательно, при использовании биорогональных фильтров вместо одного вводятся два вейвлета:

Один вейвлет, ψ˜, используется в анализе, и коэффициенты сигнала s равны

c˜j,k=∫s (x) ψ˜j,k (x) dx

В синтезе используется и другой вейвлет, start:

s=∑j,kc˜j,kψj,k

Кроме того, два вейвлета связаны двойственностью в следующем смысле:
ψ ˜ j, k (x) ψj , k (x) dx=0, как только j ≠ j ′ или k ≠ k ′ и
∫ϕ˜0,k (x) δ 0, k (x) dx = 0 сразу после k ≠ k ′.

Становится очевидным, как указал А. Коэн в своём тезисе (стр. 110), что "полезные свойства для анализа (например, колебания, нулевые моменты) могут быть сконцентрированы в ψ˜ функции; тогда как, интересные свойства для синтеза (регулярность) назначены на функцию ψ. Разделение этих двух задач оказывается очень полезным ".

ψ˜ и startмогут иметь очень разные свойства регулярности, при этом startявляется более регулярным, чем ψ˜.

ψ ˜, ψ, ϕ ˜ и функции ϕ являются нолем вне сегмента.

Примеры

свернуть все

В этом примере показано, как получить фильтры разложения (анализа) и реконструкции (синтеза) для 'bior3.5' вейвлет.

Определите два масштабных и вейвлет-фильтра, связанных с 'bior3.5' вейвлет.

wv = 'bior3.5';
[Rf,Df] = biorwavf(wv);
[LoD,HiD,LoR,HiR] = biorfilt(Df,Rf);

Постройте график импульсных откликов фильтра.

subplot(2,2,1)
stem(LoD)
title(['Dec. lowpass filter ',wv]) 
subplot(2,2,2)
stem(HiD)
title(['Dec. highpass filter ',wv])
subplot(2,2,3)
stem(LoR)
title(['Rec. lowpass filter ',wv]) 
subplot(2,2,4)
stem(HiR)
title(['Rec. highpass filter ',wv])

Figure contains 4 axes. Axes 1 with title Dec. lowpass filter bior3.5 contains an object of type stem. Axes 2 with title Dec. highpass filter bior3.5 contains an object of type stem. Axes 3 with title Rec. lowpass filter bior3.5 contains an object of type stem. Axes 4 with title Rec. highpass filter bior3.5 contains an object of type stem.

Продемонстрируйте, что автокорреляции при четных лагах равны нулю только для двойных пар фильтров. Проверьте автокорреляционную последовательность фильтра разложения нижних частот.

npad = 2*length(LoD)-1;
LoDxcr = fftshift(ifft(abs(fft(LoD,npad)).^2));
lags = -floor(npad/2):floor(npad/2);
figure
stem(lags,LoDxcr,'markerfacecolor',[0 0 1])
set(gca,'xtick',-10:2:10)

Figure contains an axes. The axes contains an object of type stem.

Проверьте последовательность взаимной корреляции для низкочастотных фильтров разложения и синтеза. Сравните результат с предыдущим рисунком.

npad = 2*length(LoD)-1;
xcr = fftshift(ifft(fft(LoD,npad).*conj(fft(LoR,npad))));
lags = -floor(npad/2):floor(npad/2);
stem(lags,xcr,'markerfacecolor',[0 0 1])
set(gca,'xtick',-10:2:10)

Figure contains an axes. The axes contains an object of type stem.

Сравнение передаточных функций масштабирования анализа и синтеза и вейвлет-фильтров

dftLoD = fft(LoD,64); 
dftLoD = dftLoD(1:length(dftLoD)/2+1);
dftHiD= fft(HiD,64); 
dftHiD = dftHiD(1:length(dftHiD)/2+1);
dftLoR = fft(LoR,64);
dftLoR = dftLoR(1:length(dftLoR)/2+1);
dftHiR = fft(HiR,64);
dftHiR = dftHiR(1:length(dftHiR)/2+1);
df = (2*pi)/64;
freqvec = 0:df:pi;

subplot(2,1,1)
plot(freqvec,abs(dftLoD),freqvec,abs(dftHiD),'r')
axis tight
title('Transfer modulus for dec. filters') 
subplot(2,1,2)
plot(freqvec,abs(dftLoR),freqvec,abs(dftHiR),'r') 
axis tight
title('Transfer modulus for rec. filters')

Figure contains 2 axes. Axes 1 with title Transfer modulus for dec. filters contains 2 objects of type line. Axes 2 with title Transfer modulus for rec. filters contains 2 objects of type line.

Ссылки

Коэн, А. (1992), «Ondelettes, analyses multirésolution et traistance numérique du signal», доктор философии. Дипломная работа, Парижский университет IX, ДАУФИН.

Daubechies, I. (1992), Десять лекций по вейвлетам, CBMS-NSF серии конференций по прикладной математике. СИАМ Ред.

См. также

|

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