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

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

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

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

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

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

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

FYS1210 Løsningsforslag Eksamen V2015

FYS1210 Løsningsforslag Eksamen V2015 FYS1210 Løsningsforslag Eksamen V2015 K. Spildrejorde, M. Elvegård Juni 2015 1 Oppgave 1: Frekvensfilter Frekvensfilteret har følgende verdier: 1A C1 = 1nF C2 = 100nF R1 = 10kΩ R2 = 10kΩ Filteret er et

Detaljer

6DPSOLQJ DY NRQWLQXHUOLJH VLJQDOHU

6DPSOLQJ DY NRQWLQXHUOLJH VLJQDOHU TE6146 ignalbehandling 6DPOLQJ DY NRQWLQXHUOLJH VLJQDOHU,QWURGXNVMRQ Mest vanlige måte å oppnå diskrete signaler på er ved sampling av kontinuerlige signaler Under gitte forutsetninger kan kontinuerlige

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

LØSNINGSFORSLAG TIL KONTINUASJONSEKSAMEN STE 6219 Digital signalbehandling

LØSNINGSFORSLAG TIL KONTINUASJONSEKSAMEN STE 6219 Digital signalbehandling HØGSKOLEN I NARVIK Institutt for data-, elektro-, og romteknologi Masterstudiet EL/RT LØSNINGSFORSLAG TIL KONTINUASJONSEKSAMEN STE 629 Digital signalbehandling Tid: Torsdag 0.08.2006, kl: 09:00-2:00 Tillatte

Detaljer

INF1411 Obligatorisk oppgave nr. 4

INF1411 Obligatorisk oppgave nr. 4 INF1411 Obligatorisk oppgave nr. 4 Fyll inn navn på alle som leverer sammen, 2 per gruppe (1 eller 3 i unntakstilfeller): 1 2 3 Informasjon og orientering I denne oppgaven skal du lære litt om responsen

Detaljer

Dagens tema. Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er. Tellere og registre

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

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF2310 Digital bildebehandling Eksamensdag : Onsdag 4. juni 2008 Tid for eksamen : 14:30 17:30 (3 timer) Oppgavesettet er på

Detaljer

ELE610 Prosjekter i robotteknikk, vår 2016.

ELE610 Prosjekter i robotteknikk, vår 2016. Stavanger, 1. desember 2015 Det teknisknaturvitenskapelige fakultet ELE610 Prosjekter i robotteknikk, vår 2016. Lab. 2, Logikk og Notch-filter. Innhold 0 Introduksjon 3 2 Oppgaver 4 2.1 Logisk funksjon...........................

Detaljer

Sampling, kvantisering og lagring av lyd

Sampling, kvantisering og lagring av lyd Litteratur : Temaer i dag: Neste uke : Sampling, kvantisering og lagring av lyd Cyganski kap 11-12 Merk: trykkfeilliste legges på web-siden Sampling av lyd Kvantisering av lyd Avspilling av samplet og

Detaljer

Løsningsforslag til 1. del av Del - EKSAMEN

Løsningsforslag til 1. del av Del - EKSAMEN Løsningsforslag til 1. del av Del - EKSAMEN Emnekode: ITD13012 Emne: Datateknikk Dato: 27. November 2012 Eksamenstid: kl 9:00 til kl 12:00 Hjelpemidler: 4 sider (A4) (2 ark) med egne notater. Ikke-kummuniserende

Detaljer

Treleder kopling - Tredleder kopling fordeler lednings resistansen i spenningsdeleren slik at de til en vis grad kanselerer hverandre.

Treleder kopling - Tredleder kopling fordeler lednings resistansen i spenningsdeleren slik at de til en vis grad kanselerer hverandre. Treleder kopling Tredleder kopling fordeler lednings resistansen i spenningsdeleren slik at de til en vis grad kanselerer hverandre. Dersom Pt100=R, vil treleder koplingen totalt kanselerere virkningen

Detaljer

Den analoge verden blir digitalisert

Den analoge verden blir digitalisert Den analoge verden blir digitalisert Lindem 4. mai 2008 Med bestemte tidsintervall går vi inn og avleser (digitaliserer) den analoge verdien til signalet. Nyquist Shannon sampling theorem: Skal vi beholde

Detaljer

Datamaskiner og operativsystemer =>Datamaskinorganisering og arkitektur

Datamaskiner og operativsystemer =>Datamaskinorganisering og arkitektur Datamaskiner og operativsystemer =>Datamaskinorganisering og arkitektur Lærebok: Computer organization and architecture/w. Stallings. Avsatt ca 24 timers tid til forelesning. Lærestoffet bygger på begrepsapparat

