17.2 Deconvoluția

Convoluția nedorită este o problemă inerentă în transferul informațiilor analogice. De exemplu, toate cele ce urmează pot fi modelate ca o convoluție: imaginea se estompează într-o cameră neclară, ecou în apelurile telefonice la distanțe mari, lățimea de bandă finită a senzorilor și electronicii analogice etc. Deconvoluția este procesul de filtrare a unui semnal pentru a compensa o convoluție nedorită. Scopul deconvoluției este de a recrea semnalul așa cum a existat înainte de a avea loc convoluția. Acesta necesită, uzual, să fie cunoscute caracteristicile convoluției (adică răspunsul la impuls sau în frecvență). Acest lucru poate fi distins de deconvoluția oarbă, unde caracteristicile convoluției parazitare nu sunt cunoscute. Deconvoluția oarbă este o problemă mult mai dificilă, care nu are o soluție generală, iar abordarea trebuie adaptată aplicației particulare.

Deconvoluția este aproape imposibil de înțeles în domeniul timp, dar destul de simplă în domeniul frecvență. Fiecare sinusoidă care compune semnalul original poate fi schimbată în amplitudine și/sau în fază pe măsură ce trece prin convoluția nedorită. Pentru a extrage semnalul original, filtrul de deconvoluție trebuie să anuleze aceste modificări ale amplitudinii și fazei. De exemplu, dacă convoluția modifică amplitudinea sinusoidei cu 0,5 cu un defazaf de 30 grade, filtrul de deconvoluție trebuie să amplifice sinusoida cu 2,0 cu o schimbare de fază de -30 grade.

Figura 17-2

Răspunsul în frecvență vs. lungimea nucleului filtrului.

Aceste figuri arată răspunsurile în frecvență obținute cu diferite lungimi ale nucleelor de filtru. Numărul punctelor din fiecare nucleu de filtru este egal cu M+1, rulând de la 0 la M. Deoarece sunt utilizate mai multe puncte în nucleul filtrului, răspunsul în frecvență rezultat se apropie mult mai mult de răspunsul în frecvență dorit. Figura 17-1a prezintă răspunsul în frecvență dorit pentru acest exemplu.

Exemplul pe care îl vom folosi pentru a ilustra deconvoluția este un detector de raze gamma. Așa cum este ilustrat în figura 17-3, acest dispozitiv este compus din două părți, un scintilator și un detector de lumină. Un scintilator este un tip special de material transparent, cum ar fi iodura de sodiu sau germanatul de bismut. Acești compuși schimbă energia din fiecare rază gamma într-o scurtă explozie a luminii vizibile. Această lumină este apoi convertită într-un semnal electronic de un detector de lumină, cum ar fi o fotodiodă sau un fototranzistor. Fiecare impuls produs de detector seamănă cu o exponențială unilaterală, cu o anumită rotunjire a colțurilor. Această formă este determinată de caracteristicile scintilatorului utilizat. Atunci când o rază gamma își depune energia în scintilator, atomii din apropiere sunt excitați la un nivel de energie mai ridicat. Acești atomi se dezexcită aleator, fiecare producând un singur foton de lumină vizibilă. Rezultatul net este un impuls de lumină a cărui amplitudine decade peste câteva sute de nanosecunde (pentru iodură de sodiu). Deoarece sosirea fiecărei raze gamma este un impuls, impulsul de ieșire de la detector (adică, exponențiala unilaterală) este răspunsul la impuls al sistemului.

Figura 17-3 Exemplul unei convoluții inevitabile.

Un detector de raze gama poate fi format prin montarea unui scintilator pe un detector de lumină. Când o rază gama lovește scintilatorul, energia sa este convertită într-un impuls de lumină. Acest impuls de lumină este convertit apoi într-un semnal electronic de detectorul de lumină. Raza gama este un impuls, în timp ce ieșirea detectorului (răspunsul la impuls) este o exponențială uni-laterală.

