Digitaalinen Signaalinäsittel T25 Luento 2-24.3.26 Jaro.Vuori@evte.fi Man cannot inherit the past; he has to recreate it Arthur Koestler, The act of creation, 964 Järjestelmän uvaus aiatasossa Differenssihtälö = ulostulon lasuaava vrt. differentiaalihtälö jatuva-aiaisille järjestelmille [n-] [n-2] ~ d/dt Lineaariselle aiainvariantille järjestelmälle voidaan differenssihtälö esittää muodossa = a [ n ] = b x[ n ] a =, Jos järjestelmä on ausaalinen, htälö voidaan uudelleenjärjestää muotoon a b [ n] = [ n ] + x[ n ] a a Valitsemalla ertoimet sopivasti saadaan eri termien differenssejä esim. [n-] [n-2] = x[n-] x[n-2] un a =,a 2 =-,b = ja b 2 =-. = = T25/JV 2
Järjestelmän uvaus aiatasossa b a = a = a sisäänmenon historia taaisintentä [ n] = x[ n ] [ n ] b = sisäänmenon painoertoimet (vaioita!) a = taaisintennän painoertoimet (a,b ) = järjestelmän parametrit = suodinparametrit = järjestelmän asteluu = pisin järjestelmän aiaviive T25/JV 3 Järjestelmän uvaus aiatasossa Esim. olmen pisteen esiarvon laseva suodin [ n] = ( x[ n] + x[ n ] + x[ n 2] ) = x[ n ] 3 = 3 suodinparametrit a =,b =b =b 2 =/3 2 T25/JV 4 2
Järjestelmän uvaus aiatasossa Rataise differenssihtälö -a[n-]= olettaen =, un n < ja =δ[n] Kätännössä tämä taroittaa ssteemin impulssivasteen selvittämistä Rataisu etenee muuttamalla htälö edellisen alvon esittämään muotoon ja rataisemalla perättäisille n arvoille = a[n-] + n =, n =, [] = a[-] + x[] = [] = a[] + x[] = a n = 2, [2] = a[] + x[2] = a 2 un tätä jatetaan, havaitaan että =a n,un n. Kosa ssteemin söte on un n <, impulssivaste on h[n]=a n µ[n] Differenssihtälö voidaan lasennallisesti rataista paljon helpommin uin differentiaalihtälö T25/JV 5 a T Järjestelmän uvaus aiatasossa Järjestelmän impulssivaste on h[n]=a n µ[n],8,7,6,5 Jos a =,7,4,3,2, 2 3 4 5 6 7 8 9-3 -2-2 3 4 5 n a T 6 4 Jos a =,3 = a[n-] + 2 8 6 Huom! Ei stabiili 4 2 2 3 4 5 6 7 8 9 T25/JV 6 3
Impulssivaste Järjestelmän ulostulo un sisäänmenossa on impulssi -3-2 - 2 3 4 5 n δ[n] h[ ] h[n] h [ n] = b δ [ n ] a h[ n ] = = taaisintentä impulssi etenee viivelinjassa T25/JV 7 h h [ n] =, n < h Impulssivaste [ n] = b δ [ n ] a h[ n ] = = = = = Voidaan lasea numeerisesti ausaaliselle järjestelmälle [ ] b δ [ ] a h[ ] = b h [ ] = b δ [ ] a h[ ] = = = b a b T25/JV 8 4
Impulssivaste Jos ei taaisintentää, niin h [ n] = b δ [ n ] = -3-2 - 2 3 4 5 n Esim. = /3( + x[n-] + x[n-2]) h[n]=/3(δ[n] + δ[n-] + δ[n-2]) /3-3 -2-2 3 4 5 n T25/JV 9 Impulssivaste Järjestelmät luoitellaan impulssivasteen perusteella. FIR (Finite Impulse Responce) äärellisen impulssivasteen järjestelmät Impulssivaste on päättvä (voi tosin olla pitäin) Järjestelmän asteluu ertoo uina auan ssteemi reagoi muutoseen (sötteeseen) 2. IIR (Infinite Impulse Responce) äärettömän impulssivasteen järjestelmät Päättmätön impulssivaste T25/JV 5
FIR Liiuvan esiarvon menetelmä on paljon ätett menetelmä ohinaisen signaalin (esim. pörssiurssit) suodattamisesi Esim. 2 päivän esiarvo määritellään seuraavasti 2 [ n] = { x[ n] + x[ n ] + x[ n 2] + + x[ n 99] } =,5 99 = [ n ] x K Intel Corp. Osaeurssi aluvuodesta 2 Joa erran un uusi näte tulee saataville, joudutaan lasemaan oo esiarvo uudestaan T25/JV FIR P [ n] = b x[ n ] = Järjestelmän asteluu on P, joa määrää järjestelmän impulssivasteen pituuden Mitä suurempi P on, sitä monipuolisempia efetejä järjestelmä enee ulostuloon snnttämään Toisaalta mös järjestelmän lasenta tulee töläämmäsi P nätteen jäleen impulssivaste on Järjestelmän toiminnan määräävät ertoimet b T25/JV 2 6
IIR Liiuvan esiarvon lasenta suoraan ei ole lasennallisesti ovin tehoasta Lasennan tulos on melein sama uin edellisenin tulosen, ainoastaan uusin näte on sisälltett lasentaan ja vanhin näte poistettu Tätä hödntämällä voidaan liiuvan esiarvon lasenta järjestellä tehoaammin [ n + ] =,5{ x[ n + ] + x[ n] + x[ n ] + + x[ n 98] } = [ n] +,5{ x[ n + ] x[ n 99] } Tämä hödntää edellistä esiarvoa lasiessaan uuden esiarvon. Kosa lasenta on aiainvarianttia, htälö voidaan saattaa muotoon Tämä on reursiivinen lasentaaava liiuvalle esiarvolle. K [ n] = [ n ] +,5{ x[ n] x[ n 2] } T25/JV 3 P IIR [ n] = b x[ n ] a [ n ] = Kosa mös järjestelmän vanha ulostulo vaiuttaa niseen ulostuloon, järjestelmän aiaansaamat efetit voivat olla monipuolisempia uin samanasteisella FIR-järjestelmällä Huomaa että erroin a = ninen ulostulo ei tietenään vaiuta niseen ulostuloon Vaatii taaisintennän Mutta taaisintentä sinänsä ei taaa että järjestelmä olisi IIR! Q = T25/JV 4 7
IIR Esim. =,5[n-] h[n]=δ[n],5h[n-] -,5 T /4 /6 Impulssivaste jatuu äärettömteen -3-2 - 2 3 4 5 n /2 /8 /32 T25/JV 5 Impulssivaste Jos järjestelmässä on taaisintentä, niin impulssivaste tät lasea, jotta selviää ono järjestelmä FIR vai IIR tppinen Esim. =/3(-x[x-3]) + [n-] h[n] = /3(δ[n]- δ[n-3]) + h[n-] h[] = /3 h[] = /3 /3 h[2] = /3 h[3] = -2-2 3 4 5 ei siis IIR -3 n T25/JV 6 8
Impulssivaste ja stabiilisuus Määritelmä: B x B Jos impulssivaste on absoluuttisesti summautuva, niin järjestelmä on stabiili = h [ n] < FIR-järjestelmät ovat stabiileja! B h T25/JV 7 Impulssivaste ja stabiilisuus Esim. h [ n] = δ [ n ] = 2 = h Esim. 3 [ n] = [ n] = x[ n] [ n ] 2 2 = = = 2 = 2 stabiili /4 /6-3 -2-2 3 4 5 n /32 /2 /8 T25/JV 8 9
Signaalin uvaaminen impulssien avulla Kuvassa a) on digitaalinen signaali Signaali voidaan uvata impulssien superpositiona, uvat b) f) Joainen siöimpulssi on painotettu :llä ja aiasiirrett n nätettä Esim. uva b) voidaan esittää muodossa x[-2]δ[n+2] Koo signaali voidaan esittää siten muodossa = + x[-2]δ[n+2]+x[- ]δ[n+]+x[]δ[n]+x[]δ[n- ]+x[2]δ[n-2] + tai = [ n] = x[ n] δ [ n ] x Huomaa, että vain hdellä n arvolla impulssi on nollasta poieava, eli impulssi valitsee (tai aiasiirtää) hden nätteen T25/JV 9 Konvoluutio (convolution) Kuvassa a) on neljän nätteen digitaalinen signaali ja uvassa b) on erään järjestelmän impulssivaste Tehtävänä on selvittää järjestelmän vaste annetulla sötteellä Kuvassa c) on digitaalinen signaali esitettnä painotettuina ja aiasiirrettinä impulsseina Kuvan c) impulssit viedään järjestelmän läpi jolloin saadaan uvan oiean reunan vaste Yhden impulssien vaste on helppo lasea, errotaan vain impulssivaste söteimpulssin oreudella (lineaarinen järjestelmä) ja siirretään impulssi alamaan söteimpulssin jäleen (ausaalinen järjestelmä) Kosa järjestelmä lineaarinen, superpositioperiaate on voimassa (vaiutusten summa on summien vaiutus) voidaan aii erillisten impulssien vasteet summata hteen, näin saadaan oo järjestelmän vaste = + x[-2]h[n+2]+x[-]h[n+]+x[]h[n]+x[]h[n- ]+x[2]h[n-2] + tai Konvoluution [ n] = x[ n] h[ n ] x[ n]* h[ n] = merintä = Ko. aava on ns. onvoluutiosumma Ulostulosignaali on painotettujen ja aiasiirrettjen impulssivasteiden summa convolve= iertä,ietoutua T25/JV 2
Konvoluutio Konvoluutiosumman lasentaa voidaan havainnollistaa graafisesti oiean puoleisella uvalla Kuvassa on digitaalisen järjestelmän sötesignaali ja järjestelmän impulssivaste h[n] Sen sijaan että tarastelisimme sötesignaalia impulssien jonona, signaali on esitett suoraan Impulssi on esitett taaperin (äänteisenä), alaen siitä n arvosta josta järjestelmän ulostulo halutaan lasettavan Konvoluutio on näiden signaalien tulojen summa, eli [] = 3 + 2 - + 2 = 3 seuraava näte saadaan siirtämällä taaperoista impulssivastetta eteenpäin (oiealle) hden nätteen verran, eli [2] = - + 3 - + 2 2 = Kuva esittää siis onvoluutiosumman lasentaa, un n =, eli [ ] = x[ ] h[ ] = [ n] x[ n] h[ n ] = x[ n]* h[ n] = = htälössä esiintvä on apumuuttuja joa häviää un signaalien välinen ertolasu ja summaus on suoritettu Vaiain onvoluutiosumma on määritelt äärettömän pitille signaaleille, ätännössä lasentaa tarvitsee tehdä vain impulssivasteen pituudelta (jolloin h[n] ) T25/JV 2 Konvoluutio Konvoluutio on ommutatiivinen, eli [ n] = x[ n] h[ n ] = x[ n]* h[ n] = h[ ] x[ n ] = h[ n]* x[ n] = Konvoluutiosummalla voidaan impulssivasteen avulla lasea lineaarisen ja aiainvariantin (LTI = Linear and Time Invariant) järjestelmän ulostulo =h[n]* h[n] = Perusmuodossaan onvoluutio ei vaadi järjestelmän olevan ausaalinen (impulssivaste voi olla h[n] un n < ) T25/JV 22
Konvoluutio Konvoluutiosumman aavasta nähdään että sen toteuttaminen vaatii ertolasujen ja hteenlasujen lasentaa hden nätteenottovälin aiana impulssivasteen pituuden verran Eli htä ulostulon nätettä ohden joudutaan lasemaan useampia ertolasu/hteenlasupareja Konvoluutiosumma voidaan lasea leisättöisellä prosessorilla Ongelmana on uitenin leensä muistin aistanleveden riittäminen Seä ohjelmassa olevan ontrollioodin ja osoittimien päivittämisen hitaus Ja lisäsi mahdollisesti hidas ertolasu Audiojärjestelmissä on leensä ätössä 96 Hz nätteenottotaajuus (tai pienempi), nätteiden väli on silloin,4 µs Jos audiosignaalinäsitteljärjestelmän impulssivasteen pituus on nätettä, hden järjestelmän ulostulon nätteen lasemiseen tarvitaan ertolasua ja hteenlasua; aiaa tähän saa ulua vain hden nätteen verran, eli,4 µs Silloin ertolasun ja hteenlasun suorittamiseen saa ulua aiaa vain 4 ns Digitaalisessa uvanäsittelssä nätteenottotaajuus voi olla luoaa 4 Mhz ja uvanäsitteljärjestelmien impulssivasteiden pituudet nätteen verran Silloin ertolasun ja hteenlasun suorittamiseen saa ulua aiaa vain 723 ps! =h[n]* h[n] = [ n] = x[ n] h[ n ] osoittimien päivits silmuan ontrollioodi T25/JV 23 Konvoluutio Signaaliprosessorissa em. haittoja on pritt minimoimaan Kovoertoja (ns. MAC-siö) Kertolasun ja hteenlasun hteisoperaatiota utsutaan multipl-and-accumulate (MAC) operaatiosi Signaalinäsitteln sopivat osoitusmuodot (rengaspusuri) Useita väliä esussiön ja muistin välillä Signaaliprosessorien lasentateho onvoluution tppisissä ongelmissa on n. ertainen verrattuna leisprosessoreihin x [ n]* h[ n] = =h[n]* h[n] = [ n] h[ n ] x ; Data pointed b r is convolved b r4, result will be in accumulator a ; Motorola DSP56 signal processor implementation P:6C 23 clr a P:6D F88 move x:(r)+n,x :(r4)+, P:6E 63FA rep #taps- P:6F F88D2 mac x,,a x:(r)+n,x :(r4)+, P:7 25AD3 macr x,,a T25/JV 24 2
Konvoluutio Tehoaissa leisprosessoreissain on vetoroivia äsantoja (esim. AMD & Intel SSE3) jota nopeuttavat huomattavasti onvoluution lasentaa Intelin Integrated Performance Primitives 5. ohjelmistoirjasto hödntää prosessorin ominaisuusia tarjoten ättäjälle sinertaisen liiittmän Esim. onvoluution lasenta status = ippsfir_32f( x, z, UMITERS, fctx ); x [ n]* h[ n] = =h[n]* h[n] = [ n] h[ n ] x Ideana on piloa 64-bittinen ALU useampaan pienempään rinnaain lasettavaan osaan Vetoroidussa ässsä T25/JV operaatio suoritetaan usealle 25 operandille rinnaaisesti Konvoluutio Konvoluutio on digitaalisen suodatusen perusta Esim. miä on järjestelmän h[n] = /3(δ[n] + δ[n-] + δ[n-2]) aselvaste? µ[n] h[n] u[n] Konvoluutiolla voidaan lasea järjestelmän vaste u[n] = µ[n] * h[n] T25/JV 26 3
u Konvoluutio 3 [ n] ( δ [ ] + δ [ ] + δ [ 2] ) µ [ n ] = = = µ 3, un =, un 3 3 [ n] + µ [ n ] + µ [ n 2] -3-2 - 2 3 4 5 n alipäästösuodatin 2/3 /3-3 -2-2 3 4 5 n T25/JV 27 Lohoaavio Lohoaavio ~ järjestelmän toteutus = implementaatio Kertoo millä lailla järjestelmä on toteutettu Kertoo mitä perussignaaliäsittelsiöitä (oiealla) järjestelmässä on ja miten ne ovat tett toisiinsa Graafisena esitsmuotona antaa nopeasti hvän leisuvan järjestelmästä Kätetään mös termiä vuoaavio Kertolasu vaatii toteutusessa ertolasusiön Yhteenlasu vaatii summaimen Viive vaatii muistipaian (jossa nätettä pidetään talletettuna haluttu aia) a x [n] x 2 [n] a T x [n]+x 2 [n] x [n] x 2 [n] x[n-] x [n] x 2 [n] T25/JV 28 4
Direct Form I Äärettömän impulssivasteen järjestelmä voidaan uvata htälöllä [ n] = b x[ n ] a [ n ] = Suoraviivaista htälön toteutusta utsutaan Direct Form I tpin realisaatiosi = = b x [ n ] T25/JV a [ n ] 29 = Direct Form ehittelä Kosa järjestelmä lineaarinen, Direct Form I toteutus voidaan jaaa ahteen eri osaan ja vaihtaa niiden järjeststä Järj. Järj. 2 T25/JV 3 5
Direct Form II Viiveet voidaan hdistää, jolloin saadaan saman IIRjärjestelmän htälön toinen realisaatio, Direct Form II Tämä toteutus vaatii puolet vähemmän muistia uin Direct Form I toteutus (osa viivelementtien määrä on puolet pienempi) T25/JV 3 Järjestelmän eri muodot Samalla järjestelmällä (joa on LTI, lineaarinen ja aiainvariantti) Ysi impulssivaste (määrää siäsitteisesti järjestelmän toiminnan) Voi olla monta differenssihtälöä Hvin monta eri vuoaaviota Esim. h[n]=/3(δ[n] + δ[n-] + δ[n-2]). = /3( + x[n-] + x[n-2]) 2. = /3(- x[n-3]) + [n-] T25/JV 32 6
Järjestelmän eri muodot /3 /3 T T /3 = /3( + x[n-] + x[n-2]) T T /3 /3 T /3 3 T - T 3 T = /3(- x[n-3]) + [n-] T25/JV 33 - Lohoaavion analsointi Lohoaaviosta differenssihtälö. Seurataan sisäänmenosignaalin ja taaisintennän vaiutusta 2. Sisääiset silmuat voidaan rataista apumuuttujan avulla T25/JV 34 7
Lohoaavion analsointi w[n]-,5w[n-] -,5 w[n] T T,6 w[n-] w[n-2],6w[n-2],4,4w[n-]. Apumuuttuja w[n] 2. Seurataan w[n]:ä 3. w[n]=+,4w[n-] w[n]-,4w[n-]= 4. Seurataan lisää 5. =w[n]-,5w[n-]+,6w[n-2] 6. Eliminoidaan apumuuttuja lasemalla -,4[n-]: = w[n],5w[n-] +,6w[n-2] -,4 ([n-] = w[n-],5w[n-2] +,6w[n-3]) ---------------------------------------------------------------------------- w[n]-,4w[n-],4[n-] =,5x[n-] +,6x[n-2] (=) -,5(w[n-]-,4w[n-2]) (=x[n-]),6(w[n-2]-,4w[n-3]) (=x[n-2]) T25/JV 35 Järjestelmä aiatasossa Differenssihtälö Lasuaava Disreettiaiainen esits a = [ n ] = b x[ n ] = Toteutus Lohoaavio Impulssivaste Aiatason ominaisuudet Stabiilisuus Konvoluutio δ[n] h[ ] h[n] T25/JV 36 8