Detaljer

Simulering - Sannsynlighet

Simulering - Sannsynlighet Simulering - Sannsynlighet Når regnearket skal brukes til simulering, er det et par grunninnstillinger som må endres i Excel. Hvis du får feilmelding om 'sirkulær programmering', betyr det vanligvis at

Detaljer

Realisering av high-end delta-sigma DAC i FPGA

Realisering av high-end delta-sigma DAC i FPGA Realisering av high- delta-sigma DAC i FPGA Lasse Haugnes Olsen Master i elektronikk Oppgaven levert: Juli 2006 Hovedveileder: Trond Sæther, IET Biveileder(e): Ivar Løkken, IET Norges teknisk-naturvitenskapelige

Detaljer

Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen

Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen Dagens temaer Fra kapittel 4 i Computer Organisation and Architecture Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen Register Transfer Language (RTL) Instruksjonseksekvering Pipelining

Detaljer

INF1400. Digital teknologi. Joakim Myrvoll 2014

INF1400. Digital teknologi. Joakim Myrvoll 2014 INF1400 Digital teknologi Joakim Myrvoll 2014 Innhold 1 Forenkling av funksjonsuttrykk 3 1.1 Huntingtons postulater......................................... 3 1.2 DeMorgans...............................................

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF 3440 / INF 4440 Signalbehandling Eksamensdag: 27. oktober 2003 10. november 2003 Tid for eksamen: 12.00 12.00 Oppgavesettet

Detaljer

MAT1030 Diskret matematikk

MAT1030 Diskret matematikk MAT1030 Diskret matematikk Plenumsregning 3: Ukeoppgaver fra kapittel 2 & 3 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 31. januar 2008 Oppgave 2.7 - Horners metode (a) 7216 8 : 7 8+2 58

Detaljer

Forelesning nr.4 INF 1410

Forelesning nr.4 INF 1410 Forelesning nr.4 INF 1410 Flere teknikker for kretsanalyse og -transformasjon 1 Oversikt dagens temaer inearitet Praktiske Ekvivalente Nortons Thévenins Norton- og superposisjonsprinsippet (virkelige)

Detaljer

Kapittel 3: Litt om representasjon av tall

Kapittel 3: Litt om representasjon av tall MAT1030 Diskret Matematikk Forelesning 3: Litt om representasjon av tall, logikk Roger Antonsen Institutt for informatikk, Universitetet i Oslo Kapittel 3: Litt om representasjon av tall 20. januar 2009

Detaljer

TMA4123 - Kræsjkurs i Matlab. Oppgavesett 3 Versjon 1.2

TMA4123 - Kræsjkurs i Matlab. Oppgavesett 3 Versjon 1.2 TMA4123 - Kræsjkurs i Matlab. Oppgavesett 3 Versjon 1.2 07.03.2013 I dette oppgavesettet skal vi se på ulike måter fouriertransformasjonen anvendes i praksis. Fokus er på støyfjerning i signaler. I tillegg

Detaljer

Numerisk løsning av differensiallikninger Eulers metode,eulers m

Numerisk løsning av differensiallikninger Eulers metode,eulers m Numerisk løsning av differensiallikninger Eulers metode, Eulers midtpunktmetode, Runge Kuttas metode, Taylorrekkeutvikling* og Likninger av andre orden MAT-INF1100 Diskretsering Utgangspunkt: differensiallikning

Detaljer

Analyse og metodikk i Calculus 1

Analyse og metodikk i Calculus 1 Analyse og metodikk i Calculus 1 Fredrik Göthner og Raymi Eldby Norges teknisk-naturvitenskapelige universitet 3. desember 01 1 Innhold Forord 3 1 Vurdering av grafer og funksjoner 4 1.1 Hva er en funksjon?.........................

Detaljer

ELE610 Prosjekter i robotteknikk, vår 2016.

ELE610 Prosjekter i robotteknikk, vår 2016. Stavanger, 1. desember 2015 Det teknisknaturvitenskapelige fakultet ELE610 Prosjekter i robotteknikk, vår 2016. Lab. 1, introduksjon og FIR filter. Innhold 0 Introduksjon 3 1 Oppgaver 3 1.1 Noen spørsmål

Detaljer

Forelesning 15.11. Datatyper Kap 5.2 Instruksjonsformat Kap 5.3 Flyttall App B

Forelesning 15.11. Datatyper Kap 5.2 Instruksjonsformat Kap 5.3 Flyttall App B TDT4160 Datamaskiner Grunnkurs Forelesning 15.11 Datatyper Kap 5.2 Instruksjonsformat Kap 5.3 Flyttall App B Dagens tema Datatyper (5.2) Heltall Ikke-numeriske datatyper Instruksjonsformat (5.3) Antall

