14.5 Wavelet and Filter Banks Designer

Folosind pachetul WFBD, există trei pași importanți implicați în proiectarea wavelet-urilor. Din cauza relației dintre wavelets și bnncurile de filtre, acești pași se reduc practic la selectarea și proiectarea filtrelor pentru bancurile de filtre.

Selectarea tipului de banc de filtre

Primul pas constă în selectarea unui anumit tip de banc de filtre. Există două tipuri de bancuri de filtre pe care le puteți alege, ortogonale și biortogonale. Bancul de filtre ortogonal este un caz special al bancului de filtre biortogonal. Principala diferență între bancuriile de filtre ortogonale și biortogonale este că filtrele biortogonale pot fi cu fază liniară, dar filtrele ortogonale nu pot. Deci, dacă aplicația necesită o fază liniară, atunci nu ar trebui să utilizați bancurile de filtre ortogonale. (Faza liniară este importantă pentru imagini, deoarece ochiul este foarte sensibil la variațiile de fază.)

Selectarea tipului de filtru

Următorul pas se referă la proiectarea filtrelor lowpass G0 și H0 și are legătură cu proiectarea unui filtru P0 care este cascada celor două filtre G0 și H0. Filtrul P0 este ilustrat după cum se arată:

Ultima etapă presupune împărțirea filtrului P0 în G0 și H0. Acești trei pași sunt prezentați mai jos:

Pasul 1: Selectați tipul bancului de filtre. Opțiunile disponibile sunt:

• Ortogonal
• Biortogonal

Pasul 2: Selectați tipul de filtru pentru P0. Opțiunile disponibile sunt:

Maxflat
• Positive equiripple
• General equiripple

Oricare dintre cele trei tipuri de filtre menționate la pasul 2 poate fi utilizat cu bancuri de filtre biortogonale. Dar, cu bancuri de filtre ortogonale, puteți avea doar filtre maxflat sau positive echiripple, dar nu și general echiripple.

Nu există o regulă tare și rapidă, sau chiar ghiduri generale, cu privire la ce tip de filtru ar trebui să alegeți pentru orice aplicație specifică. Va trebui să experimentați cu diferite opțiuni pentru a selecta una potrivită.

Pasul 3: Selectați tipul de filtru lowpass G0 și separați P0 în G0 și H0. Acest pas constă în alocarea zerourilor lui P0 la filtrele lowpass G0 și H0. Utilizatorul decide care zerouri se atribuie lui G0 și care să le atribuie lui H0.

Care tip de filtru sau banc de filtre este o alegere bună?

Selectări diferite în pașii 1, 2 și 3 vor avea ca rezultat diferite wavelets. Deși s-au oferit unele orientări cu privire la care alegere este de preferat față de alta, în general, nu există o regulă tare și rapidă pentru o anumită alegere de filtru sau banc de filtre. Alegerea unei wavelet potrivită pentru o anumită aplicație se face de obicei printr-un proces de încercare și eroare. Astfel, va trebui să experimentați cu diferite combinații de alegeri disponibile pentru a obține cea mai bună wavelet pentru aplicația dvs. particulară.

Panoul de proiectare

Când deschideți aplicația WFBD din meniul Programs, primiți următorul panou frontal.

O explicație a graficelor și controalelor este oferită în figura de mai sus. Figura vă arată, de asemenea, succesiunea pașilor pe care trebuie să îi urmați în timpul proiectării wavelet.

În exercițiile următoare, veți vedea cum acest panou este utilizat pentru analiza unui semnal ECG (un semnal 1D) și pentru compresia datelor de amprente (o imagine 2D).

Exercițiul 14-1

Obiectiv: Proiectarea unui wavelet care surprinde caracteristicile importante ale unui semnal ECG, dar cu mai puțin de jumătate din numărul punctelor de date.

1. Lansați WFBD din meniul Programs.

2. Apare Design Panel. Acesta vă oferă puterea de a proiecta wavelets arbitrare pentru aplicația dvs. particulară. Panoul de proiectare este prezentat mai jos:

