Hovedoppgave. av Jan Jakobsen. Institutt for Fysikk Universitetet i Oslo

Størrelse: px
Begynne med side:

Download "Hovedoppgave. av Jan Jakobsen. Institutt for Fysikk Universitetet i Oslo"

Transkript

1 Hovedoppgave av Jan Jakobsen Institutt for Fysikk Universitetet i Oslo

2 Innholdsfortegnelse Innledning... 4 Problemstilling... 4 Nummer representasjon... 4 Filterbeskrivelser... 5 Ulike typer design... 8 Bitparallell aritmetikk... 8 Bit seriell aritmetikk... 8 Fordeler og ulemper... 8 Om digitale filtre Design av filtre Spesifisering Aproksimering Ulike filterstrukturer/realisering Direkte form Direkte form Kaskadeform FIR Lattice IIR-filtre Standard Z-transformering Billineær Z-transformering Stabilitet FIR-filtre Vindu metoden Frekvensvinduer Minimax Bitserielt bibliotek Seriell arkitektur Tallrepresentasjon ABSOLUTT ADDER SUBTRAKT DSHIFT MSHIFT ORDER FORMAT1TO FORMAT 3TO LIMIT MULTIPLY Usignert multiplikasjon Multiplikasjon med signert koeffisient Multiplikasjon med signert data og koeffisient Avrundingsmultiplikator Seriell/seriell multiplikator

3 Dobbelpresisjonsmultiplikator Implementering IIR filter FIR filtre Multiplekset FIR filter Test av filtere Konklusjon Litteratur

4 Innledning Problemstilling Lage ett sett med kretser basert på bitseriell arkitektur. Kretsene skal modelleres i maskinvaremodelleringsspråket verilog. Verilog modulene skal være parametriserbare og med et veldefinert grensesnitt. Modulene utgjør de mest brukte funksjonene i digital signalbehandling. Målet med å lage dette funksjonsbiblioteket er å forenkle arbeidet med å lage vilkårlige bitserielle kretser. Funksjonene skal kunne brukes i ett maskinvaremodelleringsspråk omtrent som funksjoner i for eksempel C. Stadig raskere digitale kretser vil i mange tilfeller muliggjøre en filter-realisering med bitseriell arkitektur. Denne arkitekturen er mindre arealkrevende enn en vanlig parallell arkitektur og større funksjonalitet kan derfor legges inn på en enkelt brikke. Med minkende transistorer får også parallelle kretser problemer med kommunikasjon internt i brikken og mellom brikken og omverdenen 1.Tidligere var bitseriell arkitektur vanligere pga. høy pris på maskinvare og liten plass på brikkene. I dag er prisen på maskinvare lav og parallelle arkitektur dominerer. I programmerbare kretser, FPGA, er plassen liten og en seriell arkitektur vil være ypperlig å bruke i disse 2. Størstedelen av arbeidet med denne oppgaven er lagt i å utvikle ett sett med bitserielle kretser som utfører de vanligste operasjonene i ett digitalt filter design og å simulere noen filtre som er realisert med disse. Denne oppgaven er dermed to-delt. I den første delen drøfter jeg generell teori om digitale filtre frem til implementeringen av filtrene. I den andre delen tar jeg for meg bitseriell design, med hovedvekt på utviklingen og simuleringen av det bitserielle biblioteket. Disse delene knyttes tilslutt sammen i implementeringen av noen filtre. Den første delen av oppgaven er delt opp i fire avsnitt: -Definerer og klargjør noen begreper. -FIR-filtre. -IIR-filtre. -Ulike filterstrukturer. Jeg har valgt å skrive om FIR og IIR hver for seg fordi de er veldig forskjellige, både i hvilke egenskaper de har og hvordan de utvikles. Nummer representasjon For binærkodet aritmetikk er det flere mulige nummerrepresentasjoner, 'signed magnitude' og 1' komplement er mulige, men de har ikke en unik definisjon av null og dette vil komplisere operasjoner som addisjon og subtraksjon 3. Det vanligste er å bruke 2'komplement representasjon. Dette har ett unikt nullpunkt og signert addisjon og subtraksjon kan behandles likt som usignert addisjon og subtraksjon. En annen viktig egenskap med denne representasjonen er at den er tolerant for overflyt i addisjon og subtraksjon, så lenge det endelige resultatet ligger innenfor det tillate dynamiske området 4.

5 Ett tall representert i 2'komplement er definert til å ligge mellom -1 og 1. X x 0 i n 1 1 x i 2 i Der n er antall bit som skal brukes i representasjonen. X0 kalles heretter fortegnsbiten eller MSB 'Most Signifficant Bit', x(n-1) kalles LSB 'Least Signifficant Bit'. Den mest signifikante bit'en har negativt fortegn mens de resterende er positive. En ulempe med denne representasjonen er at en total konvertering (positiv til negativ) blir mer komplisert. 5 Alle bitene må inverteres og en må legges til på LSB. Dette kan gjøres med SUB-kretsen, som jeg skal vise senere. Filterbeskrivelser De filtrene jeg skal beskrive her er alle tidsinvariante og linære. Det finnes mange måter å beskrive slike filtre, det vanligste er ved impulsresponsen h(t). Det kan vises at impulsresponsen til ett filter, beskriver filteret fullstendig. Hvis impulsresponsen først er kjent, kan responsen til ett vilkårlig signal u(t) finnes ved konvulsjon 6 : Y( t) u( T) m( t T) dt Y(t) = Int[u(tt) m(t-tt)], for det kontinuerlige tilfellet. Y( n) m u( m) h( n m) Y(n) = Sum[u(n) h(m-n)], for det diskrete tilfellet. Ofte skrives konvulsjon bare som y = h*u. Konvulsjon er en vanskelig prosess å utføre, derfor foretrekkes en beskrivelse av filteret i frekvensdomenet. En konvulsjon i tidsdomene er en enkel multiplikasjon i frekvensdomenet: 5

6 L[y] =L[h*u] = H(s)U(s). H(z) kalles systemets overføringsfunksjon og den gir en enkel sammenheng mellom utgangssignal Y(z) og inngangssignal U(z) til filteret: Y(z) = H(z) U(z). Med en beskrivelse av filteret på formen H(w) eller H(z) er det enkelt trekke ut opplysninger om frekvensresponsen til filteret. Mesteparten av metodikken i signalbehandling er derfor konsentrert om denne beskrivelsen. Beregninger på filtre gjøres altså i frekvenssdomenet og den klassiske overgangen mellom tids og frekvensdomenet er fourieranalyse. Det er to typer fourieranalyse, DFT, diskret fouriertransformering for diskrete signaler (digitale) og CFT, kontinuerlig fouriertransformering, for kontinuerlige (analoge) signaler. Det kan vises at Laplacetransformasjon er en generalisering av CFT og Z-transformasjon er en generalisering av DFT. Digitale filtre vil jeg altså beskrive i Z-domenet, i denne oppgaven. Filtere i s- domene kommer jeg bare til å drøfte i forbindelse men IIR-filtre. Digitale filtre beskrives, på generell form, i tidsdomenet med det som kalles standard differenslikningen: y(k)+a1y(k-1)++any(k-1) = b0u(k)+b1y(k-1)++bnu(k-n). I z-domenet kan dette skrives som: H(z) = sum[ajz^-j]/(1+sum[bjz^-j]). Alternativt kan vi skrive det ut som: H(z) = Y(z)/U(z) Y(z) = U(z)sum[aj^-j] - Y(z)sum[bjz^-j]. Hvis minst en ai og en bi er ulik null, er filteret ikke bare avhengig av nåværende og tidligere inngangsdata U(), men også av tidligere utgangsdata Y(). Dette er ett rekursivt filter eller IIR. IIR 'Infinite Impulse Respons' betyr at ett signal, i teorien, aldri vil dø ut i filteret. Denne tilbakeføringen er det som kan gi ustabilitet i filteret og dette må tas hensyn til i design av denne type filtre. Hvis derimot alle bi er null, er filteret ikke-rekursivt eller FIR. Utgangen er bare avhengig av nåværende og N tidligere inngangsdata. FIR 'Finite Impulse Respons' betyr at ett signal i filteret tilslutt vil dø ut, da det ikke er noen tilbakeføring. FIR og IIR er de to hovedklassene av filtere. IIR kan sees på som en digital ekvivalent til 6

7 analoge filtre og i design av IIR brukes vanligvis ett analogt filter som utgangspunkt. Som for analoge filtre har H(z) til ett IIR-filter poler og det er derfor viktig å passe på å velge filter koeffisientene ai og bi, slik at filteret blir stabilt. FIR-filteret har ikke noen analog ekvivalent, overføringsfunksjonen H(z) har ingen poler og er derfor garantert stabilt. FIR-filtre har som oftest gode fase-egenskaper. Ulempen med FIR-filtre er at det trengs ett stort antall ledd for å få en skarp frekvensrespons. 7

8 Ulike typer design Kretser kan realiseres på ulik måte, bitseriell, digitseriell og parallell. Bitseriell arkitektur prosesserer en bit hver klokke syklus, digitseriell prosesserer ett bestemt antall biter av et ord per klokke syklus og parallell arkitektur prosesserer hele ordet i en klokke-sykel. Bitparallell aritmetikk Inngangene og utgangene er busser ett ord brede, og i teorien skal alle bitene prosesseres samtidig og alle bitene kommer til utgangen samtidig 7. Siden alle bit-ene prosesseres samtidig må prosesserings elementene gjøre mye arbeid per klokke syklus og klokkehastigheten begrenses. I praksis må bitene ofte prosesseres sekvensielt likevel, for eksempel i ett addisjonselement hvor resultat biten avhenger av resultatet av biter med lik eller mindre signifikans. Dette gir opphav til en forsinkelse som i sin tur begrenser klokke hastigheten. Det er mulig å bruke ulike teknikker for å minske dette problemet, for eksempel med 'carry look ahead', 'carry save' logikk osv. Felles for disse er at de krever mer logikk og dermed større areal. En addisjon i parallell logikk må realiseres med en rekke 'full addere' FA, like mange som det er bit i ordet og med en mente logikk som forbinder dem. Parallell multiplikasjon gjøres på samme måte som når man multipliserer for hånd, et array av addere og AND porter danner de partielle produktene og legger dem sammen. For å danne produktet A*B, trengs det en diagonal med FA og en AND port for hver ny bit av A og en ny rekke FA for hver ny bit av B. For en m-bit *n-bit multiplikator trengs det (m-1)n FA. Multiplikasjons tiden avhenger av tiden menten bruker ti å bevege seg gjennom arrayet. Bit seriell aritmetikk Inngangene og utgangene et en bit bred. Signalene går altså på enkelt ledninger. En bit prosesseres av gangen, vanligvis LSB først 8. Alle bitene passerer gjennom den samme logikken og dette sparer enormt mye plass. Etterfølgende ord vil vanligvis komme rett etter hverandre uten pause. Bit seriell arkitektur krever kontroll signaler c1, for å markere ankomsten av LSB gjennom alle aritmetiske operasjoner. Operasjonene er ukompliserte fordi det er få bit som skal prosesseres per klokke syklus og den kombinatoriske veien er kort. Dette tillater en veldig høy bitrate. Det er denne høye bitraten som gjør at den totale beregningstiden er sammenlignbar med beregningstiden i parallelle strukturer. En seriell addisjonskrets adderer to bit av gangen av tar vare på menten for å bruke den i neste klokke syklus. En klokke for å markere begynnelsen på ett nytt ord c1, trengs for å nullstille DFF hvor menten lagres. Se fig.10. En seriell multiplikasjonskrets er mer komplisert fordi alle bitene i A må multipliseres med alle bitene i B. I denne oppgaven har jeg sett på flere ulike typer multiplikatorer. Seriell-seriell, hvor begge tallene kommer seriellt til multiplikatoren og parallell-seriell, hvor det ene ordet kommer serielt og det andre i parallell form, noe som er nyttig i flere typer filtre. Disse serielle multiplikatorene kan ikke behandle 2' komplementære tall direkte, slik som en parallel Booth multiplikator, men det er måter å få dette til på som jeg skal vise senere. Fordeler og ulemper Parallell og seriell arkitektur er på mange områder fundamentalt forskjellig og dette viser seg i deres respektive fordeler og ulemper. 8

