Digitaalne signaalitöötlus

Digitaalne signaalitöötlus ehk digitaalsignaalitöötlus (ingl digital signal processing, lühendina DSP) on info- ja kommunikatsioonitehnoloogia valdkond, mis pakub teooriat, meetodeid ja vahendeid digitaalsignaalide analüüsiks ja töötlemiseks. Tänapäeval põhinevad peaaegu kõik pildi, heli ja video salvestamise, ülekandmise ja säilitamise meetodid digitaalsel signaalitöötlusel. Alates teisest maailmasõjast, kui mitte varem, on teadlased spekuleerinud digitaalsete tehnikate rakendamisele signaalitöötlusel. Näiteks 1940. aastate lõpus arutlesid C. Shannon, H. Bode ja teised teadlased firmast Bell Telephone Laboratories võimaluse üle kasutada digitaalsete elektriahelate elemente filtreerimise eesmärgil. Kuid sel ajal polnud sobivat riistvara saadaval, sest hind, suurus ja vastupidavus soosis traditsioonilisi analooglahendusi. 1950. aastate keskel arutles Massachusettsi Tehnoloogiainstituudi professor J. Linvill magistriseminarides digitaalse filtreerimise teemal. Selleks ajaks oli kontrolliteooria, osaliselt W. Hurewiczi töödel põhinev, kehtestatud eraldiseisva teadusharuna ning diskreetimine ja selle mõju spektrile oli hästi mõistetud. Elektroonikainsenerid hakkasid kasutama mitmeid matemaatilisi meetodeid, näiteks z-teisendust. Kuid tol ajal suutis tehnoloogia töödelda ja kontrollida vaid madalsageduslikke signaale. Kuigi seismoloogid kasutasid probleemide lahendamiseks digitaalse filtri kontseptsioone, ilmus rangem DSP teooria alles 1960. aastatel. Sel perioodil tegi ränipõhiste integraalskeemide tehnoloogia tulek võimalikuks terviklikud digitaalsed süsteemid, kuigi need olid kallid. Esimese suure panuse digitaalsete filtrite sünteesimisse andis J. Kaiser. Tema uurimistööd näitasid, kuidas disainida kasulikke filtreid, kasutades bilineaarset teisendust (BLT). Umbes 1965. aastal avaldati J. W. Cooley ja J. Turkey tänapäeval tuntud teadustöö, mis käsitles kiiret Fourier' teisendust (FFT): viisi, kuidas efektiivselt ja kiiresti teha diskreetset Fourier' teisendust (DFT). Sel ajal töötati välja riistvara, mis sobis paremini digitaalsete filtrite rakendamiseks, ja ilmusid müüki taskukohased integraalskeemid. DSP jaoks tehti teed rajavaid pingutusi neljas valdkonnas. Radar ja sonar, kus riiklik julgeolek on ohus; naftamaardlate otsimine, kus on võimalik teenida suuri summasid; kosmoseuuringud, kus andmed on asendamatud, ja meditsiiniline piltdiagnostika, mille abil on võimalik inimeste elusid päästa. Personaalarvutite revolutsioon 1980. ja 1990. aastate alguses põhjustas DSP rakenduste suurema leviku. DSP arengut hakkasid juhtima enam mitte sõjaväe ja riigi vajadused, vaid kaubanduslik eesmärk. Paljud firmad nägid kiiresti arenevas DSP valdkonnas võimalust hästi teenida. DSP jõudis inimesteni mobiiltelefonides, CD-mängijates ja elektroonilises kõnepostis. Esimese eraldiseisva kiibi (12-bitine S2811), mis oli spetsiaalselt DSP jaoks disainitud, andis välja American Microsystems Inc. (AMI) aastal 1978. Kuigi see põhines väga uuenduslikul skeemidisainil, ei saavutanud see suuri müüginumbreid. Sellega sai hakkama NEC µPD7720, mis oli helispektris töötamiseks piisavalt kiire ja efektiive. Üldist digitaalset signaalitöötlust illustreerib ülaltoodud lihtsustatud plokkskeem, mis koosneb analoogfiltrist, analoog-digitaalmuundurist (ADC), digitaalse signaali (DS) protsessorist, digitaal-analoogmuundurist (DAC) ja taastavast (anti-image) filtrist. Analoogahelal põhineva signaalitöötluse korral tugineb töötlus sellistel elektroonikakomponentidel nagu takistid, kondensaatorid, transistorid, operatsioonivõimendid ja integraalskeemid. Jooniselt on näha, et enamasti on looduses esinevad signaalid analoogsignaalid, st ajas ja amplituudis pidevad. Sellised on näiteks voolutugevus, pinge, temperatuur, rõhk ja valguse intensiivsus. Mitteelektrilise signaali muundamiseks elektrisignaaliks (pingeks) kasutatakse andurit. Saadud analoogsignaal filtreeritakse madalpääsfiltriga, et eemaldada Nyquisti sagedusest kõrgemad sagedused (vt Nyquisti-Shannoni diskreetimisteoreem). Filtreerimise eesmärk on vähendada spektraalset kattuvust (aliasing), mille korral ei teki analoogsignaaliks tagasi muundamisel korrektne signaal. ADC muundab analoogsignaali digitaalseks signaaliks, mis on ajas ja amplituudis diskreetne. DS-protsessor töötleb saadud andmeid vastavalt soovitule digitaalse madal-, kõrg-, ribapääsfiltri või mõne muu algoritmi alusel. Edasi muundatakse töödeldud signaal analoogsignaaliks, mis on ajas pidev, kuid amplituudis diskreetne. Selleks, et siluda DAC poolt väljastatava signaali pinget, kasutatakse taastavat filtrit. Mitmetel DSP rakendustel (andmete kogumine, digitaalse informatsiooni kuvamine, kõnetuvastus, andmete kodeerimine jne) pole vaja digitaalsignaali analoogsignaaliks tagasi muundada, seepärast pole ka vaja DAC-d. Samamoodi on rakendusi, kus pole vaja ADC-d: CD-mängijad, kõnesüntees, digitaalsed heligeneraatorid jt.  Pikemalt artiklis Digitaalne filter Digitaalne filtreerimine on DSP üks kõige tähtsamaid osi. Seda kasutatakse peamiselt kahel eesmärgil: ühinenud signaalist kindla signaali eraldamiseks või moondunud signaali taastamiseks. Ka analoogfiltreid on võimalik samade ülesannete jaoks kasutada, kuid digitaalsed filtrid annavad ülekaalukalt paremaid tulemusi. Signaali eraldamist on vaja siis, kui signaal on rikutud müra, interferentsi või teiste signaalide poolt. Näiteks kui elektrokardiogrammiga mõõdetakse ema üsas oleva beebi südametööd, on vaja saadud signaalist eraldada ema hingamise ja südametöö poolt põhjustatud signaalid. Signaali taastamist kasutatakse moondunud signaali korral, näiteks heli salvestamisel vigasest seadmest tulnud müra eemaldamiseks. DSP puhul on tavaliselt filtri sisend ja väljund aegesituses, sest digitaalseid signaale luuakse analoogsignaalist ühtlaste ajavahemike tagant lugemeid võttes. Kuid see ei ole ainuke diskreetimise viis. Teine levinud viis on diskreetida ühtlaste intervallide tagant ruumis. On olemas ka teisi esitusi, kuid need kaks on levinumad Igal lineaarsel filtril on impulss-koste, sageduskarakteristik ja samm-koste. Need sisaldavad täielikku informatsiooni filtri kohta, kuid erineval kujul. Kui üks kolmest on määratletud, siis on võimalik teist kahte arvutada. Kõik kolm esitust on tähtsad, kuna need kirjeldavad filtri toimet erinevates olukordades. Kõige lihtsam viis digitaalse filtri teostamiseks on teha konvulsioon sisendsignaali ja filtri impulss-koste vahel. Konvulsiooni korral arvutatakse iga väljund sisendilugemite kaalumisel ja liitmisel. Sel viisil tehakse kõikvõimalikud lineaarsed filtrid. Sel juhul nimetatakse filtri impulss-kostet filtri kerneliks. Teine filtri loomise viis on rekursiivne. Rekursiivsed filtrid kasutavad väljundi arvutamiseks lisaks sisendlugemitele ka eelnevaid väljundlugemeid ja neid iseloomustab rekursiooni tegurite hulk. Filtri impulss-koste teada saamiseks piisab sellest, kui filtri sisendisse anda impulss ja vaadata väljundit. Rekursiivsete filtrite impulss-koste koosneb eksponentsiaalselt kahanevate amplituudidega sinusoididest, mis teeb nende impulss-koste põhimõtteliselt lõpmatult pikaks. Selle eripära tõttu kutsutakse neid ka lõpmatu impulss-kostega (IIR) filtriteks. Konvulsiooni kasutavaid filtreid kutsutakse aga vastupidi – lõpliku impulss-kostega (FIR) filtriteks. Ükskõik millise DSP ülesande puhul tuleb esmalt mõista, mis kujul on informatsioon signaalis. On eri viise, kuidas signaal võib informatsiooni kanda, eriti inimeste poolt loodud signaalides: amplituudmodulatsioon, sagedusmodulatsioon, PCM, PWM jne. On aga vaid kaks viisi, mis on tüüpilised looduslikele signaalidele: aegesituses sisalduv info ja sagedusesituses sisalduv info. Aegesitus näitab, millalgi midagi toimub ja selle sündmuse amplituudi. Näiteks rõhu mõõtmine iga sekundi tagant. Iga lugem annab infot rõhu suuruse kohta ja on tõlgendatav ka üksiklugemina. Sagedusesituses sisalduv info ei ole nii otsene. Informatsioon sisaldub signaali eri punktide omavahelises vahekorras. Üksiklugem ei sisalda informatsiooni perioodiliste liikumiste kohta. Filtri disainimisel tuleb otsustada, kummas esituses paremat jõudlust soovitakse. Mõlemaks korraga filtrit optimeerida ei saa. Ülaltoodud joonis võtab kokku digitaalfiltrite liigitamise kasutuse ja täideviimise järgi. Kasutusvaldkonnad saab jagada kolmeks kategooriaks: aegesitus, sagedusesitus ja kohandatud. Aegesituse puhul on informatsioon signaali kujus ja filtrit kasutatakse signaalis silumiseks, alalisvoolu eemaldamiseks, signaali kuju muutmiseks jne. Sagedusesituse filtreid kasutatakse kindlate sageduste eraldamiseks spektrist. Kohandatud filtreid kasutatakse keerulisemate ülesannete jaoks, näiteks dekonvulsiooniks (soovimatu konvulsiooni eemaldamiseks). Filtrite teostamise viisid on järgmised: konvolutsioon (lõpliku siirdega filtrid ehk FIR-filtrid) ja rekursioon (piiramatu siirdega filtrid ehk IIR-filtrid). Konvolutsiooni kasutavad filtrid võivad olla suurema jõudlusega, kuid on aeglasemad. DSP rakendusvaldkondi võib üldjoontes jagada kaheks. Esimese jaotuse hulka kuuluvad rakendused, mida on võimalik implementeerida kasutades analoogtehnikat, ent kus DSP kasutamine suurendab jõudlust märgatavalt. Teise jaotusesse kuuluvad rakendused, mida ei ole võimalik ilma DSP-d kasutamata luua. Mõned konkreetsed näited eri valdkondadest: Multipleksimine – DSP abil on võimalik muuta helisignaal järjestikuseks bittide jadaks. Kuna erinevaid bitijadasid saab lihtsalt tükkideks jagada ja omavahel põimida (ning hiljem ka algne jada taastada), siis on võimalik ühel raadiokanalil edastada mitut erinevat andmeliiklust (kõne, andmeside) korraga. Aegmultipleksimine kasutab seda tehnoloogiat. Tihendus – kõne digiteerimisel on suur osa informatsioonist ülemäärane st iga lugemi informatsioon on suurel määral dubleeritud naaberlugemite poolt. Bittide hulga vähendamiseks on välja töötatud erinevaid andmetihenduse algoritme. Sama algoritmiga lahti pakkides on võimalik taastada algne signaal. Andmetihenduse algoritmid erinevad tihenduse ja sellest tuleneva helikvaliteedi poolest. Kaja eemaldus – telefoniga kõneledes liigub kõne kirjeldav signaal vastuvõtjani ja osa sellest pöördub tagasi kajana. Kuigi inimkõrv on harjunud väikese viivitusega kajaga, muutub vahemaade suurenemisega ka viivitus üha eristatavaks ja häirivaks. DSP lahendab probleemi, mõõtes tagasitulnud signaali ja genereerides kajast jäljendi. Sama tehnoloogia võimaldab kasutajal rääkida ja kuulata samal ajal, ilma et peaks heli tagasisidega võitlema. Helisignaali komprimeerimine (pakkimine, tihendamine) – digiteeritud helisignaali töötlemine digitaalse edastamise ja salvestamise jaoks andmemahu vähendmiseks (näiteks MP3-kompressioon). Üldjuhul peaks see toimuma kuulaja jaoks teatud tingimustel (taasesitamise helitugevusel) mittetajutava helikvaliteedi languse hinnaga. Helifailide pakkimine andmefailide jaoks kasutatavate andmetihendusvõtete kasutamise korral reeglina sama häid tulemusi ei anna. Muusika – paljukanalilise (paljurealise) helisalvestuse iga salvestatud helirada (tavaliselt ühe muusikainstrumendi heli) saab käsitleda erinevalt, näiteks töödelda viivitusega signaalide lisamisega selleks, et tekitada suure kontserdisaali tunnet (reverberatsiooni). Digitaalne paljurajaline salvestamine on oluline vältimaks korduva analoogse helisalvestamise ja hilisema manipulatsiooniga seonduvat helikvaliteedi mõningat langust. Kõne genereerimine – on kaks lähenemist, mida kasutatakse kõne genereerimiseks: digitaalne salvestus ja inimese heliteede matkimine. Digitaalse salvestuse korral digiteeritakse inimhääl ja talletatakse see tihendatud kujul. Taasesitluse ajal pakitakse signaal taas lahti ja muundatakse analoogsignaaliks. Inimese heliteede matkimise korral püütakse simuleerida inimese kõne loomise füüsilisi protsesse. Näiteks kasutatakse filtreid, mille resonantsisagedused on sarnased suuõõne omadega. Kõnetuvastus – väga keeruline teostada. Arvuti püüab kõnest eraldada sõnad ja neid analüüsides ja oma andmebaasiga võrreldes leida lähim vaste. Enamasti on need süsteemid piiratud sõnaraamatuga, nõuavad väga korrektset kõnelemist ja tuleb iga indiviidi jaoks eraldi seadistada. Radar – DSP on toonud kolm suuremat muutust radarites. Esiteks suudab DSP tihendada vastuvõetud impulssi, parandades kauguse määratlemist ilma tegevusulatust vähendamata. Teiseks suudab DSP filtreerida sissetulnud signaalist müra välja. See parandab kaugust, vähendamata kauguse määratlemise täpsust. Kolmandaks võimaldab DSP kiiresti genereerida erineva kuju ja pikkusega impulsse, mis võimaldab optimeerida impulssi otsitavast objektist sõltuvalt. Sonar – sarnaselt radariga on DSP parandanud samu valdkondi: impulsi genereerimist ja kompressiooni, filtreerimist ning tuvastatud signaali. Kuna sonar töötab mitmel eri kanalil korraga, siis on tarvis suurt arvutusvõimsust. Peegeldusseismoloogia – DSP-d kasutatakse, et eemaldada mõõtmistest kihtidevaheliste kaja andmed. Ilma selleta oleks maapinna kihtide tuvastamine väga keeruline. Meditsiin – kompuutertomograafia (CAT) skanner saadab röntgenikiirgust läbi kehade ja saadud andmed salvestatakse digitaalselt. Saadud andmeid kasutatakse, et välja arvutata keha ristlõikeid. Magnetresonantstomograafia (MRT) tugineb DSP tehnilistele võtetele ega saaks ilma nendeta töötada. Kosmos – kosmoses teevad enamasti pilte mehitamata seadmed, mistõttu ei ole nende kvaliteet alati parim. DSP-ga on võimalik ebasoodsates tingimustes tehtud pilte parandada mitmel viisil: reguleerida heledust ja kontrasti, vähendada pildimüra, muuta fookust, teravustada jne. Kommertspildindus – pilditihendus: just nagu helil on ka pildil üleliigset informatsiooni, mida on võimalik algoritme kasutades vähendada. Video on eriti sobilik kompressiooni jaoks, kuna tihti toimuvad kaadri vahetumisel ainult väikesed muutused. Analoog-digitaalmuundur Diskreetimine Kvantimine Saeed V. Vaseghi, Advanced Digital Signal Processing and Noise Reduction: Fourth Edition, Chichester : Wiley, 2008. ISBN 978-0-470-75406-1 lk 6 Dag Stranneby, William Walker, Digital Signal Processing and Applications, Amsterdam [etc.] : Elsevier/Newnes, 2004. ISBN 0-7506-6344-8 lk 1–2 Steven W. Smith, The Scientist and Engineer's Guide to Digital Signal Processing Will Strauss: Early history of the DSP chip, www.eetasia.com, info saadaval 06. november 2011 (inglise) Li Tan, Digital signal processing : fundamentals and applications, Amsterdam [etc.] : Elsevier/Academic Press, 2008. ISBN 978-0-12-374090-8 lk 2–3