Ați văzut că transformata wavelet poate fi implementată ca un banc de filtre care descompune un semnal în benzi de frecvență multiple. Se separă și se păstrează caracteristicile semnalului într-una sau câteva dintre aceste sub-benzi. Astfel, unul dintre cele mai mari avantaje ale utilizării transformatei wavelet este că pot fi ușor extrase caracteristicile semnalului. Datorită abilității lor de a extrage eficient caracteristicile semnalului, transformatele wavelet găsesc multe aplicații în domeniile compresiei datelor, recunoașterii modelului, detectării marginilor, detectării ecoului, recunoașterii vorbirii și analizei texturii.

Cheia pentru crearea unei aplicații wavelet de succes este să selectați o wavelet adecvată, ceea ce echivalează cu selectarea unui set bun de filtre în bancul de filtre. Ați văzut că există trei pași majori implicați în proiectarea filtrelor și a bancurilor de filtre. Acești pași se repetă mai jos.

Pasul 1: Selectați tipul bancului de filtre. Opțiunile disponibile sunt ortogonale sau biortogonale.

Pasul 2: Selectați tipul de filtru pentru P0. Opțiunile disponibile sunt maxflat, positive echiripple sau general echiripple. Nu uitați că opțiunea general equiripple nu este disponibilă cu bancurile de filtre ortogonale.

Pasul 3: Selectați tipul de filtru lowpass G0 și separați P0 în G0 și H0. Separarea se realizează prin a decide ce zerouri se atribuie lui G0 și care se atribuie lui H0.

Wavelet pe care îl proiectați va depinde de alegerile pe care le selectați la pașii 1, 2 și 3. Astfel, puteți experimenta cu diferite combinații pentru a obține cea mai bună wavelet pentru aplicația dvs. particulară.

3. În Panoul de proiectare, selectați Menu » 1D Data Test. Va apărea o fereastră nouă (1D_Test). În această fereastră, veți încărca un semnal 1D (de exemplu, veți utiliza un semnal ECG) având 3600 puncte de date (eșantioane) și veți vedea cum poate fi reprezentat cu un număr mai mic de eșantioane.

4. În noua fereastră, selectați Data » Read from File » txt file. Alegeți fișierul Ecg.txt.

5. Acum veți vedea patru grafice pe ecran. În graficul de sus, vedeți semnalul original ECG. Este format din 3600 de puncte de date (eșantioane). Doriți să păstrați principalele caracteristici ale acestui semnal folosind un număr minim de puncte de date.

Rețineți că semnalul ECG inițial a fost descompus în trei părți prin mai multe etaje de filtrare lowpass și highpass. Acest lucru este arătat în traseele etichetate path 1, path 2 și path 3. Un 0 indică un etaj de filtrare lowpass, iar 1 indică un etaj de filtrare highpass. Referindu-ne la explicația din secțiunea 14.4, figurile din diagramele etichetate path 1, path 2 și path 3 corespund la s3[n], s2[n], respectiv s1[n]. Cea mai de jos diagramă, obținută după două etaje de filtrare lowpass, conține principalele caracteristici ale ECG inițial, dar are doar aproximativ 900 de puncte de date. Prin urmare, dimensiunea acesteia este de aproximativ o pătrime din cea a datelor inițiale. Celelalte două grafice constau practic numai în zgomot de frecvență mai mare și pot fi ignorate.

Prin urmare, graficul din path3 poate fi utilizat pentru a reprezenta ECG-ul inițial, dar cu mai puține puncte de date.

6. Comutați la Design Panel. Experimentați cu controalele de pe panoul de proiectare, astfel încât să schimbați wavelet utilizată și notați modificările corespunzătoare în graficele din fereastra 1D_Test.

7. În particular, schimbați tipul de filtru de la maxflat la positive echiripple. Rețineți că unele caracteristici ale semnalului original apar și în canalele „zgomot”. Acum, graficul etichetat path 2 conține, de asemenea, o anumită caracteristică a ECG-ului original. Astfel, acesta nu este un model bun pentru wavelet, deoarece acum pentru a reprezenta semnalul original, nu puteți utiliza doar cele 900 de puncte eșantioane ale celui de mai jos grafic, deoarece nu conține toate „informațiile” semnalului ECG original. O parte din aceste informații sunt, de asemenea, prezente în graficul etichetat path 2.