Figura 17-4a arată impulsurile generate de detector ca răspuns la radiațiile gamma care sosesc la întâmplare. Informația pe care dorim să o extragem din acest semnal de ieșire este amplitudinea fiecărui impuls, care este proporțională cu energia razei gama care a generat-o. Aceasta este o informație utilă, deoarece energia poate spune lucruri interesante despre unde a fost raza gama. De exemplu, poate furniza informații medicale despre pacient, poate spune vârsta unei galaxii îndepărtate, poate detecta o bombă în bagajele unei linii aeriene, etc.

Totul ar fi bine dacă ar fi detectat doar o rază gamma ocazională, dar de obicei nu este cazul. Așa cum se arată în (a), două sau mai multe impulsuri se pot suprapune, deplasând amplitudinea măsurată. Un răspuns la această problemă este deconvoluția semnalului de ieșire al detectorului, ceea ce face ca impulsurile să fie mai înguste, astfel încât să se producă grămezi mai mici. Ideal, am dori ca fiecare puls să semene cu impulsul original. Așa cum puteți suspecta, acest lucru nu este posibil și trebuie să ne stabilim pentru un impuls finit în lungime, dar semnificativ mai scurt decât pulsul detectat. Acest obiectiv este ilustrat în figura 17-4b.

Figura 17-4 Exemplu de deconvoluție

Figura(a) prezintă semnalul de ieșire de la un detector de raze gama ca răspuns la o serie de raze gama ce sosesc aleator. Filtrul de deconvoluție este destinat pentru a converti (a) în (b), prin reducerea lățimii impulsurilor. Acesta minimizează deplasarea amplitudinii când impulsurile cad pe vârful altuia.

Chiar dacă semnalul detectorului are informațiile sale codificate în domeniul timp, o mare parte din analiza noastră trebuie făcută în domeniul frecvență, unde problema este mai ușor de înțeles. Figura 17-5a este semnalul produs de detector (ceva ce știm). Figura (c) este semnalul pe care dorim să-l avem (și ceva ce știm). Acest impuls dorit a fost selectat în mod arbitrar pentru a avea aceeași formă ca o fereastră Blackman, cu o lungime de aproximativ o treime din lungimea impulsului original. Scopul nostru este de a găsi un kernel de filtru, (e), care, în convoluție cu semnalul din (a), produce semnalul din (c). În forma ecuației: dacă a*e = c, și dat a și c, găsiți e.

Dacă aceste semnale s-au combinat prin adunare sau înmulțire în loc de convoluție, soluția ar fi ușoară: scăderea este folosită pentru a "de-aduna" și divizarea este folosită pentru a "de-multiplica". Convoluția este diferită; nu există o operație inversă simplă care poate fi numită "deconvoluție". Convoluția este prea dezordonată pentru a fi anulată prin manevrarea directă a semnalelor din domeniu timp.

Din fericire, problema este mai simplă în domeniul frecvență. Amintiți-vă, convoluția într-un domeniu corespunde cu multiplicarea în celălalt domeniu. Din nou, referindu-ne la semnalele din figura 17-5: dacă b×f = d, și date b și d, găsiți f. Aceasta este o problemă ușoară de rezolvat: răspunsul în frecvență al filtrului (f) este spectrul de frecvență al impulsului dorit (d) împărțit la spectrul de frecvență al impulsului detectat (b). Deoarece impulsul detectat este asimetric, acesta va avea o fază nonzero. Asta înseamnă că trebuie folosită o împărțire complexă (adică, o magnitudine & fază împărțită la o altă magnitudine & fază). În cazul în care ați uitat, Capitolul 9 definește modul de realizare a unei împărțiri complexe a unui spectru de către un altul. Kernelul de filtru necesar (e) este apoi găsit din răspunsul în frecvență prin metoda de filtrare personalizată (IDFT, deplasare, trunchiere și multiplicare cu o fereastră).