Detaljer

Rapport. Lab 1. Absoluttverdikrets - portkretser

Rapport. Lab 1. Absoluttverdikrets - portkretser TFE4105 Digitalteknikk og datamaskiner Rapport Lab 1 Absoluttverdikrets - portkretser av Even Wiik Thomassen Broen van Besien Gruppe 193 Lab utført: 8. september 2004 Rapport levert: 12. november 2004

Detaljer

Dato: Tirsdag 28. november 2006 Lengde på eksamen: 4 timer Tillatte hjelpemidler: Kun standard enkel kalkulator, HP 30S

Dato: Tirsdag 28. november 2006 Lengde på eksamen: 4 timer Tillatte hjelpemidler: Kun standard enkel kalkulator, HP 30S DET TEKNISK - NATURVITENSKAPELIGE FAKULTET Institutt for data- og elektroteknikk Eksamen i MIK130, Systemidentifikasjon Dato: Tirsdag 28. november 2006 Lengde på eksamen: 4 timer Tillatte hjelpemidler:

Detaljer

Representasjon av tall på datamaskin Kort innføring for MAT-INF1100L

Representasjon av tall på datamaskin Kort innføring for MAT-INF1100L Representasjon av tall på datamaskin Kort innføring for MAT-INF00L Knut Mørken 3. desember 204 Det er noen få prinsipper fra den første delen av MAT-INF00 om tall som studentene i MAT-INF00L bør kjenne

Detaljer

Formelark for eksamen i TE 559 Signaler og systemer Kontinuerlig tid Diskret tid Beskrivelse Dierensialligning Dieranseligning y(t) =y (t) +3u(t) +5u (t) y[k] =,y[k, ] + u[k] Beskrivelse Impulsrespons,

Detaljer

EKSAMEN Løsningsforslag Emne: Fysikk og datateknikk

EKSAMEN Løsningsforslag Emne: Fysikk og datateknikk Emnekode: ITD006 EKSAMEN Løsningsforslag Emne: Fysikk og datateknikk Dato: 09. Mai 006 Eksamenstid: kl 9:00 til kl :00 Hjelpemidler: 4 sider (A4) ( ark) med egne notater. Kalkulator. Gruppebesvarelse,

Detaljer

RAPPORT LAB 3 TERNING

RAPPORT LAB 3 TERNING TFE4110 Digitalteknikk med kretsteknikk RAPPORT LAB 3 TERNING av June Kieu Van Thi Bui Valerij Fredriksen Labgruppe 201 Lab utført 09.03.2012 Rapport levert: 16.04.2012 FAKULTET FOR INFORMASJONSTEKNOLOGI,

Detaljer

Lineær Algebra og Vektorrom. Eivind Eriksen. Høgskolen i Oslo, Avdeling for Ingeniørutdanning

Lineær Algebra og Vektorrom. Eivind Eriksen. Høgskolen i Oslo, Avdeling for Ingeniørutdanning Lineær Algebra og Vektorrom Eivind Eriksen Høgskolen i Oslo, Avdeling for Ingeniørutdanning c Eivind Eriksen 2005. Innhold Kapittel 1. Lineære likningssystemer 1 1.1. Lineære likningssystemer i to variable

Detaljer

Repetisjon og mer motivasjon. MAT1030 Diskret matematikk. Repetisjon og mer motivasjon

Repetisjon og mer motivasjon. MAT1030 Diskret matematikk. Repetisjon og mer motivasjon Repetisjon og mer motivasjon MAT030 Diskret matematikk Forelesning 22: Grafteori Roger Antonsen Matematisk Institutt, Universitetet i Oslo 4. april 2008 Først litt repetisjon En graf består av noder og

Detaljer

Oppsummering. MAT1030 Diskret matematikk. Oppsummering. Oppsummering. Eksempel

Oppsummering. MAT1030 Diskret matematikk. Oppsummering. Oppsummering. Eksempel MAT1030 Diskret matematikk Forelesning 26: Trær Sist forelesning snakket vi i hovedsak om trær med rot, og om praktisk bruk av slike. rot Dag Normann Matematisk Institutt, Universitetet i Oslo barn barn

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF2310 Digital bildebehandling Eksamensdag : Onsdag 4. juni 2008 Tid for eksamen : 14:30 17:30 (3 timer) Oppgavesettet er på

Detaljer