8. Pentru a vedea wavelet, selectați Menu » Wavelet and Filters din Design Panel. Pentru mai multe detalii, consultați manualul de referință WFBD.

Sfârșitul exercițiului 14-1

Exercițiul 14-2

Obiectiv: Proiectarea unei wavelet pentru reconstruirea unei amprente.

1. Deschideți WFBD Toolkit din meniul Programs, dacă nu este deja deschis din exercițiul anterior.

2. În Design Panel, selectați MENU » 2D Data Test. O fereastră nouă va apărea cu titlul 2D_Test. În această fereastră, puteți încărca semnale bidimensionale (de exemplu, imagini) pe care să efectuați analiza wavelet.

3. Din controlul din colțul din dreapta jos al ferestrei 2D_Test, selectați Data »text și alegeți fișierul Finger.txt.

Veți vedea două amprente pe jumătatea superioară a ferestrei 2D_Test. În figura din stânga sus, veți vedea o amprentă originală formată din 150x150 pixeli. Agențiile de aplicare a legii trebuie să țină milioane de amprente pe fișier. În mod evident, aceasta poate ocupa mult spațiu pe disc. În plus, ar fi nevoie de un timp extrem de lung pentru a transmite atât de multe date prin rețea. Deci, wavelets pot fi utilizate pentru a reduce cantitatea de date care să reprezinte amprenta. Printr-o alegere adecvată de wavelets, puteți reduce numărul punctelor de date cu peste 50 la sută.

Figura din dreapta sus arată imaginea care a fost reconstruită prin utilizarea transformatei wavelet. Raportul dintre numărul punctelor de date utilizate pentru reconstrucție și numărul de puncte de date ale imaginii originale este afișat în controlul Remaining Data. În exemplul prezentat, doar 50 la sută din numărul total de puncte (150x150) sunt utilizate pentru a reconstrui amprenta originală. Rețineți că nu există nici o diferență între imaginea originală și cea reconstruită.

Figurile cele mai de jos arată imaginile obținute după procesul de filtrare lowpass și highpass (vezi secțiunea 14.4). Pentru recapitulare, dacă imaginea de intrare este s[n], atunci imaginile rezultate după filtrare sunt s1[n], s2[n], s3[n] și s4[n], așa cum se arată mai jos.

Astfel, s1[n] se obține după două etaje de filtrare lowpass, s4[n] se obține după două etaje de filtrare highpass ș.a. Dacă H indică rezultatul filtrării highpass, iar L indică un rezultat al filtrării lowpass, atunci relația lor cu imaginile din figura din jumătatea de jos a ferestrei 2D_Test este prezentată mai jos:

4. Creșteți Data Used de la 50 la 75 la sută. Rețineți că nu există prea multă îmbunătățire a imaginii reconstruite.

5. Reduceți Data Used la 25%. Există o diferență între imaginea originală și cea reconstruită? Experimentați pe panoul de proiectare pentru a obține o imagine reconstruită bună cu Data Used setat la 25 la sută.

6. După ce ați terminat, părăsiți WFBD selectând Menu » Quit în Panou de proiectare.

Sfârșitul exercițiului 14-2

Rezumat

Ați văzut că funcțiile de bază pentru transformata wavelet sunt cunoscute sub numele de wavelets și sunt versiuni comprimate și întinse ale unei alteia, cu o durată finită de timp. Wavelets cu o durată scurtă de timp sunt bune pentru analiza de înaltă frecvență, în timp ce cele cu o durată mai lungă de timp sunt bune pentru analiza de frecvență joasă. Utilizând wavelets, este posibil să obțineți simultan rezoluție bună de timp, precum și de frecvență. În funcție de aplicația dvs., o anumită wavelet poate fi mai potrivită decât o altă wavelet. Prin urmare, proiectarea unei wavelet potrivite este o parte importantă a analizei wavelet. Proiectarea wavelets este strâns legată de proiectarea bancurilor de filtre. Folosind programul Wavelet and Filter Banks Designer, puteți proiecta în mod interactiv filtrele din bancul de filtre și monitoriza simultan efectul pe care îl au asupra semnalului. Din cauza abilității lor de a extrage caracteristici efective, wavelets sunt larg utilizate pentru compresia datelor.