Există limite pentru îmbunătățirea pe care o poate furniza deconvoluția. Cu alte cuvinte, dacă ești lacom, lucrurile se vor destrăma. A deveni lacom în acest exemplu înseamnă a încerca să facem pulsul dorit excesiv de îngust. Să ne uităm la ce se întâmplă. Dacă pulsul dorit este făcut mai îngust, spectrul său de frecvență trebuie să conțină mai multe componente de înaltă frecvență. Deoarece aceste componente de înaltă frecvență se află la o amplitudine foarte mică a impulsului detectat, filtrul trebuie să aibă un câștig foarte mare la aceste frecvențe. De exemplu, (f) arată că unele frecvențe trebuie multiplicate cu un factor de trei pentru a obține impulsul dorit în (c). Dacă impulsul dorit este făcut mai îngust, câștigul filtrului de deconvoluție va fi chiar mai mare la frecvențe înalte.

Problema este că erorile mici sunt foarte nepotrivite în această situație. De exemplu, dacă o anumită frecvență este amplificată de 30, când este necesară doar 28, semnalul din deconvoluție va fi probabil un dezastru. Atunci când deconvoluția este împinsă la un nivel mai ridicat de performanță, caracteristicile convoluției nedorite trebuie înțelese cu o mai mare acuratețe și precizie. Există întotdeauna necunoscute în aplicațiile lumii reale, cauzate de răufăcători cum ar fi: zgomotul electronic, variația de temperatură, variația dintre dispozitive etc. Aceste necunoscute stabilesc o limită a cum va lucra deconvoluția.

Chiar dacă convoluția nedorită este perfect înțeleasă, există încă un factor care limitează performanța deconvoluției: zgomotul. De exemplu, majoritatea convoluțiilor nedorite iau forma unui filtru trece-jos, reducând amplitudinea compo-nentelor de înaltă frecvență din semnal. Deconvoluția corectează acest lucru prin amplificarea acestor frecvențe. Dar, dacă amplitudinea acestor componente scade sub zgomotul inerent al sistemului, informațiile conținute în aceste frecvențe sunt pierdute. Nici o cantitate de procesare a semnalului nu o poate recupera. A dispărut pentru totdeauna. Încercarea de a recupera aceste date va amplifica doar zgomotul. Ca un caz extrem, amplitudinea unor frecvențe poate fi complet redusă la zero. Acest lucru nu numai că elimină informațiile, ci va încerca să facă filtrul de deconvoluție să aibă câștig infinit la aceste frecvențe. Soluția: proiectați un filtru de deconvoluție mai puțin agresiv și/sau puneți limite la cât de mult câștig este permis la oricare dintre frecvențe.

Cât de departe poți să mergi? Cât de lacom este prea lacom? Acest lucru depinde în totalitate de problema pe care o ataci. Dacă semnalul se comportă bine și are un zgomot redus, se poate face o îmbunătățire semnificativă (gândiți-vă la un factor de 5-10). Dacă semnalul se schimbă de-a lungul timpului, nu este foarte bine înțeles sau este zgomotos, nu veți face aproape de bine (cred că un factor de 1-2). Deconvoluția de succes implică o mare măsură de testare. Dacă funcționează la un anumit nivel, încercați să mergeți mai departe; veți ști când se destramă. Nici o cantitate de muncă teoretică nu vă va permite să ocoliți acest proces iterativ.

Figura 17-5 Exemple de deconvoluție în domeniile timp și frecvență.

Răspunsul la impuls al detectorului de raze gama din exemplu este arătat în (a), în timp ce răspunsul dorit la impuls este arătat în (c). Spectrele de frecvență ale acestor două semnale sunt arătate în (b) și (d), respectiv. Filtrul care schimbă (a) în (c) are un răspuns în frecvență (f) egal cu (d) împărțit la 6. Nucleul acestui filtru (e) este apoi găsit din răspunsul în frecvență utilizând metoda de proiectarea a filtrului personalizat (DFT inversă, trunchiere, windowing). În această ilustrație, sunt arătate numai magnitudinile semnalelor din domeniu frecvență; dar, fazele sunt nonzero și trebuie să fie utilizate.