9 -Arealbruk Bitseriell arkitektur kan gi større funksjonalitet på ett begrenset areal. En tilsvarende funksjonalitet utført med paralell logikk vil ta mye større plass. -Klokkehastighet Klokkehastigheten for seriell arkitektur vil være mye høyere enn for parallell. Dette fordi seriell arkitektur muliggjør mindre logikk per operasjon og ingen bruk av mentegjennomstrømnings logikk. -Gjennomstrømning (Throughtput) Der serielle operasjoner krever WL (word lenght) klokkesykluser for å utføre en operasjon, gjør en parallell operasjon det samme med en klokkesyklus. De bitserielle elementene arbeider likt på hver bit i ordet, bare underlagt et kontrollsignal c1. De kan derfor lett 'pipelines', for å muliggjøre en høy klokkefrekvens og dermed stor gjennomstrømning. -Ord lengde Bitserielle systemer har en fastsatt ord lengde, det er heller ikke lett å operere med flere ordlengder for intern representasjon. Dette er mye enklere å få til i kretser med en parallell arkitektur. -Tilgjengelighet Verktøy for simulering og konstruksjon er lettere tilgjengelig for paralell logikk enn for seriell. Det finnes mye mer litteratur om parallell logikk. -Kommunikasjon Intern og ekstern kommunikasjon er enklere i ett seriellt system enn for ett parallelt. Dataene kommer på enkelt ledninger i stedet for på busser, dette gjør det enklere å rute på brikken og kommunikasjonen med utenverden er ikke begrenset av antallet pinner på brikken. Man får også en mer effektiv bruk av ledningene/banene ved å kjøre brikken på høyest mulig hastighet. -Effekt forbruk Effektforbruket i en bitseriell arkitektur er høyere enn for en parallelle arkitektur, grunnene til dette er raskere bevegelse av data. Maskinvaren utnyttes mer effektivt. -FPGA En parallell arkitektur innebærer brede busser på brikken, noe som legger beslag på mange celler i en FPGA. Seriell arkitektur har overvekt av lokale forbindelser, og dette gjør den ideell til bruk i FPGA kretser. 9

10 Om digitale filtre I dette kapitlet skal jeg drøfte ulike typer digitale filtre og matematikken rundt disse. 6 Jeg begynner med å beskrive ulike typer filtre, fordeler ulemper osv. Deretter klargjør jeg en del begreper, for så å drøfte problematikken rundt det å realisere ett filter. Denne gjennomgangen av filterteori er uavhengig av hvilken arkitektur som velges i implementeringen. Digitale filtre skiller seg fra analoge filtre ved at: Nøyaktigheten er helt bestemt av ord lengden og er ikke begrenset av usikkerheten i komponentverdier. -De er mer holdbare, komponentverdier i analoge filtre endres over tid. -De er mere forutsigbare, FIR-filtre er for eksempel alltid BIBO stabile. -De er 100% reproduserbare. -De kan være programmerbare, for eksempel ved å laste ned nye filter koeffisienter. Ulempen digitale filtre har over analoge, er forsinkelser i signalgangen, spesielt kan FIR-filtre ha så store forsinkelser at de ikke egner seg til sanntidssignalbehandling. Design av filtre Arbeidet med å lage ett filter kan deles opp i fire deler: -Spesifisering av en ideell overføringsfunksjon Hid(z). -Aproksimering av en realiserbar overføringsfunksjon Hre(z) til H(ideel)(z). -Realisering/valg av struktur. -Implementering. Spesifisering Bestemmelse av filterets ideelle frekvensrespons, faserespons og andre spesifikasjoner som største tillatte 'ripple' og 'overshot'. Aproksimering Aproksimerer den ideelle overføringsfunksjonen Hi(z), med en realiserbar H(z). H(z) må tilfredsstille alle krav som er gitt i spesifikasjonen til filteret. Her er først steget å bestemme seg for å bruke enten ett FIR-filter eller ett IIR-filter. Når filtertype er valgt, er neste steg å approksimere det realiserbare til det ideele. Det finnes flere ulike approksimasjonsmetoder. Aproksimasjonsmetodene går i praksis ut på a finne koeffisientene ai og bi i H(z). Ulike filterstrukturer/realisering Ett filter med overføringsfunksjon H(z) kan realiseres på mange forskjellige måter, jeg skal her skissere noen 6. Direkte form 1 Uttrykkes H(z) som en differenslikning: Y(n) = bix(n-i) - ai Y(n-i), kan formen taes direkte fra likningen: 10

11 Fig 1. Denne strukturen består av to halvdeler hvor resultatet legges sammen. Direkte form 2 Uttrykkes H(z) som ett produkt av to overføringsfunksjoner H1(z) og H2(z): H(z) = H1(z) H2(z) = [1/(1+ bix(n-i))] [ ai(n-i)] H1(z) = W(z)/X(z), H2(z) = Y(z)/W(z) Uttrykt ved diff: W(n) = X(n) - ai W(n-i),Y(n) = bi W(n-i) Dette gir en struktur hvor de to halvdelene i som utgjør Direkte-Form I er byttet om. De to grenene kan nå dele forsinkelseselementer og ett filter på denne formen utnytter derfor maskinvaren mer effektivt. Filteret kan nå realiseres direkte som i fig 2: 11

12 Fig 2. Begge disse løsningene er enkle å implementere fordi filterets form kan finnes direkte av diffrensiallikningen, og koeffisientene i multiplikatorene er identisk med koeffisientene i likningene H(z). Kaskadeform IIR-filtre blir, som jeg skal vise senere, mer følsom for kvantiseringsfeil i koeffisientene når filterets orden øker. Det er derfor vanlig å bryte ett IIR-filter ned i 1. og 2. ordens subfiltre. Dette gjøres ved å faktorisere H(z) slik at H(z) kan uttrykkes ved en produktrekke: H(z) = Hi(z) Der Hi(z) er ett 1. eller 2. ordens ledd Dette gir en kaskade struktur, som vist i fig. 3 Fig 3. H(z) kan også deles opp i partielle fraksjoner, slik at H(z) kan uttrykkes som en sum av 2. ordens polynomer: (z) = Hi(z). Dette gir en parallell struktur som i fig 4. 12

13 Fig 4. I en parallell struktur er det likegyldig hvilken rekkefølge subfiltrene står i, mens i en seriell struktur er rekkefølgen viktig. I begge tilfeller må det vurderes nøye hvilke røtter som skal kombineres i subfiltrene. En filterseksjon med høy forsterkning øker behovet for skalering. Økt skalering gir økt kvantiseringsfeil. For at forsterkningen i hver seksjon skal bli minst mulig, bør nullpunktene og polene grupperes på en sånn måte at effekten av polene blir minst mulig. Størrelsen H(z) er forholdet mellom nullpunktsvektorene og polvektorene. Polvektorer som ligger nær enhetssirkelen z = 1 blir små og gir derfor stor forsterkning. Reglen for gruppering av poler og nullpunkter er da å velge nullpunkter som ligger nærmest polen, og å begynne med den polen som ligger nærmest enhetssirkelen. Rekkefølgen av subfiltrene i en seriell struktur er viktig. Plasseres det filterleddet med størst forsterkning først, øker dette behovet for skalering. Plasseres det sist, vil det bidra til å forsterke støyen fra alle tidligere filterledd og gi ett dårligere signal/støy forhold. FIR Lattice Ved hjelp av gjentatt rekursjon av H(z) kan vi få en struktur som vist nedenfor: Fig 5. hvor er figuren?? 13

14 IIR-filtre IIR-filtre kan sees på som den digitale ekvivalenten til analoge filtre, da de begge gjør bruk av tilbakeføring 9. Alle filtre som er drøftet her er LSI (Linear Shift Invariant). De kan beskrives med deres overføringsfunksjoner H(z). H(z) er forholdet mellom utgangen Y(z) og inngangen X(z): H( z) Y( z) X( z ) Denne er vanligvis reel og kan uttrykkes som forholdet mellom to polynomer: H( z) b 0 b 1 z 1... b n z n 1 a 1 z 1... a z n der er n er filterets orden. Filterkoeffisientene aj og bj bestemmer filterets egenskaper. I z-domenet er z^-n ensbetydende med en forsinkelse n, likningen ovenfor kan derfor uttrykkes med differenslikningen: an y((n+n)t) + an-1 y((n+n-1)t) +. a0 y(nt)= bm x((n+m)t) + bm-1 x((n+m-1)t)+b0 x(nt). Filterlikninger på denne formen er spesielt nyttige da de forteller noe om strukturen filteret vil få. Når ett digitalt filter designes, bestemmes først spesifikasjonene til det filtre man ønsker å lage, dette kan være cuttoff frekvens, hvor 'skarpt' filteret skal være, største tillatte 'overshot', faseresponsen osv. Vi kan kalle overføringsfunksjonen for dette ideelle filteret for Hid. Utfordringen er nå å finne en realiserbar H(z) som er mest mulig lik Hid. Her finnes det flere metoder og jeg skal beskrive to av dem, Standard Z-transformering og Bilineær Z- transformering. IIR-filtre har poler og nullpunkter som ett analogt filter og det er derfor mulig å ta utgangspunkt i analoge filtre. Dette er en todelt tilnærming, hvor det første steget er å velge et analogt filter, med en overføringsfunksjon H(s), som er mest mulig lik overføringsfunksjonen til det filteret vi ønsker, Hid. Steg to er å digitalisere dette filteret, for å danne en digital overføringsfunksjon H(z). H(z) vil ha like mange poler og nullpunkter som H(s) (samme orden). Fordelen med denne metoden er at vi kan ta i bruk en rekke kjente analoge filtere med velkjente egenskaper, som feks. Butterworth og Chebychev. Digitaliseringen av den analoge overføringsfunksjonen H(s) er ingen 'rett frem' prosedyre, H(s) er ikke periodisk, mens H(z) er periodisk langs frekvensaksen w med periode ws. 14

15 H(s) er stabil i området til venstre for Im-aksen i s-planet, H(z) er stabil innenfor enhetssirkelen z <= 1 i z-planet. Standard Z-transformering H' ( z) T n h( i T) z i i 0 Metoden går ut på å overføre poler og nullpunkter fra s-planet til z-planet, slik at frekvensresponsen bevares på en best mulig måte. Standard Z-transformering er definert slik at impulsresponsen til det samplede filteret er identisk med den samplede responsen til det kontinuerlige filteret: b H' ( z) H s j n s T 2 h( 0) n a der H (s) er den samplede frekvensresponsen og ws er samplefrekvensen. H'(s) er periodisk i w med periode ws, H(s) er ikke periodisk i w. I likningen ovenfor kommer det frem at H'(s) i området [-ws/2, ws/2] er forskjellig fra det kontinuerlige filteret H(s). Forskjellen består i det som legges til i dette frekvensområdet, i form av leddene H(s+jnws) for n =0. Frekvensrespons for H(s) utenfor båndbredden [-ws/2, ws/2] foldes mao. tilbake i dette området. Hvor stor denne feilen blir avhenger av størrelsen på H(s) utenfor virkeområdet [-ws/2, ws/2]. Hvis H(s) = 0 for w > ws/2, er det digitale filteret identisk med det kontinuerlige, men dette kravet er jo i praksis aldri oppfylt. Generelt kan det sies at hvis filterets orden er stor og wcutoff << ws/2, blir feilen som skyldes folding liten og standard Z-transforming vil gi en brukbar approksimering. Hvis filteret som skal realiseres har lav orden, eller har en cuttoff-frekvensen som er en betydelig del av ws/2, kan ikke denne metoden brukes. Billineær Z-transformering Bilineær Z-transformering er en måte å digitalisere H(s) på og samtidig unngå problemet med folding 6. Denne transformasjonen overfører hele s-planet til en stripe i s' planet med grenser [-jws/2, jws/2]. Siden H(z) er periodisk i w med periode ws, må H'(s) være identisk i alle stripene med grenser fra j(n-1/2)ws til j(n+1/2)ws for alle n. Dette er den bilineære transformasjonen: S = (z-1)/(z+1). 15