TDT4160 Datamaskiner Grunnkurs 2008. Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs 2008. Gunnar Tufte 1 TDT4160 Datamaskiner Grunnkurs 2008 Gunnar Tufte 2 I dag Kva er inni 8051, P4 og UltraSparc Digital logic level (start kapitel 3) VIKTIG MELDING Alle som har brukt NTNU-passord for AoC pålogging må skifte

Detaljer

Kapittel 3. Basisbånd demodulering/deteksjon. Intersymbolinterferens (ISI) og utjevning

Kapittel 3. Basisbånd demodulering/deteksjon. Intersymbolinterferens (ISI) og utjevning Kapittel 3 Basisbånd demodulering/deteksjon Intersymbolinterferens (ISI) og utjevning 3.3 s. 136 Ekvivalent kanalmodell TX filter H t (f) Channel H c (f) + RX filter H r (f) t=kt Detector Noise H(f) h(t)

Detaljer

Algoritmer - definisjon

Algoritmer - definisjon Algoritmeanalyse Algoritmer - definisjon En algoritme er en beskrivelse av hvordan man løser et veldefinert problem med en presist formulert sekvens av et endelig antall enkle, utvetydige og tidsbegrensede

Detaljer

TALL. 1 De naturlige tallene. H. Fausk

TALL. 1 De naturlige tallene. H. Fausk TALL H. Fausk 1 De naturlige tallene De naturlige tallene er 1, 2, 3, 4, 5,... (og så videre). Disse tallene brukes til å telle med, og de kalles også telletallene. Listen med naturlige tall stopper ikke

Detaljer

04.04.2013. Lektor 2 for Stovner VGS 12. februar 2013

04.04.2013. Lektor 2 for Stovner VGS 12. februar 2013 Lektor 2 for Stovner VGS 12. februar 2013 Født i Sandefjord for 54 år siden Døpt Bjørn Aarseth Utdannet elektronikkingeniør Ansatt i NRK i 1981 5. september 2004 = halve livet i NRK! Interesser: musikk

Detaljer

(12) Oversettelse av europeisk patentskrift

(12) Oversettelse av europeisk patentskrift (12) Oversettelse av europeisk patentskrift (11) NO/EP 00904 B1 (19) NO NORGE (1) Int Cl. G06F 7/72 (06.01) Patentstyret (21) Oversettelse publisert 12.12.17 (80) Dato for Den Europeiske Patentmyndighets

Detaljer

Digitalstyring sammendrag

Digitalstyring sammendrag Digitalstyring sammendrag Boolsk algebra A + A = 1 AA = 0 A + A = A AA = A A + 0 = A A 1 = A A + 1 = 1 A 0 = 0 (A ) = A A + B = B + A AB = BA A + (B + C) = (A + B) + C A(BC) = (AB)C A(B + C) = AB + AC

Detaljer

TFE4100 Kretsteknikk Kompendium. Eirik Refsdal

TFE4100 Kretsteknikk Kompendium. Eirik Refsdal <eirikref@pvv.ntnu.no> TFE4100 Kretsteknikk Kompendium Eirik Refsdal 16. august 2005 2 INNHOLD Innhold 1 Introduksjon til elektriske kretser 4 1.1 Strøm................................ 4 1.2 Spenning..............................

Detaljer

0.1 Kort introduksjon til komplekse tall

0.1 Kort introduksjon til komplekse tall Enkel introduksjon til matnyttig matematikk Vi vil i denne innledningen introdusere litt matematikk som kan være til nytte i kurset. I noen tilfeller vil vi bare skrive opp uttrykk uten å komme inn på

Detaljer

Likninger - en introduksjon på 8. trinn Hva er en likning og hva betyr å løse den?

Likninger - en introduksjon på 8. trinn Hva er en likning og hva betyr å løse den? side 1 Detaljert eksempel om Likninger - en introduksjon på 8. trinn Hva er en likning og hva betyr å løse den? Dette er et forslag til undervisningsopplegg der utgangspunktet er sentrale problemstillinger

Detaljer

Universitetet i Stavanger Institutt for petroleumsteknologi

Universitetet i Stavanger Institutt for petroleumsteknologi Universitetet i Stavanger Institutt for petroleumsteknologi Side 1 av 6 Faglig kontakt under eksamen: Professor Ingve Simonsen Telefon: 470 76 416 Eksamen i PET110 Geofysikk og brønnlogging Mar. 09, 2015

Detaljer

INF3430/4431. VHDL byggeblokker og testbenker

INF3430/4431. VHDL byggeblokker og testbenker INF3430/4431 VHDL byggeblokker og testbenker Entity/architecture Innhold Strukturelle design (nettliste) Generics Configurations Operatorer-Operator prioritet (precedence) Datatyper Bit / IEEE1164 std_ulogic