Deconvoluția poate fi, de asemenea, aplicată semnalelor codate în domeniul frecvență. Un exemplu clasic este restaurarea vechilor înregistrări ale celebrului cântăreț de operă, Enrico Caruso (1873-1921). Aceste înregistrări au fost făcute cu echipamente foarte primitive, la standarde moderne. Cea mai importantă problemă o reprezintă rezonanțele pâlniei tubulare lungi de înregistrare folosite pentru a aduna sunetul. Ori de câte ori cântărețul se întâmplă să lovească una dintre aceste frecvențe de rezonanță, intensitatea înregistrării crește brusc. Deconvoluția digitală a îmbunătățit calitatea subiectivă a acestor înregistrări reducând pasajele puternice din muzică. Vom descrie doar metoda generală; pentru o descriere detaliată, a se vedea lucrarea originală: T. Stockham, T. Cannon și R. Ingebretsen, "Blind Deconvolution Through Digital Signal Processing", Proc. IEEE , voi. 63, apr. 1975, pp. 678-692.

Figura 17-6 Deconvoluția înregistrărilor unui fonograf vechi.

Spectrul de frecvență produs de cîntărețul original este ilustrat în (a). Vârfurile de rezonanță din echipamentul primitiv (b) produc distorsiune în spectru de frecvență înregistrat (c). Răspunsul în frecvență al filtrului de deconvoluție (d) este destinat să contracareze convoluția nedorită, restaurând spectrul original (e). Aceste grafice sunt numai pentru scop ilustrativ; ele nu sunt semnale reale.

Figura 17-6 prezintă abordarea generală. Spectrul de frecvență al semnalului audio original este ilustrat în (a). Figura (b) prezintă răspunsul în frecvență al echipamentului de înregistrare, o curbă relativ netedă, cu excepția câtorva vârfuri de rezonanță ascuțite. Spectrul semnalului înregistrat, prezentat în (c), este egal cu spectrul real (a) înmulțit cu răspunsul în frecvență cu vârfuri (b). Scopul deconvoluției este de a contracara convoluția nedorită. Cu alte cuvinte, răspunsul în frecvență al filtrului de deconvoluție, (d), trebuie să fie inversul lui (b). Adică, fiecare vârf din (b) este anulat printr-o scădere corespunzătoare în (d). Dacă acest filtru ar fi perfect proiectat, semnalul rezultat ar avea un spectru, (e), identic cu cel al originalului.

Iată blocajul: echipamentul original de înregistrare a fost eliminat de mult și răspunsul său în frecvență (b) este un mister. Cu alte cuvinte, aceasta este o problemă de deconvoluție oarbă, dat numai (c), cum putem determina (d)?

Problemele cu deconvoluție oarbă sunt de obicei atacate prin estimarea sau presupunerea despre parametrii necunoscuți. Pentru a face față acestui exemplu, spectrul mediu al muzicii originale se presupune că se potrivește cu spectrul mediu al aceleiași muzici realizate de un cântăreț de astăzi folosind echipamente moderne. Spectrul mediu este găsit de tehnicile de la capitolul 9: rupe semnalul într-un număr mare de segmente, aplică DFT fiecărui segment, convertește în formă polară, iar apoi face media magnitudinilor împreună. În cel mai simplu caz, răspunsul în frecvență necunoscut este luat ca spectru mediu al înregistrării vechi, împărțit la spectrul mediu al înregistrării moderne. (Metoda folosită de Stockham și alții se bazează pe o tehnică mai sofisticată numită prelucrare homomorfică, oferind o estimare mai bună a caracteristicilor sistemului de înregistrare).

Secțiunea următoare: Filtre optime