16 Eller motsatt: Z = (1-s)/(1+s). Det kan vises 6 at denne transformasjonen overfører hele den negative (og stabile) siden av s- planet til området innenfor enhetssirkelen i z-planet. Det er åpenbart at denne transformasjonen vil føre til en forvrengning av frekvens-skalaen og det kan lages ett utrykk for forvrengningen ved å sette s = jw inn i utrykket ovenfor: jw = (e^jwt - 1)/(e^iwT + 1). Utrykt ved det analoge filterets cutoff-frekvens wc og det digitale filterets cutoff-frekvens qc og ved å anvende Eulers formel får vi utrykket: wc = tan(qct)/2. Dette utrykket er langt fra lineært. Frekvensen til den transformerte H(z) avviker sterkt fra det linære når qc er en betydelig del av ws. Dette avviket må kompenseres for når H(z) skal dannes med bilineær z-transformering. Ved kritiske frekvenser, for eksempel ved cutofffrekvensen, er det mulig å 'pre-warpe' ved å sette wc = tan(qct/2) inn i den analoge prototypen. Bilineær z-transformasjon er en algebraisk substitusjon som er lett å utføre. Den overfører amplitude-frekvenskarakteristikken direkte, fra det analoge filteret til det digitale, men med en forskyvning av frekvensaksen som resultat. Kritiske frekvenser forskyves med en forskyvning som lett å beregne og som kan kompenseres med 'prewarping'. Frekvensresponsen til det analoge filteret må kunne deles opp i områder der det er tilnærmet konstant for at metoden med 'prewarping' skal kunne benyttes. Kan ikke H(s) deles opp i områder på denne måten må standard z-transformasjon benyttes. En annen metode for å tilnærme H(s) med en digital H(z) er å finne koeffisientene aj og bj ( i polynomutrykket til H(z)) ved å numerisk tilnærme polynomene til H(s), og her finnes det ett utall metoder og mye programvare er tilgjengelig for dette. Stabilitet Hvis polene er godt innenfor enhetssirkelen, er filteret stabilt. Hvis polene til H(z) ligger nærme enhetssirkelen z =1, må vi være forsiktig så ikke kvantiseringsfeil flytter polene utenfor det stabile området. Dette gjelder spesielt hvis IIR-filteret skal inngå som en del av ett adaptivt filter, hvor koeffisientene kan forandres under kjøring. Risikoen for ustabilitet legger 16