Detaljer

Rekursiv programmering

Rekursiv programmering Rekursiv programmering Babushka-dukker En russisk Babushkadukke er en sekvens av like dukker inne i hverandre, som kan åpnes Hver gang en dukke åpnes er det en mindre utgave av dukken inni, inntil man

Detaljer

Komplekse tall og komplekse funksjoner

Komplekse tall og komplekse funksjoner KAPITTEL Komplekse tall og komplekse funksjoner. Komplekse tall.. Definisjon av komplekse tall. De komplekse tallene er en utvidelse av de reelle tallene. Dvs at de komplekse tallene er en tallmengde som

Detaljer

Læreplan, nivå 1. Innhold / tema. Hovedområde Kompetansemål Elevene skal kunne: Tall og algebra:

Læreplan, nivå 1. Innhold / tema. Hovedområde Kompetansemål Elevene skal kunne: Tall og algebra: Kartlegging / vurdering av nivå Begynn året med et kort kurs i tall-lære og matematiske symboler. Deretter kartlegging som plasserer elevene i nivågruppe. De som kan dette, jobber med tekstoppgaver / problemløsning.

Detaljer

Konvolusjon og filtrering og frevensanalyse av signaler

Konvolusjon og filtrering og frevensanalyse av signaler Høgskolen i Østfold Avdeling for informasjonsteknologi Fag IAD33505 Bildebehandling og mønstergjenkjenning Laboppgave nr 2 Konvolusjon og filtrering og frevensanalyse av signaler Sarpsborg 21.01.2005 20.01.05

Detaljer

Emne 11 Differensiallikninger

Emne 11 Differensiallikninger Emne 11 Differensiallikninger Differensiallikninger er en dynamisk beskrivelse av et system eller en prosess, basert på de balanselikningene vi har satt opp for prosessen. (Matematisk modellering). Vi

Detaljer

Signalfiltrering. Finn Haugen TechTeach. 21. september 2003. Sammendrag

Signalfiltrering. Finn Haugen TechTeach. 21. september 2003. Sammendrag Signalfiltrering Finn Haugen TechTeach. eptember 3 Sammendrag Dette dokumentet gir en kort bekrivele av ignalfiltrering med tidkontinuerlige, ogå kalt analoge, filtere og med tiddikrete, ogå kalt digitale,

Detaljer

Eksempel på løsning. Sentralt gitt skriftlig eksamen MAT1008 Matematikk 2T Eksamen 30.11.2009. Bokmål

Eksempel på løsning. Sentralt gitt skriftlig eksamen MAT1008 Matematikk 2T Eksamen 30.11.2009. Bokmål Eksempel på løsning 010 Sentralt gitt skriftlig eksamen MAT1008 Matematikk T Eksamen 30.11.009 Bokmål MAT1008 Matematikk T HØSTEN 009 Eksempel på løsning med vekt på bruk av digitale verktøy Hva er en

Detaljer

Brukerveiledning for webapplikasjonen. Mathemateria 01.02.2015. Terje Kolderup

Brukerveiledning for webapplikasjonen. Mathemateria 01.02.2015. Terje Kolderup Brukerveiledning for webapplikasjonen Mathemateria 01.02.2015 Terje Kolderup Innhold Brukerveiledning for webapplikasjonen...1 Mathemateria...1 Introduksjon...3 Typisk eksempel og bryterstyring...3 Innlogging...4

Detaljer

Funksjoner Forelesning i Matematikk 1 TMA4100. Hans Jakob Rivertz Institutt for matematiske fag 18. august 2011

Funksjoner Forelesning i Matematikk 1 TMA4100. Hans Jakob Rivertz Institutt for matematiske fag 18. august 2011 Funksjoner Forelesning i Matematikk TMA400 Hans Jakob Rivertz Institutt for matematiske fag 8. august 20 2 Definisjon av funksjon Definisjon En funksjon er en regel f som til et hvert tall i definisjonsmengden

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Eksamensdag: Tirsdag 12. juni 2012 Tid for eksamen: 9:00 15:00 Oppgavesettet er

Detaljer

Løsningsforslag eksamen STE 6038 Geometrisk modellering 9/8 1995

Løsningsforslag eksamen STE 6038 Geometrisk modellering 9/8 1995 Løsningsforslag eksamen STE 638 Geometrisk modellering 9/8 995. a) Vi skal bestemme hvilke av avbildningene/transformasjonene som er homeomorfier. f 4 6 Determinanten til matrisen er lik, dvs at den har

Detaljer

Digitalisering av lyd

