Vlnky Daubechies

Z testwiki
Skočit na navigaci Skočit na vyhledávání
Daubechiesové vlnka se 2 nulovými momenty

Daubechiesové vlnky (vlnky Daubechies) jsou rodinou ortogonálních vlnek pojmenovaných podle jejich objevitelky, belgické fyzičky a matematičky Ingrid Daubechies. Používají se při diskrétní vlnkové transformaci, nemají explicitní vyjádření a jejich konstrukce je složitá.

Rodina Daubechiesové vlnek je zajímavá tím, že vlnky mají známý počet nulových momentů. Jsou konstruovány tak, že na dané délce nosiče N1 mají právě maximální počet nulových momentů p. Důsledkem toho je tato vlnka ortogonální na polynomy až do stupně p1 (vlnková transformace bude v odpovídajících místech nulová). Tato vlastnost činí vlnky vhodnými k použití v aplikacích potlačení resp. získání polynomiální části signálu. Další aplikací je použití vlnky jako derivátoru (parciálního diferenciálního operátoru) daného řádu p pro detekci nespojitostí v signálu a jeho derivacích.

Vlnka řádu 1 (s jedním nulovým momentem) se také nazývá Haarova vlnka.

Vlastnosti
  • asymetrické (až na p=1)
  • ortogonální, biortogonální
  • délka filtrů (počet koeficientů) N=2p
  • kompaktní nosič délky N1=2p1
  • vlnky ψ mají p nulových momentů

Výpočet koeficientů

Koeficienty škálovací funkce (dolní propusti H0 při použití ortogonální banky filtrů) musejí splňovat následující podmínky.

Normalizace:

n=0N1h0[n]=2 nebo n=0N1h0[n]=2 (pak je třeba výsledné koeficienty podělit hodnotou 2)

z čehož plyne

n=0N1(h0[n])2=1 nebo n=0N1(h0[n])2=2 (pak je třeba výsledné koeficienty podělit hodnotou 2)

Ortogonalita:

n=0N1h0[n]h0[n2k]=0 pro k=0

Nulovost momentů (uhlazenost, podmínka dolní propusti, regulárnosti):[1]

n=0N1(1)nh0[n]nm=0 pro 0m<N/2

Existuje více řešení (je ovšem třeba odlišit dolní propust od horní).

Vlnky se označují jako Dx, kde x je buď počet koeficientů (N) nebo počet nulových momentů (p), tedy např. D8 může být vlnka s 8 koeficienty (a čtyřmi nulovými momenty).

Příklad

Výpočet vlnky se 4 koeficienty (označované jako D4) v MATLABu (místo h0 je použito pouze značení h):

t = solve(
	'h0*h0 + h1*h1 + h2*h2 + h3*h3 = 1', % normalizace
	'h2*h0 + h3*h1 = 0', % ortogonalita
	'+(0^0)*h0 -(1^0)*h1 +(2^0)*h2 -(3^0)*h3 = 0', % nulovost nultého
	'+(0^1)*h0 -(1^1)*h1 +(2^1)*h2 -(3^1)*h3 = 0' % a prvního momentu (podmínky uhlazenosti)
);
r=length(t.h0); % počet řešení
s=[1:r]; eval( [t.h0(s) t.h1(s) t.h2(s) t.h3(s)] ) % zobrazit řešení

Řešení (pouze dolní propusti):

h0 h1 h2 h3
−0.129409522551260 0.224143868042014 0.836516303737808 0.482962913144534
0.482962913144534 0.836516303737808 0.224143868042014 −0.129409522551260

Související články

Externí odkazy

Reference

Literatura

Šablona:Autoritní data