17 føringer for filterkoeffisientene som det må taes hensyn til i designet av alle typer IIR-filtre 6. En måte å analysere dette på er å undersøke hvordan polene til H(z) beveger seg i z-planet, når koeffisientene kvantifiseres med ulik nøyaktighet. Det kan lages ett mål på dette ved å beregne forandringen i en pol dpi mot forandring i filter koeffisientene, dak. H(z) kan faktoriseres og skrives som: H( z) n i 0 1 n i z 1 1 p i z 1 Der ni er filterets nullpunkter og pi er filterets poler. For ett filter realisert med direkte-form er filteret karakterisert med filterkoeffisientene ak og bk og vi kan beregne den deriverte direkte: dpi/dak = sum[dpi/dak] og vi får ett uttrykk for dpi: dpi = -sum[(pi^(-k+1) dak)/prod[(1-pjpi^-1)] (j = i). Denne likningen gir ett mål for polenes følsomhet i forhold til små forandringer i filterkoeffisientene, dak. Når polene til filteret ligger svært tett, går utrykket i nevneren (1-pj/pi) mot null og filteret blir spesielt følsomt for kvantiseringsfeil. Det kan vises 6 at polene ligger tettere når forholdet w/fs, der w er filterets virkeområdet og fs samplefrekvensen, blir mindre. Likningen ovenfor viser også at polene blir mer følsomme jo høyere orden filteret har. Høy samplefrekvens og høy orden øker altså kravet til nøyaktighet i filterkoeffisientene, det er derfor ikke vanlig å realisere filteret i direkte form. Vanligvis deles filteret H(s), opp i mindre subfiltre før digitaliseringen. Subfiltrene kan så settes sammen i kaskade eller parallell form. 17

18 FIR-filtre FIR-filtre er en klasse av digitale filtre som ikke benytter seg av tilbakeføring, det er altså ett ikke-rekursivt filter. En impuls på inngangen, etterfulgt av nuller, vil derfor dø ut av seg selv, derav betegnelsen 'endelig impulsrespons'. FIR-filteres overføringsfunksjoner er karakterisert ved at de bare har nullpunkter og at eventuelle poler er lokalisert på origo, der de ikke har noen effekt på amplituderesponsen. Ett analogt filter kan ikke ha flere nullpunkter enn poler, FIR-filtre har derfor ingen analog ekvivalent 9. FIR-filtre er alltid stabile og de er derfor ideelle som utgangspunkt for adaptive filtre. Stabiliteten til FIR-filtre gjør at de er mindre følsomme for kvantiseringsfeil i filterkoeffisientene. En annen fordel disse filtrene har er at de lett kan realiseres med en linær faserespons, som jeg skal vise nedenfor. Ulempen med FIR-filtre er at de krever mange filter-ledd for å få til en skarp overgang i frekvensresponsen. Jeg skal begrense diskusjonen om FIR-filtre til filtre med linær fase. Disse filtrene kan skrives på polar form som : H(w) = H1(w) e^f(w). Der H1(w) er en reel funksjon av w, og f(w) er linær. Om filteret har linær faserespons eller ikke avhenger av symmetrien til H. Filtere har vanligvis like symmetri dvs. filteret har orden N = 2M+1 og h(2m - k) = h(k). Frekvensresponsen til denne type filter er: H(w) = e^(-jmw) Re[sum(h(k)e^-jkw)] Konstruksjonen av ett FIR-filter begynner, som for IIR-filtre, med å definere en ønsket overføringsfunksjon, Hideel(w), og deretter approksimere en realiserbar H(z) som tilfredsstiller kravene til filtret. Selve approksimeringen gjøres med dataprogrammer basert på FFT og jeg skal drøfte teorien bak en metode som involverer bruk av funksjoner kalt vinduer. FIR er et digitalt filter med endelig impulsrespons. Dette kan uttrykkes ved H(z) med ai = 0 for alle i: H( z) b 0 b 1 z 1... b n z n Utrykt ved differens likningen: Y(nT) = b(0) x(nt) +b(1) x((n-1)t) +.b(m) x((n-m)t), der b(m) er den m'te impulsresponsen, dette filteret har m+1 impulsresponsledd. H(z) = sum[ajz^-1] = sum[h(k)z^-1] k=0 til N-1 Filteret er av orden N. Frekvensresponsen er : H(f) = sum[h(k)e^-jkt]. Frekvensresponsen er altså bare fouriertransformasjonen av filterkoeffisientene og filterkoeffisientene finnes ved å danne den inverse fouriertransformasjonen av Hid(w). Den 18

19 ønskede overføringsfunksjonen er Hid(w), denne kan representeres av DFT med Hid(w) = sum[hd(k)e^-ikt] fra +/- uendelig Der sekvensen {hid(k)} er Hid(w)'s impulsrespons. Vindu metoden Velges h(k) = hid(k) for alle k og filterets orden går mot uendelig, blir H(z) = Hid(w). For å danne en realiserbar H(z) må den uendelige sekvensen {hid(k)} avkortes. Impulsresponsene til Hi(z), hi(n) er gitt ved den omvendte Fouriertransformasjonen: h( i) Hid e in in d Sekvensen {h(n)} består av uendelig mange ledd og vindumetoden går ut på å avkorte til ett antall ledd N som man multipliserer med en vindu funksjon w(n). H(n) = w(n)h(n), der -M < n < M FIR-filteret blir av lengde N=2M+1. FIR-filterets frekvensrespons blir da: H e i M n M h ( n ) e in Et mål på hvor godt denne aproksimerer den ideelle Hi( ) får vi ved å se på 'mean-square error' ^2: 2 H e i 2 Hid d FFT av en vindu-funksjon danner en kurve med en sentral hovedlobe og flere mindre sidelober, symmetrisk om origo. Det sentrale i teorien om dannelse av en realiserbar H(z) på denne måten, er å se hvilken effekt formen på vindusfunksjonen w(k) har på frekvensresponsen til H(z). Effekten av å multiplisere med ett vindu i tidsdomenet er en konvulsjon i frekvensdomenet. Dette gir : H(z) = int[hid(w)w(w)] Der W(w) er den fouriertransformerte av w(k). 19

20 W(w) for det rektangulære vinduet er : W(w) = sin(nw/2)/sin(w/2). Fig 6. Hovedloben blir smalere og høyere jo flere ledd N, i {hid(k)}, som tas med, amplituden på sidelobene varierer ikke nevneverdig med N, men frekvensen av dem øker. Når N - > uendelig går W mot deltaimpulsfunksjonen (0) og H(z) = Hid(). Effekten av en konvulsjon med w(k) kan leses direkte av plottet av W. Bredden av den sentrale hovedloben, vil glatte ut skarpe overganger i Hid() og sidelobene vil gi oscillasjoner i H(z), kalt Gibbs fenomen. Gibbs oscillasjon kan gi filteret en 'overshot' ved overganger i amplituderesponsen, som kan gjøre filteret ubrukelig. Utglattingen av frekvensresponsen henger sammen med filterets orden og vinduets oppløsning som er definert med: R = hovedloben bredde / 1.sidelobes bredde. Hovedlobens bredde er et mål for hvor skarpt filteret er. For dette vinduet er bredden b = 2 /N. Felles for alle vindufunksjonene er at bredden er proporsjonalt med 1/N. Det kan vises 6 at dette vinduet minimaliserer ^2, men dette filteret gir store oscillasjoner i signalet (ripple) og 'overshot' ved overganger i Hi( ). Det kan vises 6 at den relative amplituden til sidelobene ikke reduseres nevneverdig med økende N. Derfor brukes alltid andre vinduer, som har bedre egenskaper. De viktigste egenskaper til ett vindu er hovedlobens bredde og størrelsen på sidelobene. Det finnes en rekke vinduer som kan brukes. De tre kritiske parameterene i ett FIR-filter design er filterets størrelse (orden N), skarpheten i overgangene, som bestemmes av hovedlobens bredde (oppløsning R) og hvor stor oscillasjon som kan godtas, bestemt av amplituden til sidelobene. Disse parameterene er delvis forbundet med hverandre og er ofte motstridene krav. Hvilket vindu som velges er helt avhengig av hvilke krav som er gitt til designet. Felles for vindu funksjonene er at større dempning i sidelobene oppnås på bekostning av oppløsningen. De viktigste vindu funksjonene er Hanning, Bralett, Kaisser og Chebyshev. For eksempel har Kaisser en veldig variabel form, der oppløsningen kan byttes mot størrelsen på sidelobene. Problemstillingen med dannelse av ett FIR-filter er altså å finne ett filter som akkurat tilfredsstiller kravene, med færrest mulige filterkoeffisienter. Skulle dette hvert gjort for hånd 20

21 ville man prøvd ut flere ulike vinduer, helt til man fikk det beste resultatet. I praksis brukes algoritmer som Remez. Remez baserer seg på en iterativ prosess, der filterkoeffesientene justeres helt til resultatet er optimalt med lavest mulig orden men innenfor kravene. Parameterene som gis til en algoritme av denne typen er filterets orden N, maksimalt tillatte oscillasjoner i frekvensbåndene og påkrevet dempningen i stoppbandet. Frekvensvinduer Mens den foregående metoden multipliserte ett utvalg impulsresponser av Hi( ) med ett vindu i tidsdomenet, gjøres med denne metoden et utvalg av Hi i et frekvensområdet [-F, F] og dette multipliseres med ett frekvensvindu. Mye av diskusjonen rundt tidsvinduer gjelder også her, multiplikasjonen med et vindu i frekvensdomenet gir opphav til konvulsjon i tidsdomenet og fenomener som 'ripple' og 'overshot' oppstår. I praksis så løses problemet ved å approksimere Hi( ) med ett polynom. Dette polynomet interpolerer verdiene mellom frekvenssamplene. Minimax I vindumetoden forsøker man å minimalisere feilen ^2 (mean-sqr error.) Med Minimax minimaliseres den maksimale feilen, altså: Hi-Hr = max Hi( ) - Hr(e^i ) over alle Utfordringen er nå å finne Hr(z) = hr(k)z^-k som minimaliserer denne feilen. Dette løses numeriske., -M < k < M 21

22 Bitserielt bibliotek I en seriell krets, kommer dataene en bit av gangen på en ledning, i stedet for ett ord av gangen på en buss av samme bredde som ordlengden. All kommunikasjon mellom prosesseringselementene og innad i elementene skjer altså på en ledning. Fordelene med dette er innlysende, fraværet av brede busser på brikken muliggjør en tett VLSI design og kommunikasjonen mellom brikkene forenkles. Bitserielle prosesseringselementer er også mindre enn et tilsvarende utført i parallell logikk. Dette gjør en bitseriell design attraktiv i systemer der hastighetskrav ikke krever en parallell prosessering. Dette gjelder spesielt tale systemer, som telefoni. Hastighet er lavere for en seriell krets som prosesserer en bit av gangen, ved første øyekast er parallell prosessering N ganger raskere, der N er ordlengden. Men en bitseriell implementering kan klokkes mye raskere på grunn av kortere logisk vei mellom registrene. En parallell adder for eksempel kan ikke klokkes raskere enn at menten rekker å bevege seg gjennom hele adderen. Seriell arkitektur. Målet med denne oppgaven er å lage et sett av vanlig brukte funksjoner utført i seriell logikk, utgangspunktet mitt var de elementene som var foreslått i boka 'VLSI SIGNAL PROCESSING : A bitserial approach' 8. Jeg presenterer her elementene med kretsskjema og en verilog modell. Verilog modellene er simulert på PC på 'logisk nivå' dvs. uten hensyn til forsinkelser i portene. En mer nøyaktig spice simulering er nødvendig for å bestemme hvor raskt man kan klokke disse elementene. Elementer som DFF (dflipflop), FA (full adder), MUX (multiplekser), FIFO-registre er standard celler og jeg modellerer bare deres oppførsel. Bibloteket er tenk mest mulig teknologi uavhengig. Som nevnt ovenfor kreves bare to kontrollsignaler, bitklokke c0 og ordklokke c1.c1 skal tilkjennegjøre begynnelsen på et nytt ord og fordi datastrømmen forsinkes i ulik grad gjennom elementene, har jeg valgt å la c1 gå gjennom ett signalnettverk med like mye forsinkelse som elementet. Et alternativ er å la kontrollgeneratoren danne alle c10, c12 osv. Her kan det spares en del DFF i kretsene før et endelig utlegg skal lages. Nummerrepresentasjonen er tokomplementere tall med LSB først og MSB sist. Fordelen med denne representasjonen er at addisjon og subtraksjon går riktig for seg uten å kjenne fortegnet på forhånd. Ulempen viser seg i de kretser der resultatet ikke kan bestemmes før fortegnet er kjent, som i multiplikatoren. Tallrepresentasjon Dataene kommer altså på en ledning LSB først og MSB sist. Kretsene er designet for å behandle data uten buffring, dvs. dataene kommer rygg mot rygg inn til modulene. Før jeg kunne begynne dette arbeidet måtte jeg bestemme meg for hvordan tallene skulle representeres. Data og koeffisienter i ett signalbehandlingssystem er alltid signerte tall, og en vanlig måte å angi tegnet på er ved å definere MSB som fortegnsbiten. MSB gis negativ vekt og de resterende bitene representerer størrelsen på tallet. To vanlig brukte representasjoner er 1'komplement og 2'komplement, de representerer begge tall i området -1 =< X < 1.Større tallområde er mulig ved å skalere denne representasjonen 22

23 med en faktor 2^k, der k er det ønskede antallet heltallsbiter. Faktoren 2^k kaller jeg heretter. bestemmer det dynamiske området til X dvs. at X <=. Brytes denne betingelsen får X overflyt. Alle registre i ett digitalt system er av endelig lengde, slik at en kvantisering av tallet er nødvendig. Hvis tallet representeres med m biter, blir den minste representerbare verdien lik q = 2^m. Denne kvantiseringen er opphavet til kvantiseringsstøy. X = (-b0 + bi/2i) 1< i < m-1 Med m = 5, ligger de positive tallene ligger mellom og og de negative ligger mellom og Regelen for å danne det negative av ett 2'komplementert tall er veldig enkel, snu alle bitene og legg til en på den minst signifikante plassen. Fordelen med denne representasjonen er at addisjon og subtraksjon kan gjøres som om tallene er heltall. 2'komplementære tall har også den egenskapen at en sum av flere tall, vil gi riktig svar, så lenge det endelige svaret ligger innenfor det dynamiske området, selv om en eller flere av del-summene overflyter. Ulempen med denne representasjonen, i ett seriellt system, er at fortegnet ikke er kjent før den siste biten er prossesert. Dette gjelder multiplikatoren ORDER. De modulene jeg presenterer her utfører den samme prosessen på hver bit, unntatt fortegnsbiten. Ett kontrollsignal er derfor nødvendig for å tilkjennegi ankomsten av ett nytt ord. I ett serielt system må antallet biter m bestemmes på forhånd.i ett parallelt system er det enklere å bruke lengere registre til intern representasjon på kritiske punkter, for eksempel etter en multiplikasjon. Det er mulig å la tallet X representeres av to ord HW og LW der hver del har lengde m. HW og LW beveger seg da på hver sin linje der HW er forsinket m ganger i forhold til LW. Dette er det samme som å innføre en parallell prosessering internt for å øke oppløsningen. Feks. Ledning 1 LW:.b5b6b7b8 Ledning 2 HW: b0b1b2b3b4. ABSOLUTT Lager absoluttverdien av inngangssignalet f(x) = abs(x) = x. Fordi fortegnsbiten kommer sist, trenger vi ett register som er minst like langt som ordlengden. Jeg bruker ett register som er en bit større slik at kretsen kan bruke c1 direkte for å lagre fortegnsbiten i en DFF. DFF1 styrer deretter signalet slik at det inverteres hvis x >= 0 og kommer ut uforandret ut hvis x < 0. Hvis tallet er negativt må vi strengt tatt legge til 1, etter at tallet er invertert. Dette kan gjøres ved å sette inn en adder etter inverteringen. Denne adderen har inngang b jordet og carry-inn satt til 1 ved c11=1. Om man trenger dette eller ikke er avhengig av hvilken nøyaktighet som kreves. Begge varianter er vist nedenfor. Helt tilslutt er det en DFF på utgangen. 23

24 Forsinkelsen i denne kretsen er swl+2 for den uten adder og swl+3 for den med. Fig 7. Fig 8. Absolutt uten adder: Fig 9.Absolutt med adder: Verilog modell: abs #(swl)(out,c0,c1,in). In = inngangssignal. Out = utgangssignal. Kontrollsignaler c0,c1. Parameter swl = ordlengde. Forsinkelse swl+2. 24

25 module abs(out,clk,wclk,in); parameter swl=9; output out;input clk,wclk,in; wire [swl-1:0] reg_out; shift_reg #(swl+1)r(reg_out,clk,in); latch l(l_out,wclk,reg_out[swl-1]); not and or endmodule (Nl_out,l_out), (Nreg_out,reg_out[1]); (A0,Nreg_out,l_out), (A1,reg_out,Nl_out); (out,a0,a1); Fig.10 Absolutt av en sinus. abs abs sampel ADDER Legger sammen to tall A og B. f(a,b) = A+B. Addisjonen foregår i en tre bit's fulladder. Summen lagres i DFF1, og menten lagres i DFF2 og føres tilbake til fulladderen. Menten forsinkes i DFF2 slik at den legge til i neste addisjon, hele veien opp til fortegnsbiten. Når c1 signaliserer ankomsten av neste ord, kanselleres menten. 2's komplementær representasjon brukes nettopp fordi tallene kan adderes direkte uavhengig av fortegnet. 25

26 Eksempel: Swl=5. A = 5 => B = 10 => Sum = 15 => A = 5 => B = -7 => Sum = -2 => A = 10 => B = 10 => Sum = -2 => 10100! Det andre eksemplet viser hvordan 2'komplementær representasjon virker når vi adderer et positivt tall med ett negativt. Summen i det siste eksemplet overflyter, summen ble - 2, ett negativt tall. En av utfordringene med design av digitale kretser er nettopp å passe på at signalene ved alle noder i kretsen ligger innenfor det tillatte dynamiske området. Verken adderen eller subtraktoren kan avkorte eller avrunde resultatet slik som multiplikatoren. Vi må ta hensyn til bit-veksten ved å skalere dataene A og B, eller begrense (klippe) størrelsen på dataene med LIMIT, som jeg skal beskrive senere. ADD har tre innganger A, B og Cin, to utganger Sum og Cout, og bruker to kontroll signaler c0 og c1. Cin og Cout er tatt med for at man skal kunne lage en dobbelpresisjons-adder, fig. 11. I en dobbelpresisjons adder er Cin i den første adderen jordet, Cout fra denne føres inn til Cin på den neste osv. LW går in på den første adderen, HW på den neste. På denne måten kan vi operere med økt dynamisk område internt i en krets. Å representere dataene med dobbel presisjon enkelte steder i kretsen, kan være nødvendig for å hanskes med bitveksten etter enkelte operasjoner. Kontrollsignalet c1 styrer enten menten fra en tidligere addisjon eller Cin, inn i fulladderen. Adder elementene kan også brukes til å lage kolonne addere. Disse er nyttige for å legge sammen flere enn to signaler. En kolonne adder er en tre-struktur av serielle addere som vist i fig.12. Kolonne adderen i fig. 12 adderer 7 signaler, A,B,C,D,E,F og G. Resultatet kommer på Sum_Out, etter en forsinkelse på 3. Hver adder kombinerer to innganger til en utgang, dermed halveres antall signaler for hvert lag av addere. Hvis antallet signaler er odde, leveres en inngang til neste lag gjennom en DFF for synkronisering. Summen har like mange biter som inngangene, det er derfor nødvendig med 'guard bits' på inngangene. For å forhindre overflyt, må det være en 'guard bit' for hvert lag med addere. 26

27 Fig 11. Fig 12 ADD celle. Fig 13.Dobbel presisjonsadder. 27

28 Fig. 14. Kolonne adder. Verilog modell: add (Sum,Cout,c0,c1,A,B,Cin); A,B = inngangsdata. Sum = utgangsdata. Cin,Cout = mente inn/ut. c0,c1 =kontrollsignaler. Forsinkelse på Sum = 1. module add(sum,c_out,c0,c1,a,b,c_in); output sum,c_out;input c0,c1,a,b,c_in; multiplex m1(ci,c1,c_out,c_in); full_adder fa(si,carry,a,b,ci); dedgeff dff1(c_out,clk,carry); dedgeff dff2(sum,clk,si); endmodule SUBTRAKT Trekker B fra A.f(A,B) = A-B. Denne kretsen er nesten lik adderen, med den forskjell at B inverteres og 1 legges til på LSB. Kjernen i kretsen er en tre bits fulladder, en multiplekser styrer menten tilbake til fulladderen. Når c1 signaliserer nytt ord kanselerer den menten og setter Cin lik 1 for å tilfredstille konvensjonen -B = inv(b) + 1. Det brukes to DFF, en til menten og en på utgangen. En NOT port inverterer B. SUB har tre innganger A, B og Cin.Utganger Diff og Cout.Cin og Cout kan brukes til å lage subtraktorer med større presisjon eller kolonne subtraktorer. Cin settes alltid til 1 i den første enheten. Kretsen kan også brukes til å negere ett tall f(b) = -B, ved å jorde A. 28

29 Fig 15. Fig. 16. SUB celle. Verilog modell: sub(diff,cout,c0,c1,a,b,cin); A,B = inngangsdata. Diff = utgangsdata. Cin,Cout = mente inn, mente ut. c0,c1 = kontrollsignaler. Forsinkelse = 1. module serial_sub(sum,c_out,c0,c1,a,b,c_in); output sum,c_out; input c0,c1,a,b,c_in; multiplex m1(ci,c1,c_out,c_in); not (nb,b); full_adder fa(si,carry,a,nb,ci); dedgeff dff1(c_out,c0,carry); dedgeff dff2(sum,c0,si); endmodule 29

30 DSHIFT Aritmetisk høyreskift. Kretsen skifter A p plasser til høyre. f(a) = A / 2^p. Med positive tall ville dette hvert enkelt, vi kunne brukt en DFF og en multiplekser i signalveien som satt MSB til null. Men for 2'komplimentere tall må vi 'redde' fortegnsbiten MSB og så fortegnsutvide ved å sette de p øverste bitene lik MSB. Eksempel: Swl = 6 A = -19 => p = 1, f(a) = p =2, f(a) = Resultatet kommer ut avkortet med p biter. Operasjonen gjøres ved å sette en multiplekser i signalveien som styrer signalet til utgangen, eller setter utgangen til MSB. c1 styrer multiplekseren og lagringen av MSB. Selve høyreskiftingen av A gjøres ved å definere forsinkelsen til swl = 2 +p, der 2 er kretsens 'reelle' forsinkelse. Forsinkelsen p er ikke en fysisk forsinkelse i den forstand at signalet forsinkes av DFF i signalveien, men er en redefinering av hvor signalet starter og hvor det ender. Kretsen er altså bygget rundt en multiplekser som sender enten signalet eller MSB gjennom. Signalet går først inn i DFF1, ved c1 lagres denne i en DFF2. Ett kontrollsignal til multiplekseren styrer den lagrede MSB gjennom ved c11,c12 c1p.forsinkelses linjer av DFF genererer dette signalet. Fig. 17. Fig. 16. DSHIFT celle. 30

31 I fig.18 er vist to forsinkelseslinjer for p=2 og p=3. Generelt trengs p DFF og en OR port med p innganger. I fig. 17 er signalene vist for p=2 og p=3. Fig. 17. Kontroll signaler. Fig 18. Verilog modell: dshift #(p)(out,c0,c1,in); In = inngangsdata. Out = utgang. c0,c1 = kontrollsignaler. Parameter p = antall høyreskift. Forsinkelse = 2+p. module dshift(out,c0,c1,in); output out; input c0,c1,in); multiplex dedgeff or endmodule m1(m_out,c_m,s_1,s_2); dff1(s_1,c0,in), dff2(s_2,c1,s_1), dff3(out,c0,m_out), dff4(c_11,c0,c1), dff5(c_12,c0,c_11); (c_m,c_11,c_12); 31

32 MSHIFT Aritmetisk venstreskift. Kretsen skifter A p plasser til venstre. f(a) = A * 2^p. I DSHIFT måtte MSB lagres og settes inn på rett sted i signalet, her trenger vi bare å skifte tallet p plasser til venstre og sette de p nederste bitene til null. Eksempel: Swl=6. A = 13 => p = 1, A = 26 => p = 2, A = -12 => Overflyt! A = -5 => p = 1, A = -10 => Overflyt forekommer når de p+1 mest signifikante bitene er ulike før en skift operasjon. I kretsen jeg beskriver her er det ingen overflytsdetektor, men det kan legges inn ved å teste de p+1 mest signffikante bitene. Selve skift operasjonen foregår ved å definere en forsinkelse p. For å unngå å få en primitiv med negativ eller null forsinkelse legges p+1 DFF på utgangen, slik at forsinkelsen totalt blir 1. En multiplekser styrer signalet gjennom eller setter det til null. Signalet settes til null fra LSB og opptil p-1. Multiplekseren styres av en forsinkelseslinje med lengde p, og som har c1 på inngangen. Fig 19. Fig. 20. mshift. 32

33 For kretsen i fig. 20 er p = 2, det er satt på 3 DFF for at den totale forsinkelsen skal bli lik 1. En DFF må alltid stå foran MUX for å hindre at LSB overskrives. Verilog modell: mshift #(p)(out,c0,c1,in). In = inngangsdata. Out = utgang. c0,c1 = kontrollsignaler. Parameter p = antall skift. Forsinkelsen er 1. module mshift(out,c0,c1,in); output out; input c0,c1,in; or endmodule ORDER multiplex dedgeff (m_out,c_m,in,1'b0); dff1(s_1,c0,m_out), dff2(s_2,c0,s_1), dff3(out,c0,s_3, dff4(c_11,c0,c1); (c_m,c1,c_11); Finner det største av to tall og sender dette til utgang max, det minste tallet sendes på utgang min. Jeg antar her at dataene A og B, begge er positive. I kretsen kan det ikke avgjøres hvilken som er størst og hvilken som er minst før de siste bitene er sammenliknet. A og B kommer inn på to skiftregistre. Sammenlikningen kan enten skje med en parallell komparator når begge dataene er i registere, ved c1, eller med en to bit's komparator. En to bit's komparator sammenlikner en og en bit etter hvert som de kommer inn, informasjon om hvilket tall som foreløpig er størst, lagres i en DFF.Når alle bitene er ferdig sammenliknet, styrer resultatet av sammenlikningen en multiplekser på utgangen. En to bit's komparator består av en NOT, en XNOR og en AND port, som vist i fig 21. Fig

34 Utgangen på AND porten er 1 hvis A > B, ellers 0. Utgangen på XNOR er 1 hvis A = B, 0 ellers. Forbinder jeg disse to med en OR port er utgangen 1 hvis A >= B. På utgangen av denne er DFF1.Hvis denne er 1 når alle bitene er sammenliknet er A >=B og A kommer ut på max, B på min. Når bitene er like skal verdien av DFF1 forbli uforandret, dette skjer ved en tilbakeføring gjennom AND porten. Når An > Bn skal DFF1 settes til 1. Sannhetstabellen for komparatoren finnes i tab 1. Tabell 1. FF1 T A = B FF1(t) = FF1(t-1) FF1(t) = FF1(t-1) A > B FF1 = 1 FF1(t) = FF1(t-1) A < B FF1(t) = FF1(t-1) FF1 = 0 Fig 22. Komparatoren er vist i fig 23. Fig

35 Den siste DFF sampler resultatet ved slutten av sammenlikningen og holder denne en hel ordlengde swl. Denne styrer multiplekseren. Multiplekseren nullstiller DFF1 i starten av en ny sammenlikning. Hele kretsen er vist i fig 24. Fig 24. Verilog modell: order(max,min,c0,c1,in1,in2); A,B = inngangssignal. MAX,MIN = utgang. c0,c1 = kontroll. Forsinkelse = swl+3 module order(max,min,c0,c1,in1,in2); parameter swl=6; output max,min; input c0,c1,in1,in2; wire [swl+1:0] reg_a,reg_b; shift_reg #(swl+2)a(reg_a,c0,in1), b(reg_b,c0,in2); ord demux dedgeff endmodule ord1(out,c0,c1,in1,in2); de(max1,min1,out,reg_a[0],reg_b[0]); dff1(max,c0,max1), dff2(min,c0,min1); module ord(out,c0,c1,in_a,in_b); 35

36 output out; input c0,c1,in_a,in_b; and (greater,in_a,n_in_b); not (N_in_b,in_b); xnor (eq,in_a,in_b); and (d,eq,o3); or (o1,greater,d); multiplex m1(o3,c1,o2,1'b0); dedgeff F1(o2,c0,o1), F2(out,c1,o2); endmodule module demux(max,min,g,a,b); output max,min;input g,a,b; not (Ng,g); and or endmodule (a_min,a,ng), (a_max,a,g), (b_max,b,ng), (b_min,b,g); (max,a_max,b_max), (min,a_min,b_min); Fig.25 max av en sinus og en cosinus. max max sampel 36

37 FORMAT1TO2 Denne kretsen som gjør om et signal fra enkelpresisjon til dobbelpresisjon. Dette formatet er beskrevet i innledningen. Signalet økes fra en ordlengde swl til 2*swl. Det nylig introduserte ordet fylles med fortegnsutvidelser. Eksempel : swl = 6 => => => De to ordene LW og LW sendes ut på to ledninger. HW kommer forsinket swl, etter LW. At dataene nå sendes gjennom to ledninger i stedet for en, introduserer en form for digit serial prossesering. Kretsen består av to DFF og en multiplekser. Ved c1, lagres fortegnsbiten. Denne resirkuleres ved tilbakeføring gjennom multiplekseren. Fig 26. Fig 27. Format1to2. 37

STE 6219 Digital signalbehandling Løsning til kontinuasjonseksamen

STE 6219 Digital signalbehandling Løsning til kontinuasjonseksamen HØGSKOLEN I NARVIK Institutt for data-, elektro-, og romteknologi Masterstudiet EL/RT Side av 4 STE 629 Digital signalbehandling Løsning til kontinuasjonseksamen Tid: Fredag 03.08.2007, kl: 09:00-2:00

Detaljer

Uke 4: z-transformasjonen

Uke 4: z-transformasjonen Uke 4: z-transformasjonen Jo Inge Buskenes Institutt for informatikk, Universitetet i Oslo INF3470/4470, høst 2011 2/26 Dagens temaer z-dometet; ett av tre domener z-transformasjonen; definisjon og egenskaper

Detaljer

STE 6146 Digital signalbehandling. Løsningsforslag til eksamen avholdt

STE 6146 Digital signalbehandling. Løsningsforslag til eksamen avholdt HØGSKOLEN I NARVIK Institutt for data-, elektro-, og romteknologi Sivilingeniørstudiet EL/RT STE 6146 Digital signalbehandling Løsningsforslag til eksamen avholdt 06.02.03 Oppgaver 1. Forklar hva som er

Detaljer

STE 6219 Digital signalbehandling Løsningsforslag

STE 6219 Digital signalbehandling Løsningsforslag HØGSKOLEN I NARVIK Institutt for data-, elektro-, og romteknologi Masterstudiet EL/RT Side 1 av 3 STE 6219 Digital signalbehandling Løsningsforslag Tid: Fredag 20.04.2007, kl: 09:00-12:00 Tillatte hjelpemidler:

Detaljer

Uke 12: FIR-filter design

Uke 12: FIR-filter design Uke 12: FIR-filter design Jo Inge Buskenes Institutt for informatikk, Universitetet i Oslo INF3470/4470, høst 2011 2/48 Dagens temaer Repetisjon Design av digitale filtre Design av FIR filtre 3/48 Notasjon

Detaljer

Uke 4: z-transformasjonen

Uke 4: z-transformasjonen Uke 4: z-transformasjonen Jo Inge Buskenes Institutt for informatikk, Universitetet i Oslo INF3470/4470, høst 2012 2/30 Dagens temaer z-dometet; ett av tre domener z-transformasjonen; definisjon og egenskaper

Detaljer

Repetisjon: LTI-systemer

Repetisjon: LTI-systemer Forelesning, 11. mars 4 Tilhørende pensum er 6.1-6.4 i læreboken. repetisjon av FIR-filtre frekvensresponsen til et FIR-filter beregne utgangen fra FIR-filtret ved hjelp av frekvensresponsen steady-state

Detaljer

Dagens temaer. 3 domener. Tema. Time 4: z-transformasjonen. z-dometet; ett av tre domener. Andreas Austeng@ifi.uio.no, INF3470

Dagens temaer. 3 domener. Tema. Time 4: z-transformasjonen. z-dometet; ett av tre domener. Andreas Austeng@ifi.uio.no, INF3470 Dagens temaer Time 4: z-transformasjonen Andreas Austeng@ifi.uio.no, INF3470 z-dometet; ett av tre domener z-transformasjonen; definisjon og egenskaper Ifi/UiO September 2009 H(z); systemfunksjonen og

Detaljer

303d Signalmodellering: Gated sinus a) Finn tidsfunksjonen y(t) b) Utfør en Laplace transformasjon og finn Y(s)