Digitalisering av lyd Digitalisering av lyd Denne øvelsen er basert på materiale som Tore A. Danielsen utviklet som del av sin masteroppgave i fysikkdidaktikk. Arnt Inge Vistnes har også bidratt med ideer og diskusjoner. Hva

Detaljer

Løsningsforslag til 1. del av Del - EKSAMEN

Løsningsforslag til 1. del av Del - EKSAMEN Løsningsforslag til 1. del av Del - EKSAMEN Emnekode: ITD13012 Emne: Datateknikk Dato: 13. Desember 2013 Eksamenstid: kl 9:00 til kl 12:00 Hjelpemidler: 4 sider (A4) (2 ark) med egne notater. Ikke-kummuniserende

Detaljer

Algoritmeanalyse. (og litt om datastrukturer)

Algoritmeanalyse. (og litt om datastrukturer) Algoritmeanalyse (og litt om datastrukturer) Datastrukturer definisjon En datastruktur er den måten en samling data er organisert på. Datastrukturen kan være ordnet (sortert på en eller annen måte) eller

Detaljer

Fakultet for informasjonsteknologi, Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

Fakultet for informasjonsteknologi, Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 % Side 1 av 10 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til

Detaljer

Datamaskinens oppbygning

Datamaskinens oppbygning Datamaskinens oppbygning Håkon Tolsby 18.09.2014 Håkon Tolsby 1 Innhold Hovedenheten Hovedkort Prosessor CISC og RISC 18.09.2014 Håkon Tolsby 2 Datamaskinens bestanddeler Hovedenhet Skjerm Tastatur Mus

Detaljer

1 Tidsdiskret PID-regulering

1 Tidsdiskret PID-regulering Finn Haugen (finn@techteach.no), TechTeach (techteach.no) 16.2.02 1 Tidsdiskret PID-regulering 1.1 Innledning Dette notatet gir en kortfattet beskrivelse av analyse av tidsdiskrete PID-reguleringssystemer.

Detaljer

Potensrekker. Binomialrekker

Potensrekker. Binomialrekker Potensrekker Potensrekker er rekker på formen: Potensrekker kan brukes på en rekke områder for å finne tilnærmede eller eksakte løsninger på problemer som ellers kanskje må løses numerisk eller krever

Detaljer

ENC - 100. ENKEL AKSE og KLIPPE LENGDE KONTROLLER for PLATESAKSER

ENC - 100. ENKEL AKSE og KLIPPE LENGDE KONTROLLER for PLATESAKSER ENC - 100 ENKEL AKSE og KLIPPE LENGDE KONTROLLER for PLATESAKSER 1. GENERELLE SPESIFIKASJONER Membran tastatur med lang levetid. Klart og lett lesbart display. Viser hver av de 6 sifrene for aktuell og

Detaljer

Prosent- og renteregning

Prosent- og renteregning FORKURSSTART Prosent- og renteregning p prosent av K beregnes som p K 100 Eksempel 1: 5 prosent av 64000 blir 5 64000 =5 640=3200 100 p 64000 Eksempel 2: Hvor mange prosent er 9600 av 64000? Løs p fra

Detaljer

Øgrim Bakken Pettersen Skrindo Thorstensen Thorstensen. Digitalt verktøy for Sigma 1T. Casio fx 9860

Øgrim Bakken Pettersen Skrindo Thorstensen Thorstensen. Digitalt verktøy for Sigma 1T. Casio fx 9860 Øgrim Bakken Pettersen Skrindo Thorstensen Thorstensen Digitalt verktøy for Casio fx 9860 Innhold 1 Innstillinger 4 2 Regning 5 2.1 Regnerekkefølge................................ 5 2.2 Tallet π.....................................

Detaljer

Læreplan i matematikk. Kompetansemål etter 10. årstrinn

Læreplan i matematikk. Kompetansemål etter 10. årstrinn Læreplan i matematikk Kompetansemål etter 10. årstrinn Tall og algebra Eleven skal kunne: 1. Sammenlikne og regne om hele tal, desimaltall, brøker, prosent, promille og tall på standardform 2. Regne med

Detaljer

a) Vis hovedelementene i GSM-arkitekturen og beskriv hovedoppgavene til de forskjellige funksjonelle enhetene i arkitekturen

a) Vis hovedelementene i GSM-arkitekturen og beskriv hovedoppgavene til de forskjellige funksjonelle enhetene i arkitekturen Høst 2011 - Løsningsforslag Oppgave 1 - Mobilsystemer a) Vis hovedelementene i GSM-arkitekturen og beskriv hovedoppgavene til de forskjellige funksjonelle enhetene i arkitekturen MS: Mobile station BTS:

Detaljer

KONVENSJONELLE latcher og vipper i CMOS blir gjennomgått.

KONVENSJONELLE latcher og vipper i CMOS blir gjennomgått. el 11: Latcher og vipper 1 NGVAR BERG I. Innhold KONVENSJONELLE latcher og vipper i CMOS blir gjnomgått. Latcher som styres av to klokkefaser og klokkepulser blir diskutert. Lacher og vipper med, og able

Detaljer

TDT4105 IT Grunnkurs Høst 2014

TDT4105 IT Grunnkurs Høst 2014 TDT4105 IT Grunnkurs Høst 2014 Norges teknisknaturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Øving 6 1 Teori a) Hva er 2-komplement? b) Hva er en sample innen digital

Detaljer

LABORATORIERAPPORT. Halvlederdioden AC-beregninger. Christian Egebakken

LABORATORIERAPPORT. Halvlederdioden AC-beregninger. Christian Egebakken LABORATORIERAPPORT Halvlederdioden AC-beregninger AV Christian Egebakken Sammendrag I dette prosjektet har vi forklart den grunnleggende teorien bak dioden. Vi har undersøkt noen av bruksområdene til vanlige

Detaljer

Sammendrag R2. www.kalkulus.no. 31. mai 2009

Sammendrag R2. www.kalkulus.no. 31. mai 2009 Sammendrag R2 www.kalkulus.no 31. mai 2009 1 1 Trigonometri Definisjon av sinus og cosinus Sirkelen med sentrum i origo og radius 1 kalles enhetssirkelen. La v være en vinkel i grunnstilling, og la P være

Detaljer

Ulikheter. Vi gir her eksempel på hvordan man kan finne ut hvornår ulikheter er sanne på forskjellige måter.

Ulikheter. Vi gir her eksempel på hvordan man kan finne ut hvornår ulikheter er sanne på forskjellige måter. Ulikheter. Vi gir her eksempel på hvordan man kan finne ut hvornår ulikheter er sanne på forskjellige måter. Dersom man ofte ikke er intressert i å finne eksakte løsninger kun sikkre interval, er ulikheter

Detaljer

Analog. INF 1040 Sampling, kvantisering og lagring av lyd. Kontinuerlig. Digital

Analog. INF 1040 Sampling, kvantisering og lagring av lyd. Kontinuerlig. Digital INF 14 Sampling, kvantisering og lagring av lyd Temaer i dag : 1. Analog eller digital, kontinuerlig eller diskret 2. Sampling, kvantisering, digitalisering 3. Nyquist-Shannon teoremet 4. Oversampling,

Detaljer

Løsningsforslag, midtsemesterprøve MA1101, 5.oktober 2010

Løsningsforslag, midtsemesterprøve MA1101, 5.oktober 2010 Norges teknisk naturvitenskapelige universitet Institutt for matematiske fag Side 1 av 5 Løsningsforslag, midtsemesterprøve MA1101, 5.oktober 2010 Oppgave 1 Løs ulikheten x + 6 5 x + 2 Strategien er å

Detaljer

Lydproduksjon. t.no. ww ww.hin. Forelesning 9 Signalbehandling (processing) og effekter MMT205 - F9 1

Lydproduksjon. t.no. ww ww.hin. Forelesning 9 Signalbehandling (processing) og effekter MMT205 - F9 1 MMT205 Lydproduksjon t.no ww ww.hin Forelesning 9 Signalbehandling (processing) og effekter MMT205 - F9 1 F9 - Innhold MMT205 - F9 2 Introduksjon Signalbehandlingsmetoder: Akustiske/mekaniske, eks. mikrofonplassering,

Detaljer

Teori og oppgaver om 2-komplement

Teori og oppgaver om 2-komplement Høgskolen i Oslo og Akershus Diskret matematikk høsten 2014 Teori og oppgaver om 2-komplement 1) Binær addisjon Vi legger sammen binære tall på en tilsvarende måte som desimale tall (dvs. tall i 10- talssystemet).

Detaljer

Funksjoner og andregradsuttrykk

Funksjoner og andregradsuttrykk 88 4 Funksjoner og andregradsuttrykk Mål for opplæringen er at eleven skal kunne bruke matematiske metoder og hjelpemidler til å løse problemer fra ulike fag og samfunnsområder løse likninger, ulikheter

Detaljer

Regning med tall og bokstaver

Regning med tall og bokstaver Regning med tall og bokstaver M L N r du har lest dette kapitlet, skal du kunne ^ bruke reglene for br kregning ^ trekke sammen, faktorisere og forenkle bokstavuttrykk ^ regne med potenser ^ l se likninger