303d Signalmodellering: Gated sinus a) Finn tidsfunksjonen y(t) b) Utfør en Laplace transformasjon og finn Y(s) 303d Signalmodellering: Gated sinus... 1 610 Operasjonsforsterkere H2013-3... 1 805 Sallen and Key LP til Båndpass filter... 2 904 Z-transformasjon av en forsinket firkant puls.... 4 913 Chebyshev filter...

Detaljer

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and Dagens temaer! Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture! Enkoder/demultiplekser (avslutte fra forrige gang)! Kort repetisjon 2-komplements form! Binær addisjon/subtraksjon!

Detaljer

IN1020. Logiske porter om forenkling til ALU

IN1020. Logiske porter om forenkling til ALU IN2 Logiske porter om forenkling til ALU Hovedpunkter Utlesing av sannhetsverdi-tabell; Max og Min-termer Forenkling av uttrykk med Karnaugh diagram Portimplementasjon Kretsanalyse Adder og subtraktor

Detaljer

Uke 4: z-transformasjonen

Uke 4: z-transformasjonen Uke 4: z-transformasjonen Jo Inge Buskenes Institutt for informatikk, Universitetet i Oslo INF3470/4470, høst 2013 2/31 Dagens temaer z-dometet; ett av tre domener z-transformasjonen; definisjon og egenskaper

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 11. juni 27 Tid for eksamen: 14.3 17.3 Oppgavesettet er på 5 sider. Vedlegg: INF 347 / INF 447 Digital Signalbehandling

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: mai 2002 IN 155 Digital Signalbehandling Tid for eksamen: 6. mai 9.00 21. mai 12.00 Oppgavesettet er på 5 sider.

Detaljer

EKSAMEN STE 6219 Digital signalbehandling

EKSAMEN STE 6219 Digital signalbehandling HØGSKOLEN I NARVIK Institutt for data-, elektro-, og romteknologi Masterstudiet EL/RT Side 1 av 4 EKSAMEN STE 6219 Digital signalbehandling Tid: Tirsdag 07.03.2006, kl: 09:00-12:00 Tillatte hjelpemidler:

Detaljer

Dataveier og optimalisering. Kapittel 9

Dataveier og optimalisering. Kapittel 9 Dataveier og optimalisering Kapittel 9 Innhold Designkrav Arealbehov kontra hastighet Pipelining For å økte ytelsen til en krets Ressursdeling For å minke arealbehovet Overordnede designkrav: Designet

Detaljer

Dagens temaer. Dagens temaer er hentet fra P&P kapittel 3. Motivet for å bruke binær representasjon. Boolsk algebra: Definisjoner og regler

Dagens temaer. Dagens temaer er hentet fra P&P kapittel 3. Motivet for å bruke binær representasjon. Boolsk algebra: Definisjoner og regler Dagens temaer Dagens temaer er hentet fra P&P kapittel 3 Motivet for å bruke binær representasjon Boolsk algebra: Definisjoner og regler Kombinatorisk logikk Eksempler på byggeblokker 05.09.2003 INF 103

Detaljer

LØSNINGSFORSLAG TIL EKSAMEN STE 6219 Digital signalbehandling

LØSNINGSFORSLAG TIL EKSAMEN STE 6219 Digital signalbehandling Side1av4 HØGSKOLEN I NARVIK Institutt for data-, elektro-, og romteknologi Sivilingeniørstudiet EL/RT LØSNINGSFORSLAG TIL EKSAMEN STE 6219 Digital signalbehandling Tid: Mandag 27.08.2009, kl: 09:00-12:00

Detaljer

ITPE2400/DATS2400: Datamaskinarkitektur

ITPE2400/DATS2400: Datamaskinarkitektur ITPE2400/DATS2400: Datamaskinarkitektur Forelesning 6: Mer om kombinatoriske kretser Aritmetikk Sekvensiell logikk Desta H. Hagos / T. M. Jonassen Institute of Computer Science Faculty of Technology, Art

Detaljer

TFE4101 Krets- og Digitalteknikk Høst 2016

TFE4101 Krets- og Digitalteknikk Høst 2016 Norges teknisk naturvitenskapelige universitet Institutt for elektronikk og telekomunikasjon TFE40 Krets- og Digitalteknikk Høst 206 Løsningsforslag Øving 6 Teknologi-mapping a) Siden funksjonen T er på

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF3440/4440 Signalbehandling Eksamensdag: xx. desember 007 Tid for eksamen: Oppgavesettet er på 6 sider. Vedlegg: Tillatte hjelpemidler:

Detaljer

Repetisjon digital-teknikk. teknikk,, INF2270

Repetisjon digital-teknikk. teknikk,, INF2270 Repetisjon digital-teknikk teknikk,, INF227 Grovt sett kan digital-teknikk-delen fordeles i tre: Boolsk algebra og digitale kretser Arkitektur (Von Neuman, etc.) Ytelse (Pipelineling, cache, hukommelse,

Detaljer

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and. ! Kort repetisjon fra forrige gang

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and. ! Kort repetisjon fra forrige gang Dagens temaer! Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture! Kort repetisjon fra forrige gang! Kombinatorisk logikk! Analyse av kretser! Eksempler på byggeblokker! Forenkling

Detaljer

LØSNINGSFORSLAG TIL EKSAMEN STE 6219 Digital signalbehandling

LØSNINGSFORSLAG TIL EKSAMEN STE 6219 Digital signalbehandling Side 1 av 4 HØGSKOLEN I NARVIK Institutt for data-, elektro-, og romteknologi MSc-studiet EL/RT LØSNINGSFORSLAG TIL EKSAMEN STE 6219 Digital signalbehandling Tid: Fredag 11.03.2005, kl: 09:00-12:00 Tillatte

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF3470 Digital signalbehandling Eksamensdag: 1. desember 013 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 15 sider. Vedlegg:

Detaljer

Repetisjon: Eksempel. Repetisjon: Aliasing. Oversikt, 26.februar Gitt. Alle signaler. Ettersom. vil alle kontinuerlig-tid signaler.

Repetisjon: Eksempel. Repetisjon: Aliasing. Oversikt, 26.februar Gitt. Alle signaler. Ettersom. vil alle kontinuerlig-tid signaler. Oversikt, 6.februar Tilhørende pensum i boken er. -.. Repetisjon regning med aliasing og folding rekonstruksjon ved substitusjon FIR-filtre glidende middel et generelt FIR-filter enhetsimpulsresponsen

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF347/447 Digital signalbehandling Eksamensdag: 1. desember 16 Tid for eksamen: 14.3 18.3 Oppgavesettet er på 8 sider. Vedlegg:

Detaljer

Generell informasjon om faget er tilgjengelig fra It s learning.

Generell informasjon om faget er tilgjengelig fra It s learning. Stavanger, 6. august 013 Det teknisknaturvitenskapelige fakultet ELE500 Signalbehandling, 013. Generell informasjon om faget er tilgjengelig fra It s learning. Innhold 5.1 Implementering av IIR filter....................

Detaljer

Tidsdomene analyse (kap 3 del 2)

Tidsdomene analyse (kap 3 del 2) INF3470 Digital signalbehandling Tidsdomene analyse (kap 3 del 2) Sverre Holm 3.9 Diskret konvolusjon Metode for å finne responsen fra et filter med 0 initialbetingelser, fra impulsresponsen h[n] Enkelt

Detaljer

IIR filterdesign Sverre Holm

IIR filterdesign Sverre Holm IIR filterdesign IIR filterdesign Sverre Holm Filterspesifikasjon IIR kontra FIR IIR filtre er mer effektive enn FIR færre koeffisienter for samme magnitudespesifikasjon Men bare FIR kan gi eksakt lineær

Detaljer

Reelle tall på datamaskin

Reelle tall på datamaskin Reelle tall på datamaskin Knut Mørken 5. september 2007 1 Innledning Tirsdag 4/9 var tema for forelesningen hvordan reelle tall representeres på datamaskin og noen konsekvenser av dette, særlig med tanke

Detaljer

Dagens temaer. Dagens temaer hentes fra kapittel 3 i læreboken. Oppbygging av flip-flop er og latcher. Kort om 2-komplements form

Dagens temaer. Dagens temaer hentes fra kapittel 3 i læreboken. Oppbygging av flip-flop er og latcher. Kort om 2-komplements form Dagens temaer Dagens temaer hentes fra kapittel 3 i læreboken Oppbygging av flip-flop er og latcher Kort om 2-komplements form Binær addisjon/subtraksjon Aritmetisk-logisk enhet (ALU) Demo av Digital Works

Detaljer

LØSNINGSFORSLAG TIL SIGNALBEHANDLING 1 JUNI 2010

LØSNINGSFORSLAG TIL SIGNALBEHANDLING 1 JUNI 2010 LØSNINGSFORSLAG TIL SIGNALBEHANDLING JUNI Løsningsforslag til eksamen i Signalbehandling, mai Side av 5 Oppgave a) Inngangssignalet x(t) er gitt som x( t) = 5cos(π t) + 8cos(π 4 t). Bruker Eulers formel

Detaljer

Dagens tema. Dagens temaer hentes fra kapittel 3 i læreboken. Repetisjon, design av digitale kretser. Kort om 2-komplements form

Dagens tema. Dagens temaer hentes fra kapittel 3 i læreboken. Repetisjon, design av digitale kretser. Kort om 2-komplements form Dagens tema Dagens temaer hentes fra kapittel 3 i læreboken Repetisjon, design av digitale kretser Kort om 2-komplements form Binær addisjon/subtraksjon Aritmetisk-logisk enhet (ALU) Demo av Digital Works

Detaljer

Fasit, Eksamen. INF3440/4440 Signalbehandling 9. desember c 0 + c 1z 1 + c 2z 2. G(z) = 1/d 0 + d 1z 1 + d 2z 2

Fasit, Eksamen. INF3440/4440 Signalbehandling 9. desember c 0 + c 1z 1 + c 2z 2. G(z) = 1/d 0 + d 1z 1 + d 2z 2 Fasit, Eksamen INF/ Signalbehandling 9. desember Oppgave : Strukturer To systemfunksjoner, G(z) og H(z), er gitt som følger: G(z) = c + c z + c z /d + d z + d z og H(z) = /d + dz + d z c + c z + c z. Figur

Detaljer

EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK, LF DIGITALTEKNIKKDELEN AV EKSAMEN (VERSJON 1)

EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK, LF DIGITALTEKNIKKDELEN AV EKSAMEN (VERSJON 1) Side 1 av 14 INSTITUTT FOR ELEKTRONIKK OG TELEKOMMUNIKASJON EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK, LF DIGITALTEKNIKKDELEN AV EKSAMEN (VERSJON 1) Faglig kontakt: Ragnar Hergum (1 3.5) / Per Gunnar

Detaljer

y(t) t