Detaljer

Beregninger i ingeniørutdanningen

Beregninger i ingeniørutdanningen Beregninger i ingeniørutdanningen John Haugan, Høyskolen i Oslo og Akershus Knut Mørken, Universitetet i Oslo Dette notatet oppsummerer Knuts innlegg om hva vi mener med beregninger og Johns innlegg om

Detaljer

Prøveeksamen 1. Elektronikk 8.feb. 2010. Løsningsforslag

Prøveeksamen 1. Elektronikk 8.feb. 2010. Løsningsforslag Prøveeksamen 1 Elektronikk 8.feb. 2010 Løsningsforslag OPPGAVE 1 a) I koplingen til venstre ovenfor er u I et sinusformet signal med moderat frekvens og effektivverdi på 6,3V. Kretsen er en negativ toppverdikrets,

Detaljer

Årsplan i matematikk ved Blussuvoll skole.

Årsplan i matematikk ved Blussuvoll skole. Årsplan i matematikk ved Blussuvoll skole. Hovedområder i faget: Målinger Statistikk, sannsynlighet og Funksjoner Undervisningstimetall per uke: 8.trinn 9.trinn 10.trinn 3,00 2,25 3,00 Læreverk/materiell:

Detaljer

Løsningsforslag. og B =

Løsningsforslag. og B = Prøve i Matte Dato: vår 5 ENDRE Hjelpemiddel: Kalkulator og formelark Alle svar skal grunngis. Alle deloppgaver ar lik vekt. Oppgave a Gitt matrisene A regn ut A + B, AB. Løsningsforslag 4 og B 7 5 Vi

Detaljer

Områder Kompetansemål Operasjonaliserte læringsmål Tema/opplegg (eksempler, forslag), ikke obligatorisk Tall og algebra

Områder Kompetansemål Operasjonaliserte læringsmål Tema/opplegg (eksempler, forslag), ikke obligatorisk Tall og algebra FAGPLANER Breidablikk ungdomsskole FAG: Matte TRINN: 9.trinn Områder Kompetansemål Operasjonaliserte læringsmål Tema/opplegg (eksempler, forslag), ikke obligatorisk Tall og algebra Eleven skal kunne -

Detaljer

Taylor- og Maclaurin-rekker

Taylor- og Maclaurin-rekker Taylor- og Maclaurin-rekker Forelest: Okt, 004 Potensrekker er funksjoner Vi så at noen funksjoner vi kjenner på andre måter kan skrives som funksjoner, for eksempel: = + t + t + t 3 + + t n + t e x =

Detaljer

Bildetransformer Lars Aurdal

Bildetransformer Lars Aurdal Bildetransformer Lars Aurdal FORSVARETS FORSKNINGSINSTITUTT Lars Aurdal. Forsvarets forskningsinstitutt (FFI), Kjeller. 5 ansatte. Ca. 3 forskere og ingeniører. Tverrfaglig institutt med vekt på arbeide

Detaljer

Øgrim Bakken Pettersen Skrindo Dypbukt Mustaparta Thorstensen Thorstensen. Digitalt verktøy for Sigma 2P. Microsoft Excel

Øgrim Bakken Pettersen Skrindo Dypbukt Mustaparta Thorstensen Thorstensen. Digitalt verktøy for Sigma 2P. Microsoft Excel Øgrim Bakken Pettersen Skrindo Dypbukt Mustaparta Thorstensen Thorstensen Digitalt verktøy for Microsoft Excel Innhold 1 Om Excel 4 2 Regning 4 2.1 Tallregning................................... 4 2.2

Detaljer

1 C z I G + + = + + 2) Multiplikasjon av et tall med en parentes foregår ved å multiplisere tallet med alle leddene i parentesen, slik at

1 C z I G + + = + + 2) Multiplikasjon av et tall med en parentes foregår ved å multiplisere tallet med alle leddene i parentesen, slik at Ekstranotat, 7 august 205 Enkel matematikk for økonomer Innhold Enkel matematikk for økonomer... Parenteser og brøker... Funksjoner...3 Tilvekstform (differensialregning)...4 Telleregelen...7 70-regelen...8

Detaljer

Case: Analyse av passive elektriske filtre

Case: Analyse av passive elektriske filtre HØGSKOEN I SØR-TRØNDEAG AVDEING FOR TEKNOOGI PROGRAM FOR EEKTRO- OG DATATEKNIKK N7004 TRONDHEIM Telefon jobb: 735 59584 Mobil: 911 77 898 kare.bjorvik@hist.no http://www.edt.hist.no/ Kåre Bjørvik, 15.

Detaljer