y(t) t Løsningsforslag til eksamen i TE 559 Signaler og Systemer Høgskolen i Stavanger Trygve Randen, t.randen@ieee.org 3. mai 999 Oppgave a) Et tidsinvariant system er et system hvis egenskaper ikke endres med

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 29. mars 2007 Tid for eksamen: 09.00 2.00 Oppgavesettet er på 5 sider. Vedlegg: INF 3470 / INF 4470 Digital Signalbehandling

Detaljer

INF1400. Kombinatorisk Logikk

INF1400. Kombinatorisk Logikk INF4 Kombinatorisk Logikk Oversikt Binær addisjon Negative binære tall - 2 er komplement Binær subtraksjon Binær adder Halvadder Fulladder Flerbitsadder Carry propagation / carry lookahead Generell analyseprosedyre

Detaljer

Dagens temaer. Definisjon av z-transformasjonen. Tema. Time 5: z-transformasjon og frekvens transformasjon. Fra forrige gang

Dagens temaer. Definisjon av z-transformasjonen. Tema. Time 5: z-transformasjon og frekvens transformasjon. Fra forrige gang Dagens temaer Time 5: z-transformasjon og frekvens transformasjon Andreas Austeng@ifi.uio.no, NF3470 fi/uio September 2009 Fra forrige gang Kausalitet, stabilitet og inverse systemer Z 1 { }: nvers z-transformasjon

Detaljer

Utregning av en konvolusjonssum

Utregning av en konvolusjonssum Forelesning 4.mars 2004 Tilhørende pensum: 5.4-5.8 byggeklosser i implementasjon av FIR-filtre multiplikator adderer enhets blokkdiagrammer over FIR-filtre LTI-systemer tidsinvarians linearitet utlede

Detaljer

Transformanalyse. Jan Egil Kirkebø. Universitetet i Oslo 17./23. september 2019

Transformanalyse. Jan Egil Kirkebø. Universitetet i Oslo 17./23. september 2019 Transformanalyse Jan Egil Kirkebø Universitetet i Oslo janki@ifi.uio.no 17./23. september 2019 Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 17./23. september 2019 1 / 22 Egenfunksjoner til LTI-systemer

Detaljer

Forelesning 4. Binær adder m.m.

Forelesning 4. Binær adder m.m. Forelesning 4 Binær adder m.m. Hovedpunkter Binær addisjon 2 er komplement Binær subtraksjon BCD- og GRAY-code Binær adder Halv og full adder Flerbitsadder Carry propagation / carry lookahead 2 Binær addisjon

Detaljer

Tidsdomene analyse (kap 3 del 2)

Tidsdomene analyse (kap 3 del 2) INF3470 Digital signalbehandling Tidsdomene analyse (kap 3 del 2) Sverre Holm 3.9 Diskret konvolusjon Metode for å finne responsen fra et filter med 0 initialbetingelser, fra impulsresponsen h[n] Enkelt

Detaljer

Fasit til midtveiseksamen

Fasit til midtveiseksamen Fasit til midtveiseksamen INF344/444 Signalbehandling 2. november 24 Oppgave Betrakt systemet x(n) T y (n) med y(n) = 4 5 [x(n+)] 2. Avgjør og begrunn ditt svar om hvorvidt dette systemet er. lineært,

Detaljer

Uke 12: FIR-filter design

Uke 12: FIR-filter design Uke 12: FIR-filter design Jo Inge Buskenes Institutt for informatikk, Universitetet i Oslo INF3470/4470, høst 2013 2/47 Dagens temaer Repetisjon Design av digitale filtre Design av FIR filtre 3/47 Tema

Detaljer

Kontrollspørsmål fra pensum

Kontrollspørsmål fra pensum INNFHOLD: Kontrollspørsmål fra pensum... Integrasjonsfilter... 5 Lag et digitalt filter ved å digitalisere impulsresponsen til et analogt filter... 5 Laplace... 6 Pulsforsterker... 6 På siste forelesning

Detaljer

En mengde andre typer som DVD, CD, FPGA, Flash, (E)PROM etc. (Kommer. Hukommelse finnes i mange varianter avhengig av hva de skal brukes til:

En mengde andre typer som DVD, CD, FPGA, Flash, (E)PROM etc. (Kommer. Hukommelse finnes i mange varianter avhengig av hva de skal brukes til: 2 Dagens temaer Dagens 4 Sekvensiell temaer hentes fra kapittel 3 i Computer Organisation and Architecture Design Flip-flop er av sekvensielle kretser Tellere Tilstandsdiagram og registre Sekvensiell Hvis

Detaljer

Dagens temaer. Sekvensiell logikk: Kretser med minne. D-flipflop: Forbedring av RS-latch

Dagens temaer. Sekvensiell logikk: Kretser med minne. D-flipflop: Forbedring av RS-latch Dagens temaer Sekvensiell logikk: Kretser med minne RS-latch: Enkleste minnekrets D-flipflop: Forbedring av RS-latch Presentasjon av obligatorisk oppgave (se også oppgaveteksten på hjemmesiden). 9.9.3

Detaljer

INF1400. Kombinatorisk Logikk

INF1400. Kombinatorisk Logikk INF1400 Kombinatorisk Logikk Hva lærte vi forrige uke? www.socrative.com Student login Omid Mirmotahari 1 Læringsutbytte Kunnskapsmål: Kunnskap om hvordan addisjon og subtraksjon for binære tall gjøres

Detaljer

IIR filterdesign Sverre Holm

IIR filterdesign Sverre Holm IIR filterdesign Sverre Holm Filterspesifikasjon 1 IIR kontra FIR IIR filtre er mer effektive enn FIR færre koeffisienter for samme magnitude- spesifikasjon Men bare FIR kan gi eksakt lineær fase Lineær

Detaljer

Dagens temaer. temaer hentes fra kapittel 3 i Computer Organisation. av sekvensielle kretser. and Architecture. Tilstandsdiagram.

Dagens temaer. temaer hentes fra kapittel 3 i Computer Organisation. av sekvensielle kretser. and Architecture. Tilstandsdiagram. Dagens temaer 1 Dagens Sekvensiell temaer hentes fra kapittel 3 i Computer Organisation and Architecture logikk Flip-flop er Design av sekvensielle kretser Tilstandsdiagram Tellere og registre Sekvensiell

Detaljer

3UDNWLVN DQYHQGHOVH DY ')7

3UDNWLVN DQYHQGHOVH DY ')7 TE6146 ignalbehandling 3UDNWLVN DQYHQGHOVH DY ')7,QWURGXNVMRQ Kjenner DFT og FFT for effektiv numerisk beregning av DFT. Finnes ferdige funksjoner for FFT- algoritmer implementert i C/C og andre programmeringsspråk.

Detaljer

Repetisjon: Sampling. Repetisjon: Diskretisering. Repetisjon: Diskret vs kontinuerlig. Forelesning, 12.februar 2004

Repetisjon: Sampling. Repetisjon: Diskretisering. Repetisjon: Diskret vs kontinuerlig. Forelesning, 12.februar 2004 Repetisjon: Diskret vs kontinuerlig Forelesning,.februar 4 Kap. 4.-4. i læreboken. Anta variabelen t slik at a < t < b, (a, b) R sampling og rekonstruksjon, i tids- og frekvensdomenet Nyquist-Shannons

Detaljer

01 Laplace og Z-transformasjon av en forsinket firkant puls.

01 Laplace og Z-transformasjon av en forsinket firkant puls. Innholdsfortegnelse 0 Laplace og Z-transformasjon av en forsinket firkant puls.... 0 Sampling og filtrering og derivering av en trekant strømpuls... 03_Digitalt Chebyshev filter... 3 04 Digitalisering

Detaljer

Tall. Binære regnestykker. Binære tall positive, negative heltall, flytende tall

Tall. Binære regnestykker. Binære tall positive, negative heltall, flytende tall Tall To måter å representere tall Som binær tekst Eksempel: '' i ISO 889-x og Unicode UTF-8 er U+ U+, altså Brukes eksempelvis ved innlesing og utskrift, i XML-dokumenter og i programmeringsspråket COBOL

Detaljer

Forelesning nr.14 INF 1410

Forelesning nr.14 INF 1410 Forelesning nr.14 INF 1410 Frekvensrespons 1 Oversikt dagens temaer Generell frekvensrespons Resonans Kvalitetsfaktor Dempning Frekvensrespons Oppførselen For I Like til elektriske kretser i frekvensdomenet

Detaljer

pdf

pdf FILTERDESIGN Ukeoppgavene skal leveres som selvstendige arbeider. Det forventes at alle har satt seg inn i instituttets krav til innleverte oppgaver: Norsk versjon: http://www.ifi.uio.no/studinf/skjemaer/erklaring.pdf

Detaljer

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Kort repetisjon fra forrige gang. Kombinatorisk logikk

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Kort repetisjon fra forrige gang. Kombinatorisk logikk Dagens temaer Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture Kort repetisjon fra forrige gang Kombinatorisk logikk Analyse av kretser Eksempler på byggeblokker Forenkling

Detaljer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi Kandidatnr: Eksamensdato: 27.5.21 Varighet/eksamenstid: Emnekode: 5 timer EDT24T Emnenavn: Signalbehandling 1 Klasse(r): 2ET 2EE Studiepoeng: 1 Faglærer(e):

Detaljer

INF2270. Boolsk Algebra og kombinatorisk logikk

INF2270. Boolsk Algebra og kombinatorisk logikk INF227 Boolsk Algebra og kombinatorisk logikk Hovedpunkter Boolsk Algebra og DeMorgans Teorem Forkortning av uttrykk ved regneregler Utlesing av sannhetsverdi-tabell; Max og Min-termer Forkortning av uttrykk

Detaljer

Repetisjon. Jo Inge Buskenes. INF3470/4470, høst Institutt for informatikk, Universitetet i Oslo

Repetisjon. Jo Inge Buskenes. INF3470/4470, høst Institutt for informatikk, Universitetet i Oslo Repetisjon Jo Inge Buskenes Institutt for informatikk, Universitetet i Oslo INF3470/4470, høst 2012 2/1 Dagens temaer 3/1 Tema 3 domener Digitale systemer kan analyseres i tids-, frekvens- eller z-domenet

Detaljer

Repetisjon. Jo Inge Buskenes. INF3470/4470, høst Institutt for informatikk, Universitetet i Oslo

Repetisjon. Jo Inge Buskenes. INF3470/4470, høst Institutt for informatikk, Universitetet i Oslo Repetisjon Jo Inge Buskenes Institutt for informatikk, Universitetet i Oslo INF3470/4470, høst 2013 3 domener Digitale systemer kan analyseres i tids-, frekvens- eller z-domenet 1 Tidsdomenet, eller n-domenet:

Detaljer

01-Passivt Chebychevfilter (H00-4)

01-Passivt Chebychevfilter (H00-4) Innhold 01-Passivt Chebychevfilter (H00-4)... 1 0-Aktivt Butterworth & Besselfilter (H03-1)... 04 Sallen and Key lavpass til båndpass filter... 3 05 Butterworth & Chebychev (H0- a-d):... 5 06 Fra 1-ordens

Detaljer

STE6146 Signalbehandling .RQWLQXHUOLJH ILOWUH

STE6146 Signalbehandling .RQWLQXHUOLJH ILOWUH TE6146 ignalbehandling.rqwlqxhuoljh ILOWUH,QWURGXNVMRQ Ved enkelte metoder for design av digitale filtre, baserer en seg på tilgjengeligheten av metoder for design av analoge (kontinuerlige) filtre. Må

Detaljer

IN1020. Sekvensiell Logikk

IN1020. Sekvensiell Logikk IN12 Sekvensiell Logikk Hovedpunkter Definisjoner Portforsinkelse Praktiske Eksempler Latch SR D Flip-Flop D JK T Tilstandsmaskiner Tilstandsdiagrammer og tilstandstabeller Omid Mirmotahari 2 Definisjoner

Detaljer

Analog til digital omformer

Analog til digital omformer A/D-omformer Julian Tobias Venstad ED-0 Analog til digital omformer (Engelsk: Analog to Digital Converter, ADC) Forside En rask innføring. Innholdsfortegnelse Forside 1 Innholdsfortegnelse 2 1. Introduksjon

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF347/447 Digital signalbehandling Eksamensdag:. desember 5 Tid for eksamen: 9. 3. Oppgavesettet er på 7 sider. Vedlegg: Ingen

Detaljer

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er Dagens temaer Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture Sekvensiell logikk Flip-flop er Design av sekvensielle kretser Tilstandsdiagram Tellere og registre INF2270 1/19

Detaljer

Sampling ved Nyquist-raten

Sampling ved Nyquist-raten Samplingsteoremet Oppgavegjennomgang, 7.mai Oversikt Presisering av samplingsteoremet Løse utsendt oppgave om sampling Løse oppgave, V Løse oppgave 3, V If a function f (t contains no frequencies higher

Detaljer

Uke 5: Analyse i z- og frekvensdomenet

Uke 5: Analyse i z- og frekvensdomenet Uke 5: Analyse i z- og frekvensdomenet Jo Inge Buskenes Institutt for informatikk, Universitetet i Oslo INF3470/4470, høst 2011 2/32 Dagens temaer Fra forrige gang Kausalitet, stabilitet og inverse systemer

Detaljer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi Målform: Bokmål Eksamensdato: 7.mai 24 Varighet/eksamenstid: 5 timer Emnekode: TELE 23 Emnenavn: Signalbehandling Klasse(r): 2EI 2EE Studiepoeng: Faglærer(e):

Detaljer

TMA Matlab Oppgavesett 2

TMA Matlab Oppgavesett 2 TMA4123 - Matlab Oppgavesett 2 18.02.2013 1 Fast Fourier Transform En matematisk observasjon er at data er tall, og ofte opptrer med en implisitt rekkefølge, enten i rom eller tid. Da er det naturlig å

Detaljer

MIK 200 Anvendt signalbehandling, 2012. Lab. 5, brytere, lysdioder og logikk.

MIK 200 Anvendt signalbehandling, 2012. Lab. 5, brytere, lysdioder og logikk. Stavanger, 25. januar 2012 Det teknisknaturvitenskapelige fakultet MIK 200 Anvendt signalbehandling, 2012. Lab. 5, brytere, lysdioder og logikk. Vi skal i denne øvinga se litt på brytere, lysdioder og

Detaljer

EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK

EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK Side 1 av 13 INSTITUTT FOR ELEKTRONIKK OG TELEKOMMUNIKASJON EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK Faglig kontakt: Peter Svensson (1 3.5) / Kjetil Svarstad (3.6 4) Tlf.: 995 72 470 / 458 54 333

Detaljer

Design med ASIC og FPGA (Max kap.7 og 18)

Design med ASIC og FPGA (Max kap.7 og 18) Design med ASIC og FPGA (Max kap.7 og 18) Innhold: Begrensninger/muligheter å ta hensyn til ved FPGA design som en normalt slipper å tenke på med ASIC design. Migrering mellom FPGA og ASIC INF3430 - H10

Detaljer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi Målform: Eksamensdato: 14.5.213 Varighet/eksamenstid: Emnekode: Emnenavn: 5 timer EDT24T Signalbehandling Klasse(r): 2EI 2EE Studiepoeng: 1 Faglærer(e):

Detaljer

Uke 4: z-transformasjonen

Uke 4: z-transformasjonen Uke 4: z-transformasjonen Jo Inge Buskenes Institutt for informatikk, Universitetet i Oslo INF3470/4470, høst 2011 2/29 Dagens temaer z-dometet; ett av tre domener z-transformasjonen; definisjon og egenskaper

Detaljer

Lineære likningssett.

Lineære likningssett. Lineære likningssett. Forelesningsnotater i matematikk. Lineære likningssystemer. Side 1. 1. Innledning. La x 1, x, x n være n ukjente størrelser. La disse størrelsene være forbundet med m lineære likninger,

Detaljer

Bruk av tidsvindu. Diskret Fourier-transform. Repetisjon: Fourier-transformene. Forelesning 6. mai 2004

Bruk av tidsvindu. Diskret Fourier-transform. Repetisjon: Fourier-transformene. Forelesning 6. mai 2004 Repetisjon: Fourier-transformene Forelesning 6. mai 4 Spektralanalyse Pensum i boken: 3-4 til 3-5. Diskret tid Kontinuerlig tid Diskret frekvens DFT, X[k] Fourierrekker, {a k } Kontinuerlig frekvens DTFT,

Detaljer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi Målform: Bokmål Eksamensdato: 6.mai 215 Varighet/eksamenstid: 5 timer Emnekode: TELE 23 Emnenavn: Signalbehandling Klasse(r): 2EI 2EE Studiepoeng: 1 Faglærer(e):

Detaljer

MIK 200 Anvendt signalbehandling, 2012.

MIK 200 Anvendt signalbehandling, 2012. Stavanger, 25. januar 202 Det teknisknaturvitenskapelige fakultet MIK 200 Anvendt signalbehandling, 202. Lab. 6, CIC-filter. Dette er første del av øvinger om CIC-filter. Andre del kommer i øving 7. Før

Detaljer

Dagens temaer. Endelig lengde data. Tema. Time 11: Diskret Fourier Transform, del 2. Spektral glatting pga endelig lengde data.

Dagens temaer. Endelig lengde data. Tema. Time 11: Diskret Fourier Transform, del 2. Spektral glatting pga endelig lengde data. Dagens temaer Time : Diskret Fourier Transform, del Andreas Austeng@ifi.uio.no, INF37 Institutt for informatikk, Universitetet i Oslo Spektral glatting pga endelig lengde data Bruk av en Frekvensestimering

Detaljer

Uke 4: z-transformasjonen

Uke 4: z-transformasjonen Uke 4: z-transformasjonen Jo Inge Buskenes Institutt for informatikk, Universitetet i Oslo INF3470/4470, høst 2013 2/31 Dagens temaer z-dometet; ett av tre domener z-transformasjonen; definisjon og egenskaper

Detaljer

Basisbilder - cosinus. Alternativ basis. Repetisjon Basis-bilder. INF april 2010 Fouriertransform del II. cos( )

Basisbilder - cosinus. Alternativ basis. Repetisjon Basis-bilder. INF april 2010 Fouriertransform del II. cos( ) INF 30 0. april 00 Fouriertransform del II Kjapp repetisjon Bruk av vinduer Konvolusjonsteoremet Filtre og filtrering i frekvensdomenet Eksempel: 3 5 4 5 3 4 3 6 Repetisjon Basis-bilder Sort er 0, hvit

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF/ Signalbehandling Eksamensdag: 9. desember Tid for eksamen:. 7. Oppgavesettet er på sider. Vedlegg: Ingen Tillatte hjelpemidler:

Detaljer

4 Matriser TMA4110 høsten 2018

4 Matriser TMA4110 høsten 2018 Matriser TMA høsten 8 Nå har vi fått erfaring med å bruke matriser i et par forskjellige sammenhenger Vi har lært å løse et lineært likningssystem ved å sette opp totalmatrisen til systemet og gausseliminere

Detaljer

Tall. Posisjons-tallsystemer. Representasjon av heltall. Tall positive, negative heltall, flytende tall. Tekst ASCII, UNICODE XML, CSS

Tall. Posisjons-tallsystemer. Representasjon av heltall. Tall positive, negative heltall, flytende tall. Tekst ASCII, UNICODE XML, CSS Tall jfr. Cyganski & Orr 3..3, 3..5 se også http://courses.cs.vt.edu/~csonline/numbersystems/lessons/index.html Tekst ASCII, UNICODE XML, CSS Konverteringsrutiner Tall positive, negative heltall, flytende

Detaljer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi Målform: Bokmål Eksamensdato: 16.mai 1 Varighet/eksamenstid: Emnekode: Emnenavn: 5 timer EDT4T Signalbehandling Klasse(r): EI EE Studiepoeng: 1 Faglærer(e):

Detaljer

Muntlig eksamenstrening

Muntlig eksamenstrening INNFHOLD: Muntlig eksamenstrening... 1 Finn algoritme fra gitt H(z)... Laplace og Z-transformasjon av en Forsinket firkant puls.... 3 Sampling, filtrering og derivering av en trekant strømpuls... 3 Digitalisering

Detaljer

Mengder, relasjoner og funksjoner

Mengder, relasjoner og funksjoner MAT1030 Diskret Matematikk Forelesning 15: og induksjon Dag Normann Matematisk Institutt, Universitetet i Oslo Mengder, relasjoner og funksjoner 9. mars 2010 (Sist oppdatert: 2010-03-09 14:18) MAT1030

Detaljer

FFT. Prosessering i frekvensdomenet. Digital signalprosessering Øyvind Brandtsegg

FFT. Prosessering i frekvensdomenet. Digital signalprosessering Øyvind Brandtsegg FFT Prosessering i frekvensdomenet Digital signalprosessering Øyvind Brandtsegg Representasjonsmåter Tidsdomene: Amplityde over tid Frekvensdomene: Amplityde over frekvens Hvorfor? Prosessering i frekvensdomenet

Detaljer

HØGSKOLEN - I - STAVANGER. Institutt for elektroteknikk og databehandling

HØGSKOLEN - I - STAVANGER. Institutt for elektroteknikk og databehandling HØGSKOLEN - I - STAVANGER Institutt for elektroteknikk og databehandling EKSAMEN I: TE 559 Signaler og systemer VARIGHET: 5 timer TILLATTE HJELPEMIDLER: Kalkulator, K. Rottmanns formelsamling OPPGAVESETTET

Detaljer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi Eksamensdato: 19.5.211 Varighet/eksamenstid: Emnekode: 5 timer EDT24T Emnenavn: Signalbehandling 1 Klasse(r): 2EE Studiepoeng: 1 Faglærer(e): Håkon Grønning

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Forelesning 29: Kompleksitetsteori Roger Antonsen Institutt for informatikk, Universitetet i Oslo 13. mai 2009 (Sist oppdatert: 2009-05-17 22:38) Forelesning 29: Kompleksitetsteori

Detaljer

Forelesning 29: Kompleksitetsteori

Forelesning 29: Kompleksitetsteori MAT1030 Diskret Matematikk Forelesning 29: Kompleksitetsteori Roger Antonsen Institutt for informatikk, Universitetet i Oslo Forelesning 29: Kompleksitetsteori 13. mai 2009 (Sist oppdatert: 2009-05-17

Detaljer

Løsningsforslag til regneøving 6. a) Bruk boolsk algebra til å forkorte følgende uttrykk [1] Fjerner 0 uttrykk, og får: [4]

Løsningsforslag til regneøving 6. a) Bruk boolsk algebra til å forkorte følgende uttrykk [1] Fjerner 0 uttrykk, og får: [4] Løsningsforslag til regneøving 6 TFE4 Digitalteknikk med kretsteknikk Løsningsforslag til regneøving 6 vårsemester 28 Utlevert: tirsdag 29. april 28 Oppgave : a) Bruk boolsk algebra til å forkorte følgende

Detaljer

STE6146 Signalbehandling =-WUDQVIRUPHQ

STE6146 Signalbehandling =-WUDQVIRUPHQ TE6146 ignalbehandling =-WUDQVIRUPHQ,QWURGXNVMRQ Fourier-transformen er et meget nyttig verktøy for diskrete signaler og systemer Fourier-transformen konvergerer ikke for alle følger Trenger mere generelt

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk - naturvitenskapelige fakultet Eksamen i : FYS1210 - Elektronikk med prosjektoppgaver Eksamensdag : Tirsdag 7. juni 2016 Tid for eksamen : 09:00 12:00 (3 timer) Oppgavesettet

Detaljer