Implementering av FIR filter samt CORDIC algoritm på XSA-50

Storlek: px
Starta visningen från sidan:

Download "Implementering av FIR filter samt CORDIC algoritm på XSA-50"

Transkript

1 C-uppsats LITH-ITN-EX--06/001--SE Implementering av FIR filter samt CORDIC algoritm på XSA-50 Joachim Andersson Nima Khakpour Department of Science and Technology Linköpings Universitet SE Norrköping, Sweden Institutionen för teknik och naturvetenskap Linköpings Universitet Norrköping

2 LITH-ITN-EX--06/001--SE Implementering av FIR filter samt CORDIC algoritm på XSA-50 Examensarbete utfört i Datakommunikation vid Linköpings Tekniska Högskola, Campus Norrköping Joachim Andersson Nima Khakpour Handledare Qin-Zhong Ye Examinator Qin-Zhong Ye Norrköping

3 Avdelning, Institution Division, Department Institutionen för teknik och naturvetenskap Datum Date Department of Science and Technology Språk Language x Svenska/Swedish Engelska/English Rapporttyp Report category Examensarbete B-uppsats x C-uppsats D-uppsats ISBN ISRN LITH-ITN-EX--06/001--SE Serietitel och serienummer ISSN Title of series, numbering URL för elektronisk version Titel Title Författare Author Joachim Andersson, Nima Khakpour Sammanfattning Abstract Denna rapport visar hur ett FIR filter kan konstrueras i språket VHDL samt implementeras på XSA-50 kortet. Det andra som tas upp är hur CORDIC algoritmen används och hur den implementeras på samma kortsystem. Rapporten är uppställd på så sätt att den först ska ge en grundläggande inblick i de två ämnesområdena FIR respektive CORDIC. Vidare så redovisas hur projekten har utförts för de båda konstruktionerna. Det ges även en beskrivning av XSA-50 kortet. Nyckelord Keyword FIR, CORDIC, XSA-50, Digital kommunikation, Signalbehandling, Filter, VHDL, FPGA, SDRAM

4 Upphovsrätt Detta dokument hålls tillgängligt på Internet eller dess framtida ersättare under en längre tid från publiceringsdatum under förutsättning att inga extraordinära omständigheter uppstår. Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner, skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat för ickekommersiell forskning och för undervisning. Överföring av upphovsrätten vid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av dokumentet kräver upphovsmannens medgivande. För att garantera äktheten, säkerheten och tillgängligheten finns det lösningar av teknisk och administrativ art. Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i den omfattning som god sed kräver vid användning av dokumentet på ovan beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan form eller i sådant sammanhang som är kränkande för upphovsmannens litterära eller konstnärliga anseende eller egenart. För ytterligare information om Linköping University Electronic Press se förlagets hemsida Copyright The publishers will keep this document online on the Internet - or its possible replacement - for a considerable time from the date of publication barring exceptional circumstances. The online availability of the document implies a permanent permission for anyone to read, to download, to print out single copies for your own use and to use it unchanged for any non-commercial research and educational purpose. Subsequent transfers of copyright cannot revoke this permission. All other uses of the document are conditional on the consent of the copyright owner. The publisher has taken technical and administrative measures to assure authenticity, security and accessibility. According to intellectual property law the author has the right to be mentioned when his/her work is accessed as described above and to be protected against infringement. For additional information about the Linköping University Electronic Press and its procedures for publication and for assurance of document integrity, please refer to its WWW home page: Joachim Andersson, Nima Khakpour

5 Linköpings Universitet RAPPORT ITN Implementering av FIR filter samt CORDIC algoritm på XSA-50 Sammanfattning Denna rapport visar hur ett FIR filter kan konstrueras i språket VHDL samt implementeras på XSA-50 kortet. Det andra som tas upp är hur CORDIC algoritmen används och hur den implementeras på samma kortsystem. Rapporten är uppställd på så sätt att den först ska ge en grundläggande inblick i de två ämnesområdena FIR respektive CORDIC. Vidare så redovisas hur projekten har utförts för de båda konstruktionerna. Det ges även en beskrivning av XSA-50 kortet.

6 Abstract This report shows how to construct a FIR-filter in VHDL and implement it on the XSA-50 card. The other thing that the report looks up on is how the CORDIC-algoritm is used and how to implement it on the same cardsystem. The report is presented in such way that it starts with a basic insight in the two subjects FIR and CORDIC. Further on the report shows how the project was carried out for the both constructions. There is also a section describing the XSA-50 card. ii

7 iii

8 Innehållsförteckning 1 INLEDNING BAKGRUND CORDIC BAKGRUND FIR SYFTE METOD STRUKTUR CORDIC CORDIC-MODER Framåtrotation Bakåtrotation BEGRÄNSNINGAR I CORDIC-ROTATION CORDIC-ALGORITMER FÖR FPGA DESIGN KONVENTIONELL KONTRA REDUNDANT ARITMETIK PÅ FPGA Konventionell Aritmetik på FPGA Adderare och Subtraherare Adder/Subtraktor RADIX-2 REDUNDANT ARITMETIK PÅ FPGA KONVENTIONELL CORDIC PÅ FPGA REDUNDANT CORDIC PÅ FPGA Uppskattning av tecken Differential CORDIC (DCORDIC) Pre-Computed CORDIC (P-CORDIC) DIGITALA FILTER ICKE-REKURSIVA FILTER DESIGN AV FIR-FILTER FÖNSTERMETODER FREKVENSDOMÄN DESIGN FALTNING XSA-50 KRETSKORT KOPPLA KORTET TILL PC VGA MONITOR TILL XSA PS/2 PORT MHZ OSCILLATOR SYNKRON DRAM FLASH RAM SJU-SEGMENT LED DIP SWITCHAR PUSHBUTTON PROJEKTBESKRIVNING PROJEKTBESKRIVNING FÖR CORDIC Skapa HEX fil Utföra CORDIC algoritm på kortet Verifierng av CORDIC algoritmen PROJEKTBESKRIVNING FIR FILTER BLOCKSTRUKTUREN I FIR FILTRET Ps2_kbd Keyb_scan Loadbuff One_pulse...39 iv

9 Filter_muls Adder Adder Store AVSLUTNING RESULTAT CORDIC RESULTAT FIR PROBLEM DISKUSSION TERMINOLOGI REFERENSER...49 BILAGOR: Bilaga A - Källkod för FIR filter Bilaga B Källkod för CORDIC Bilaga C Manual för FIR filter Bilaga D Schema över FIR filter Bilaga E Matlabkod för CORDIC Bilaga F Matlabkod för HEX-fil Bilaga G Matlabprogram för faltning Bilaga H Manual för CORDIC v

10

11 Inledning 1.1 Bakgrund CORDIC I mitten av 1950-talet kom det ett direktiv från den amerikanska militären om att digitalisera den analoga datordrivna navigationssystemet till B-58 bombflygplan. Det ansågs att det analoga systemet hade en alldeles för begränsad noggrannhet. Den största svårigheten vid en övergång till ett digitaltsystem var att kunna göra real-tids beräkningar av navigations ekvationer för att bestämma den nuvarande positionen på ett sfärisk planet. Vid den tiden hade det redan utvecklats digitala differentialanalysatorer som kunde utföra fortlöpande navigations beräkningar. Men dessa system klarade inte av att producera resultat vid flygningar nära Nordpolen, och de hade även endel andra tillkortakommanden. Därför krävdes det ett helt nytt sätt att lösa detta problem på. Volder presenterade en lösning på detta problem i sin artikel [1] om COordinate Rotation DIgital Computer det vill säga förkortningen CORDIC. Senare vidareutvecklades CORDIC-algoritmen av bland andra John Walther [2]. Walther generaliserade CORDIC-algoritmen så att den även löste hyperboliska och exponentialfunktioner. Tack vare algoritmens förträfflighet när det gäller lösningar för bland annat Very Large Scale Integrated Circuit (VLSI) teknik och Field Programmable Gate Array (FPGA) har intresset kring den vuxit starkt. Andra områden som algoritmen har använts i är miniräknare och andra Digital Signal Processing (DSP) objekt, så som adaptiva filter, Fast Fourier Transform (FFT), demodulatorer, och neurala nätverk. VLSI implementationer har diskuterats i bl.a. doktorsavhandlingar av Timmermann [5] och Hahn [6]. Den första FPGA implementationen undersöktes av Meyer-Bäse et al. [7,8]. 1.2 Bakgrund FIR Namnet FIR står för Finite Impulse Response och betyder ändligt pulssvar. Detta pulssvar kan användas för att beskriva hur ett digitalt system beter sig. Ett pulssvar som finns på ett filters utgång kan mätas då en enhetspuls finns på filtrets ingång. En enhetspuls är en puls med amplituden 1 som dyker upp då funktionens argument är noll. FIR filter är en typ av digitalt filter som används vid DSP applikationer. Det som kännetecknar ett FIR filter är att impulssvaret är noll utanför ett viss begränsat intervall [20]. Inledningsvis ska det sägas att nästan alla DSP algoritmer eller processer kan beskrivas som filter. Den vanligaste definitionen av ett filter är ett system som sänder eller blockerar ett väl definierat frekvensområde. Fyra typiska kategorier av digitala filter är Lågpass-, högpass-, bandpass- och bandstopfilter. 2

12 Syfte Examensarbetets syfte var att implementera ett FIR filter samt CORDIC algoritmen på kretskortet XSA-50. Arbetet ska vidare användas i utbildningssyfte. I rapporten presenteras en del grundläggande information om respektive ämnesområde, detta för att ge en övergripande insyn i ämnena. Arbetet ska resultera i manualer för de båda konstruktionerna. Dessa kan användas som utbildningsmaterial alternativt i självstudiematerial. Manualernas syfte är att ge steg för steg förklaring till hur man implementerar dessa konstruktioner på XSA-50 kortet. 1.4 Metod Först genom diskussion med kursansvarig vid institutionen togs det fram en kravspecifikation. Kraven omfattade simulering samt implementering av FIR filtret och CORDIC-algoritmen. Vidare skulle det framtagna resultatet sammanställas till att användas som kursmaterial. 1.5 Struktur Rapporten börjar med en presentation av CORDIC-algoritmen för att sedan fortsätta med olika metoder för tillämpning av algoritmen. Därefter visas simulationer och praktisk implementation på kortet XSA-50. Rapporten fortsätter med en övergripande bild av FIR filter samt en generell beskrivning av några olika filter designer. Efter detta presenteras simulering och praktisk implementering av filtret på kortet. Slutligen bifogas ett antal bilagor innehållande källkoder och kretsscheman. 3

13

14 CORDIC I detta kapitel beskrivs grundläggande information om CORDIC-algoritmen. Med hjälp av en vektorrotation kan man beräkna en trigonometriskfunktion. Det är på denna bakgrund som CORDIC-algoritmen har tagits fram. CORDICalgoritmen roterar en vektor ett antal gånger mot en antagen vinkel. Algoritmen närmar sig genom att de iterativa rotationerna sker med successivt mindre vinklar. Detta kallas även ibland för mikrorotationer. Algoritmen [1] är härledd från de generella ekvationerna för vektorrotation. En vektor v(x,y) roteras med vinkeln φ blir: x x *cos( Φ ) - y *sin( Φ) v = = (2.1) y y *cos( Φ) + x *sin( Φ) Figuren 2.1 visar en rotation av en vektor v med vinkeln φ. figur. 2.1 Rotation av en vektor v med vinkeln φ. Ekvationen (2.1) kan även skrivas så att: x = cos( Φ) [ x y tan( Φ)] (2.2) y = cos( Φ) [ x + y tan( Φ)] (2.3) i Om rotationsvinkeln begränsas så att tan( Φ) = ± 2 reduceras multiplikationen med tangenstermen till en skiftoperation. En godtycklig rotationsvinkel uppnås genom en serie av mindre rotationer. Om då beslutet vid varje iteration, i, blir vilken riktning som rotationen ska ha då ett beslutet om den ska rotera eller ej, kan cos(φ) termen förenklas till en konstant då cos(φ) = cos(-φ). Detta medför att den iterativa rotationen kan uttryckas så här: x i = K [ x y d 2 ] (2.4) i+ 1 i i i i 5

15 där: y i = K [ y + x d 2 ] (2.5) i+ 1 i i i i K i d i = cos(tan = ±1 1 2 i ) = i Om man avlägsnar konstanten från den iterativa ekvationen, så har man bara en skift/additions algoritm för vektrorotation. Produkten av konstanten K i kan beräknas separat och sedan appliceras i systemet. När antalet iterationer går mot oändligheten så närmar sig produkten Därför har rotations algoritmen en ökning, på ca Den exakta ökningen beror på antalet iterationer. A n A n = n 2i (2.6) Vinkeln för en sammansatt rotation bestäms unikt av en serie av riktningar för mikrorotationerna. Den totala vinkelrotationen blir: z tan 1 i = z d (2 ) (2.7) i+ 1 i i 2.1 CORDIC-MODER CORDIC-algoritmen arbetar oftast i en av två moder. Den ena moden kallas rotation eller framåtrotation, i detta mode så roterar en inputvektor med en specifik vinkel, given som argument. Den andra moden kallas för vektoriseringsmoden eller för bakåtrotation, i detta mode så roterar inputvektorn till x-axeln undertiden så sparas vinklarna för att genomföra rotationen Framåtrotation I framåtrotations moden initieras vinkelackumulatorn med den önskade rotationsvinkeln. Vid varje iterations tas ett beslut så att storleken på residualvinkeln minimeras i vinkelackumulatorn. Därav baseras varje beslut på tecknet för residualvinkeln vid varje steg. För framåtrotation är CORDIC ekvationen följande: x y z i+ 1 i+ 1 i+ 1 = x y d 2 = z i = y i i i i i d tan i + x d i 2 1 i i (2 i ) (2.8) Där: 6

16 = 1 i d om 0 < i z, annars +1 i+1 z = Residualvinkeln i z = Tecken på rotationsvinkel Vilket ger det här resultatet: + = = + = = n i n n n n n n A z z x z y A y z y z x A x ] sin cos [ ] sin cos [ (2.9) Figur 2.2 visar en iterativ framåtrotation initierad med vektor v0. Figur 2.2 iterativ framåtrotation initierad med vektor v Bakåtrotation I bakåtrotations moden roterar inputvektorn mot x-axeln. Resultatet från vektoreringsoperationen är en rotationsvinkel och en skalad storlek av original vektorn. Vektoreringsfunktionen fungerar på så sätt att den försöker minimera y komponenten i residualvektorn vid varje rotation. Tecknet från den återstående delen av y-komponenten används till att bestämma vilken riktning som rotationen skall ha. För bakåtrotationen är CORDIC ekvationen följande: ) (2 tan i i i i i i i i i i i i i i d z z d x y y d y x x = + = = (2.10) 7

17 Där: Vilket ger det här resultatet: d = +1 om y < 0, annars 1 i i x y z n n n A n = A = 0 = z = 0 n n x tan + y y ( x 2i 0 0 ) (2.11) Figur 2.3 visar en Bakåtrotation initierad med vektor v0. Figur 2.3 Bakåtrotation initierad med vektor v0 2.2 Begränsningar i CORDIC-rotation Båda CORDIC moderna är så som de är uppgivna begränsade i rotationsvinkeln till värden mellan -π/2 och π/2. Denna begränsning beror på att vinkeln vid den 1 0 första iterationen är Φ 0 = tan (2 ). För sammansatta rotationsvinklar större än π/2 krävs det en extra rotation. Volder [1] beskriver initial rotationen till ±π/2. Detta ger korrigerings iterationen: x = d y y = d x π z = z d 2 (2.12) Där: 8

18 d=+1 om y<0, annars 1. Det finns ingen ökning för denna initialrotation. Ett annat alternativ är att man kan göra en initial rotation för antingen π eller 0, och på så sätt undvika att tilldela x och y komponenterna till roterande elementet. Det finns ingen ökning då heller tackvare initialrotationen: x = d x y = d y (2.13) z =z om d=1 eller z =z-π om d=-1. d=-1 om x<0, annars +1. 9

19

20 CORDIC-algoritmer för FPGA Design I detta kapitel presenteras en större del av CORDIC-algoritmen i självstudie syfte. Den höga kapacitet och prestanda som FPGA, har uppnått de senaste åren, har resulterat i en acceleration av DSPs uppgiftslösning. FPGA utrustningen har dragit stor nytta av VLSI deep sub-micron technology, för att få bl.a. högre hastighet och kapacitet. Tidiga FPGAs kunde inte implementera parallell CORDIC-algoritmer på grund av begränsningar i chip storlek och möjligheten att routa hårdvaruskiftningen [4]. Därför har många FPGA baserade DSP applikationer använt sig av en iterativ struktur. En nackdel med konventionell CORDIC implementationer som är baserade på ripple-carry-adderare eller subtraherare, är den interna carry överföringsfördröjningen. För att öka prestanda har redundant aritmetik föreslagits. Denna aritmetik skulle då kunna rationalisera bort fördröjningen. Dock innebär detta flera svårigheter. Det är inte möjligt att upptäcka tecknet för en redundant siffra utan att inspektera alla siffror som måste propageras från MSB till LSB. Eftersom alla siffror inte undersöks så finns det en chans för att tecknet inte kan bestämmas. I ett sådant fall kan någon av siffrorna {-1, 0, 1} väljas, detta kan i sin tur leda till icke-konstant skalfaktor eller godtycklig rotation måste utföras. I det första fallet så måste skalfaktorn beräknas parallellt med CORDIC iterationen, medan en fel vald rotation måste kompenseras. Xiling FPGA har en matris struktur, där varje element av matrisen är en Configurable Logic Block (CLB). CLB:arna är kopplade internt och omgivna av programmerbara Input-Output Block (IOB). En CLB består av två 4-input Look-Up Tables (LUTs), en 3-ingångs och två stycken register se figur 3.1. I sin rapport [9] har Valls et al. undersökt FPGA implementationer av dessa operationer både genom att använda konventionell och redundant aritmetik. Där säger de att en jämförelse mellan olika design kan enkelt göras genom att utvärdera den kritiska fördröjningsvägen (t.ex. genom att räkna antalet full adderare mellan två register). Men i en FPGA design kan prestationen förändras beroende på hur väl man utnyttjar arean. Det är inte tillräckligt att bara räkna antal CLB som ingår därför att routingen är en viktigt komponent för beräkningen av den totala fördröjningen. Den långa routingfördröjningen beror på dessa faktorer enligt Valls et al. [9]: En hundraprocentig förening mellan de olika resurserna i FPGAn kan inte uppnås. 11

21 Det är inte möjligt att finna en optimal placering och routing för alla problem p.g.a. begränsade resurser och fasta strukturer av utrustningen. Placering och routing är automatiska eller halv-automatiska processer. Figur 3.1 tagen direkt ur Valls et al. [9]. I deras rapport så karakteriseras throughput av propagations fördröjningen i kritiska vägar. Tabell 3.1 visar värden och beskrivningar av symboler som används för att beteckna fördröjningen i den kritiska vägen. De korresponderar till Xilings XC4000XL chips med hastighetsgraden 1. 12

22 Tabell 3.1 taget direkt ur Valls et al. [9]. 3.1 Konventionell kontra Redundant Aritmetik på FPGA Operationer som ingår i CORDIC är addition och subtraktion. I denna del av rapporten tittar vi på en del utvalda delar av Valls et al. [9] resultat. För en djupare inblick och mer utförligt redovisning rekommenderas läsning av hela rapporten [9] Konventionell Aritmetik på FPGA Aktuella FPGAn tillhandahåller resurser för att effektivt kunna implementera aritmetiska operationer Adderare och Subtraherare Grunddelen av en konventionell adderare och subtraherare är Full Adder (FA). En FA består av två stycken 3-ingångsfunktioner, därför kan den realiseras med hjälp av en enda CLB. Om man använder sig av FPGA:ns resurs att generera Carry Signal (CS), resulterar detta i en reduktion av area och en ökning i hastighet uppnås. I detta fall kan två FAn användas i samma CLB, så en N- bitars adderare eller subtraherare kräver N/2 CLBn. Propagationsfördröjningen för denna krets är: 1 f,2n Tp = TCKO + tnet + TOPCY + ( N 4) / 2 ( T 1 f,2n [ 6 + t + ( N 4) / ]ns net BYP + T NET ) + T SUM = (3.1) 13

23 Den kritiskavägen bestäms av propagationstiden för ripple carry och routingfördröjningen en av de minst signifikanta input av kretsen Adder/Subtraktor En adder/subtraktor utför en addition eller subtraktion beroende på ingångsvalet på A/S. Denna ingång indikerar om en operand är 2-komplement. Add/Sub grundcellen består av två 4-ingångsfunktioner. Ena till att beräkna ut värdet och den andra till att sänd carry. Enligt detta kan en N-bitars Add/Sub få plats i (N+1)/2 CLBn. Den andra halvan av CLBn används till att beräkna LSB 1 vid subtraktion. Den kritiska vägen för denna krets uttrycks av: Nf,1 Tp = TCKO + tnet + TASCY + ( N 4) / 2 ( T Nf,1 [ t + ( N 4) / ]ns net BYP + T NET ) + T SUM = (3.2) 3.2 Radix-2 Redundant Aritmetik på FPGA Redundant aritmetik är användbart då hastigheten vill höjas i operationer som karakteriseras av lång propagationsfördröjning. Utöver denna funktion så kan data processas med Most Significant Digit First (MSDF). Detta förenklar implementering av operationer som i sig arbetar på MSDF-sätt, som t.ex. division eller roten ur eller förbättrade algoritmer så som Differential CORDIC [10]. Implementering av vissa operationer så som, multiplikation, skalning och dividerare på FPGA kan finnas i [11]. I radix-2 redundant aritmetik kan en siffra X representeras som: N 1 = = i 2 x0x1x2... x N 1 x i 2 i= 0 X (3.3) där varje siffra x i tillhör {-1, 0, 1} enligt: där x, i x {0,1}. + i x (3.4) + i = xi xi 14

24 Konventionell CORDIC på FPGA Den bit-parallella fullt pipelineade kretsen för att beräkna ekvation (2.8) för framåtrotation visas[9]. Den är baserad på ripple carry adderare/subtraherare (se 3.1.3). Tecken biten från Z i är A/S linjen, som indikerar om nästa operation är en addition eller subtraktion. Hela processen kräver (2 (M+1) (N +1)+ (M +1)^2)/2 CLB:n. Den kritiska vägen ordnas av M+1 A/S näten. Varenda en av dessa nät har en fan-out på 2N + M + 3. Ekvationen för propagationstiden i den kritiska vägen ges av: T p ( T = T BYP + T [6.5 + t CKO + t NET (2N + M + 1) f, M + 1 net ) + T SUM (2N + M + 1) f, M + 1 net = + T ASCY + ( N 4) / 2 + ( N 4) / ] ns (3.5) Processorns latens är M+1 klockcykler. I fall av CORDIC implementering som beräknar antingen framåt- eller bakåtrotation med en precision av M=16 bitar, så är den area som ockuperas på FPGA:n CLBn. Den sämsta routingfördröjningen ges av en av de 17 näten med en fan-out på 61. Den maximala operations frekvensen är ungefär 25MHz när den får plats på ett chip med hastighetsgraden 1 och med en ockupation av mindre än 25%. För en struktur som beräknar både framåt- och bakåtrotation så är resurserna 100% delade. I sådana fall räcker det med att inkludera en multiplexor för att välja A/S signal mellan tecken biten Z i framåtrotation eller Yi i bakåtrotation. Det krävs bara en extra (M+1)/2 CLB. Men trots allt så försämrar det prestanda något p.g.a. extra routingfördröjning. Den resulterande kritiska vägen ges av: T p ( T = T BYP + T [7.8 + t CKO 1,17 net + t NET + t 1,17 net ) + T + T SUM ILO = + t (2N + M + 1) f, M + 1 net (2N + M + 1) f, M + 1 net + T ASCY + ( N 4) / ] ns + ( N 4) / 2 (3.6) 3.4 Redundant CORDIC på FPGA För att kunna lösa problemet med redundant aritmetik baserad CORDIC, har flera metoder föreslagits. Alla dessa förslag behåller skalfaktorn konstant. De har blivit klassificerade i tre grupper: (i) sådana som baseras på uppskattning av tecknet, (ii) differential CORDIC-algoritm och (iii) de som baseras på föreberäkning av riktningen av mikrorotationerna. Här nedan följer en ytlig genomgång av de tre olika metoderna, för en detaljerad genomgång rekommenderas [9]. 15

25 Uppskattning av tecken Flera metorder utför uppskattning på tecknet genom att utforska några av värdena. Dessa är: Double Rotation CORDIC [12]. Correcting Rotation CORDIC ([12] för framåtrotation och [13] för bakåtrotation). Householder [14-16] Bland dessa är Correcting Rotation CORDIC den enklaste att implementera. Uppsättningen av ekvationer är inte samma för alla iterationer i denna metod. De andra metoderna för uppskattning av tecken, har mer avancerade ekvationer vilket leder till att en större area användes och den får en lägre throughput Differential CORDIC (DCORDIC) Differential CORDIC [17] är en redundant aritmetik baserad metod som behåller en konstant skalfaktor, utan att behöva extra rotationer. I DCORDIC väljs riktningen för mikrorotationen på så sätt att den återstående rotationsvinkeln i framåtrotation-moden och Y i variabeln i bakåtrotation-moden alltid minskas. Målet med denna metod är MSDF beräkningen av alla involverade operationer Pre-Computed CORDIC (P-CORDIC) En annan metod att utföra CORDIC-algoritmen på är att direkt beräkna riktningen för mikrorotationen utan iterationer. I [18,19] uppnås sambandet mellan riktningen, mikrorotationen och inputvinkeln för framåtrotationsmoden. Sambandet mellan X- och Y-ingången i bakåtrotationsmoden uppnås i [18]. Denna metod har uteslutits för FPGA design då dess implementering kräver två MSDF multiplikationer och en MSDF addition. 16

26

27 Digitala Filter Det finns olika sätt att specificera digitala filter[20]. Exempel på detta är en klass av processer som kallas all-pass. De är designade till att ha en flat magnitudkaraktäristik men har även en faskaraktäristik som varierar med frekvensen i vissa fall. Många designer är framtagna för att kunna lösa olika problem, som att till exempel kunna se ett specifikt impulssvar eller stegsvar. Impulssvaret är den term som bäst beskriver ett systems egenskaper medan stegsvaret inte är lika unikt i det syftet. De mest förekommande digitala filtren är Linear Time-Invariant (LTI) filter. Ett LTI påverkas av sin in-signal genom en process som kallas linjär faltning, som betecknas av f*x där f är filtrets impulssvar. Den generella formeln för ekvationen till en godtycklig LTI process är: N K = 0 k M a y[ n k] = b x[ n k] (4.1) k= 0 k 4.2 Icke-rekursiva filter I ett icke-rekursivt filter så beror utsignalen endast på nuvarande eller senaste in-signal. Differentialekvationen för ett sådant filter ser ut som nedan M y[ n] = b x[ n k] (4.2) k= 0 k Detta filter har ingen återkoppling av utsignalen så summan skickas ut direkt på utgången. Koefficienterna b k är helt enkelt lika med successiva termer i filtrets impulssvar. FIR filter är att föredra när antalet koefficienter måste vara ändligt. Konsten att designa ett icke-rekursivt filter är att uppnå ett acceptabelt utförande av filtret med så få koefficienter som möjligt. Detta gör filtren mycket långsammare än rekursiva designer. Det finns dock fördelar med ickerekursiva designer till exempel är filtren väldigt stabila, eftersom överföringsfunktionen är bara specificerad i z-planets nollor. Eftersom icke-rekursiva filter har ändligt impulssvar, gör det att filtren får en idealisk linjär faskaraktäristik som är ekvivalent med tidsfördröjningen av alla 18

28 frekvenskomponenter som passerar filtren. Ett exempel på ett pulssvar är till exempel funktionen δ[n] som blir 1 endast då n=0 alla andra n ger δ[n]=0. Det ter sig så att om pulssvaret är känt och en insignal är given så kan utsignalen beräknas med hjälp av faltning. 19

29

30 Design av FIR-filter FIR filter spelar en betydande roll för design av diskreta tidssystem[21]. Till skillnad från Infinite Impulse Response (IIR) filter så kan dessa filter designas till att vara slumpmässiga och ha exakt linjär fas. FIR filter kan implementeras med hjälp av Discrete Fourier Transform (DFT). Det finns flertalet olika metoder för att designa FIR filter som till exempel fönstermetoden. 5.1 Fönstermetoder Fönstermetoden är en av de äldsta och enklaste metoderna för att designa ett FIR filter, den är även en av de bästa. Fönster kan användas till att designa FIR filter av vilken storlek som helst. Vidare så kan det med fönster skapas filter med linjär eller icke-linjär faskaraktäristik och med reellt eller komplext impulssvar. Fönstermetoden är ett exempel på en tidsdomän teknik. Den väljer filtrets impulssvar h[n] och approximerar ett idealiskt impulssvar i[n]. 5.2 Frekvensdomän design Andra filtermetoder är frekvensdomän designalgoritmer. Dessa väljer filtrets impulssvar så att filtrets frekvenssvar approximerar ett idealiskt frekvenssvar jw I( e ). Det här menas att när specifikationen är given på det här viset måste den inversa DTFT användas först för att utvärdera i[n]. Impulssvaret h[n] bestäms genom att multiplicera det idealiska impulssvaret med en N-punkters fönstersekvens, w[n]: h [ n] = i[ n] w[ n] (5.1) Resultatet är ett filter med längden N. 21

31 Faltning En annan metod som kan tillämpas för att designa FIR filter är faltning. Kort sagt är faltning en matematisk operation som inom signalbehandling används till exempel när linjära filter appliceras. Ett system beskrivs ofta med differentialekvationer [23], dessa kan vara svåra att formulera. I stället för att använda metoden med differentialekvationer när utsignalen från ett system ska bestämmas, kan faltningsmetoden utnyttjas. Denna metod innebär följande: En enhetspuls kan används som insignal, betecknad δ(t) eller δ[n] till ett okänt system (ett system sägs vara okänt då det inte har några formulerade differentialekvationer). Detta system kommer då att svara med en utsignal som kallas för impulssvaret h(t) eller h[n] för den tidsdiskreta varianten. Impulssvaret ger en bra beskrivning av hela systemet. Fortsättningsvis kan utsignalen y(t) eller y[n] från ett system beräknas med hjälp falting mellan impulssvaret h(t) och insignalen x(t) eller h[n] och x[n]. Faltning kan göras i två varianter, tidskontinuerlig eller tidsdiskret. i= 0 y [ n] = x[ i]* h[ n i],n 0 tidsdiskret variant (5.2) 0 y ( t) = x( λ)* h( t λ) dλ,t 0 tidskontinuerlig variant (5.3) Den tidsdiskreta varianten är tillämpad i detta exjobb, vilken kan förklaras på följande sätt: I en tidsdiskret signal kan varje sampelvärde klippas ut från hela signalen. Detta genom att signalen multipliceras med en förskjuten impuls, figur 5.2. En impuls ger som svar ett impulssvar, oavsett om den är förskjuten eller inte. 22

32 Insignal till Systemet δ[n] δ[n-1] δ[n-2] δ[n-i] Utsignal från systemet h[n] h[n-1] h[n-2] h[n-i] Tabell 5.1 Om impulsen till exempel skulle vara förskjuten 3 steg åt höger, det vill säga δ[n-3] så kommer impulssvaret att fördröjas med 3 steg åt höger. En multiplicering av termerna i vänstra kolumnen av tabell 5.1 med till exempel en konstant, måste på grund av att systemet är linjärt, motsvaras av en multiplicering i högra kolumnen med samma konstant Hela insignalen x alltså signalens samtliga sampels fås genom att summera alla sampelvärden multiplicerade med förskjutna impulser där av formeln, i= 0 x[ n] = x[ i]* δ [ n i] (5.4) Vidare fås utsignalen y genom att summera alla impulssvar multiplicerade med konstanter det vill säga sampelvärdena. Det gör att den slutliga faltningsformlen blir, y[ n] = i= 0 x[ i]* h[ n i] på grund av linjärt system. (5.5) Faltningsformelns index i börjar vid i=0 och sträcker sig till ett ändligt värde i =N i kausala system. 23

33 För att visa på hur den tidsdiskreta faltningsformeln fungerar så illustreras ett exempel nedan. Signalen x(i) i figur 5.1 faltas med impulssvaret h(n) i figur 5.2 då erhålls resultatet enligt tabell Figur 5.1 Visar en signal x(i) med 3 stycken sampelvärden alla med värde Figur 5.2 Visar ett impulssvar h(n) med 4 stycken sampels med värdet 1. 24

34 Antal(i) Insignal x(i) Impulssvaret h(n) Utsignal y(n) Tabell 5.2 Resultatet av faltningen mellan x(i) och h(n). 25

35

36 XSA-50 kretskort XSA-50 kortet är ett avancerat kretskort med många utvecklings möjligheter. I detta kapitel beskrivs kortets olika funktioner. Se figur 6.1 för en översiktsbild. Figur 6.1 Översiktsbild av XSA-50 kortet ur [24]. För en detaljerad genomgång av XSA-50 kortet rekommenderas [24]. I manualen till kortet [24] så finns det även ett schema över XSA-50 och en presentation av alla pinnar, samt vad de är kopplade till på kortet. Där finns även en beskrivning av hur man laddar ner program till kortet. 6.1 Koppla kortet till PC Kortet kan kopplas till en PC genom parallell in-/utgångs porten. Detta är användbart då kortet ska programmeras med det egna programmet, eller då SDRAM:en ska fyllas med värden. 6.2 VGA monitor till XSA-50 Kortet har även möjligheten att koppla in en VGA monitor. Detta kan göras då resultatet ska presenteras direkt på en monitor, utan koppling till en PC. 27

37 PS/2 port På kortet finns det en PS/2 ingångs port som kan användas till att koppla in en mus eller ett tangentbord. Programmering av ett mus- eller tangentbordsinterface måste göras för att kunna behandla informationen som tas emot från tangentbordet eller musen MHz oscillator Kortet innehåller även en intern 100MHz oscillator. Denna kan ställas om från 100 MHz ner till 48.7 KHz. Det går även att koppla in en extern oscillator på kortet på pin 64. Den externa oscillatorn får dock inte ha en högre frekvens än 50 MHz. När det har kopplats in en extern oscillator så tar den över funktionen av den interna. 6.5 Synkron DRAM XSA-50 kortet innehåller även en SDRAM som kan användas till att spara eller hämta in information till programmet som man har skapat. Se bilaga H för en steg för steg genomgång av detta. SDRAM:en är organiserad på detta sätt: Figur 6.2 ur [24]. För att se hur SDRAM:en är kopplad till FPGA:n se figur 6.3 på nästa sida. 28

38 Figur 6.3 ur [24]. För tillfället så används inte pin 133 på SDRAM:en men den kan komma att användas i framtiden. 6.6 Flash RAM Kortet innehåller även en Flash RAM. För en större förståelse av Flash RAM:en rekommenderas läsning av [24] och [25]. 6.7 Sju-Segment LED På kortet finns det en sju-segments LED display se figuren nedan. Displayen är aktivt-hög det vill säga att den visar ett tecken då den är logiskt hög. Figur 6.4 ur [24]. 29

39 DIP Switchar Kortet innehåller även fyra stycken switchar, se figur 6.1. för mer information om switcharna rekommenderas läsning av [24]. 6.9 Pushbutton Pushbutton som finns på kortet delar samma pin som PS/2 data. Se figuren nedan Figur 6.5 ur [24]. Detta gör att man inte kan använda PS/2 ingången samtidigt som man använder pushbutton. 30

40

41 Projektbeskrivning I detta kapitel presenteras projekten som har utförts. 7.1 Projektbeskrivning för CORDIC Målet med CORIC delen av projektet var att implementera en av CORDICmoderna på FPGA kortet XSA-50. Detta skulle sedan resultera i ett häfte (bilaga H) som studenter senare ska kunna använda för självstudier. För att göra projektet mer användbart än bara vid studier av CORDIC-algoritmen så användes även SDRAM funktionen på kortet. Detta för att studenter ska kunna följa vårat arbete för att implementera SDRAM i egna framtida projekt. Valet av CORDIC-mode föll på framåtrotation eller rotationmode som det även kallas. Detta för att förenkla förståelse av annan studiematerial som kommer att tillgängliggöras för studenterna under kursens gång. För att implementera algoritmen med hjälp av den interna SDRAM:en så utgicks det ifrån ett exempel från XESS Corporations hemsida [26]. Deras exempel fungerade på sådant sätt att den skapar en slumpgenererad sifferkombination. Denna kombination sparas sedan på SDRAM:en, därefter så läses värdena tillbaka från SDRAM:en och jämförs med de framslumpade värdena. Om sifferkombinationen inte stämmer med varandra så har något fel skett vid antingen skrivningen eller läsningen till/från SDRAM:en. Detta indikeras då på LED displayen. Deras stomme [26] användes till detta projekt. Men istället för att skapa en slumpgenerator som spara siffror i minnen, så skapades CORDICframåtrotation. Y- och Z-värdena är satta i förväg i programmet. Det vill säga att dessa värden är konstanter. Men x-värdet skapas externt igenom ett Matlab program som har konstruerats specifikt för detta projekt. Z-värdet måste ligga i intervallet +45 till -45. Om man ska använda ett negativt värde på z så måste man dock räkna ut tvåkomplementet Skapa HEX fil Det första som måste göras är en HEX fil med det x-värdet som ska matas in i SDRAM:en. HEX filen skapades med hjälp av ett Matlabprogram där man får skriva in det x-värde som man vill jobba med. Programmet beräknar då ut checksumman och sparar det i en HEX fil. Denna fil kan sedan laddas ner i SDRAM:en på XSA-50 kortet. Se bilaga F för Matlabkoden och bilaga H för att se steg för steg utförande av detta. 32

42 Utföra CORDIC algoritm på kortet Det första som händer när programmet utförs är att den läser in x-värdet som tidigare har sparats i SDRAM:en. Värdet sparas på den först minnesplatsen på SDRAM:en. Med hjälp av detta värde utförs CORDIC algoritmen. Sedan sparas det uträknade värdet tillbaka på SDRAM:en. Det sparas på den andra adress raden i SDRAM:en. När uträkningen är färdig så visar LED displayen på kortet 0. Då kan laddning av det nya uträknade värdet ske till en PC för att verifieras Verifierng av CORDIC algoritmen För att verifiera de värden som har beräknats fram på kortet utfördes simulering med hjälp av ett program skapat i Matlab. Se bilaga E för Matlabkoden. Nedan i tabell 7.1 visas resultatet av simuleringar utförda i Matlab och de beräknade värden utförda av programmet på XSA-50 kortet. x-värde y-värde z-värde Resultat med XSA-50 Resultat med Matlab FFFB FFFC FFFD Tabell 7.1 Resultat av värden på XSA-50 kortet med programmet som har tagits fram för detta projekt och simulering med hjälp av Matlab. 1)Negativa tal skrivet på HEX form. När ett tal blir negativt så representeras det av tvåkomplementet av talet. Till exempel när det blir 4 så skrivs det istället FFFB det vill säga FFFF 4. Ur tabellen kan man se att när man utför CORDIC algoritmen på XSA-50 kortet så får man en del felaktigheter på grund av avrundningsfel. Men detta är inte 33

43 den enda felkällan. När man utför simulering i Matlab så har man möjlighet att utföra många fler iterationer och därmed uppnå en mycket högre precision i beräkningarna. Men detta är inte möjligt då man utför algoritmen i en hårdvarumiljö. I Matlabsimulationen utförs det 15 iterationer medan det bara är 5 iterationer i hårdvaran. För VHDL kod se bilaga B. För en mer detaljera genomgång av hur experimenten har utförts rekommenderas läsning av bilaga H. 34

44 Projektbeskrivning FIR Filter Detta avsnitt har för avsikt att ge en bra inblick i hur skapandet av FIR filtret gick till, från ide till färdig konstruktion. Projektet inleddes med att bestämma vilken metod som skulle tillämpas vid beräkning av filtret, metoden som valdes var Falting. Därefter gjordes en studie i hur filtrets överföringsfunktion skulle se ut. Inspiration hämtades från [22] som lade grunden till funktionen. Detta gjordes för att knyta an till exjobbets mål, att underlätta självstudier för studenter i detta ämne. Filtrets överföringsfunktion kom att bli enligt figur 7.1 nedan: Figur 7.1 FIR filter. I figuren 7.1 syns det att filtret har 3 stycken koefficienter h[2], h[1] och h[0]. Antalet är orelevant eftersom tillvägagångssättet vid konstruktion av större filter med flera koefficienter är detsamma. Filtret fungerar på så sätt att insignalen x[n] sätts till godtyckliga värden som matas in i systemet. Sedan multipliceras x[n] med den 1:a filterkoefficienten 1 h[0] och resultatet adderas med z och läggs ut som utsignalen y[n]. Efter det multipliceras x[n] med den 2:a koefficienten h[1] och resultatet summeras ihop 1 med det tidigare värdet i z. Till sist så multipliceras x[n] med den 3:e 1 koefficienten h[2] och det värdet sparas i z. Ett exempel visas i tabellen 7.2. Insignal x[n] Koefficienter h[n] Utsignal y[n] 1,0,0,0 h[2]=1, h[1]=2, h[0]=3 3,2,1,0 Tabell 7.2 Visar ett beräkningsexempel av FIR konstruktionen i figur

45 Det framtagna filtret simulerades i Matlab och implementerades på hårdvaran för att se att det överrensstämmer med teorin. Vid simulering så testades värden mellan 0-9 på insignalen x[n]. Denna begränsning av insignalen beror på tangentbordsavkodningen. Filterkoefficienterna är fasta i detta fall men kan anta vilka heltal som helst. Resultatet av simuleringen visas i tabell 7.3 och implementeringen på hårdvara i tabell 7.4. Insignal x[n] Koefficienter h[n] Utsignal y[n] 1,0,0 h[2]=1, h[1]=2, h[0]=1 1,2,1 2,0,0 h[2]=1, h[1]=2, h[0]=1 2,4,2 3,0,0 h[2]=1, h[1]=2, h[0]=1 3,6,3 4,0,0 h[2]=1, h[1]=2, h[0]=1 4,8,4 5,0,0 h[2]=1, h[1]=2, h[0]=1 5,10,5 6,0,0 h[2]=1, h[1]=2, h[0]=1 6,12,6 7,0,0 h[2]=1, h[1]=2, h[0]=1 7,14,7 8,0,0 h[2]=1, h[1]=2, h[0]=1 8,16,8 9,0,0 h[2]=1, h[1]=2, h[0]=1 9,18,9 Tabell 7.3 Simulering i Matlab. Resultatet av testerna på hårdvaran och simuleringarna i Matlab ser ut på olika sätt. Till exempel när insignal till filtret är 1 så blir utsignalen i Matlab 1,2,1 medan den på hårdvaran blir 4. Detta är för att utsignalen från hårdvarna visar summan av multiplikationerna mellan insignal x[n] och filterkoefficienterna h[n]. Medan den i Matlab visar varje multiplikation var för sig. För att se hur hårdvaruutförandet är uppkopplat och fungerar se bilaga C. 36

46 Insignal x[n] Koefficienter h[n] Utsignal y[n] 1 h[2]=1, h[1]=2, h[0]=1 4 2 h[2]=1, h[1]=2, h[0]=1 8 3 h[2]=1, h[1]=2, h[0]= h[2]=1, h[1]=2, h[0]= h[2]=1, h[1]=2, h[0]= h[2]=1, h[1]=2, h[0]= h[2]=1, h[1]=2, h[0]= h[2]=1, h[1]=2, h[0]= h[2]=1, h[1]=2, h[0]=1 36 Tabell 7.4 Utförande på XSA-50 kortet. Efter utförda simuleringar så startade projektet med att koda konstruktionen i programmet Xillinx ISE 7.1i. Programmet byggdes upp i blockform för att underlätta vid exekveringen/simulering samt vid felsökning. Se avsnitt 7.3 för beskrivning av blocken. När programkoden var färdigställd så generades en.bit fil som laddades ner till XSA-50 kortet. Därefter provkördes filtret genom att mata in värden med det inkopplade tangentbordet via PS/2 porten på kortet [27]. För att se koden till tangentbordsavkodningen se bilaga A. Ett oscilloskop kopplades in för att kunna avläsa utsignalen från filtret. För en mer detaljerad genomgång av utförandet av experimentet rekommenderas läsning av bilaga C. Som stomme till tangentbordsavkodningen har [27] används. 7.3 Blockstrukturen i FIR Filtret I detta avsnitt beskrivs de olika blocken i FIR filtret. Systemet fungerar på så sätt att inmatning av data sker med hjälp av ett tangentbord. Denna data behandlas sedan i filtret för att sedan läggas som en utsignal. Utsignalen kan sedan användas på olika sätt, till exempel genom att sparas och presentera värdena på en dator eller som i detta fall mätas upp på ett oscilloskop. Hela koden är uppdelad i 8 stycken block. Nedan beskrivs de var för sig. Alla block är kopplade till samma klockpuls och har samma reset-signal. Koden presenteras i bilaga A. 37

47 Ps2_kbd Här sker inladdningen av värden från tangentbordet som sedan skickas vidare till blocket Keyb_scan för avkodningen. Figur Keyb_scan I denna modul sker avkodningen av tangentbordet. När användaren matar in ett värde mellan 0-9 med tangentbordet så läggs det på ingången scancode. Är signalen rdy hög så avkodas detta värde och läggs på utgången x_ut. X_ut blir det nya x-invärdet i loadbuff. Figur

48 Loadbuff Detta block har till uppgift att ladda X-värden och sätta värden på filterkoefficienterna. X-värdet som har laddats in från keyb_scan modulen skickas sedan vidare när loadsignalen är låg. Detta värde skickas vidare till multiplier blocken med utsignalen x_ut. Ready signalen är kopplad till load signalen på samtliga multipliers. Figur One_pulse Detta block genererar en puls i taget. Detta för att undvika kontaktstudsar då man använder switchboarden. Figur

49 Filter_muls Det finns tre sådana block och i dessa sker multiplikationerna av filterkoefficienterna och insignal. När signalen load är låg så laddas x_in och c_in i x- respektive c-registret. Sedan sker multiplikationen mellan dessa värden och produkten läggs på utsignalen y1. När en multiplikation är klar så skickas en ready signal. Figur Adder Ready signalen i detta block är sammankopplad med ready signalen från multiplier modulen. När denna signal blir låg så sparas det tidigare inkommande värdet z_in i register s. Efter att detta har inträffats så adderas värdet i register s och in_add. Efter denna addition läggs summan ut på utsignalen ut. Figur

50 Adder2 Adder2 fungerar på liknade sätt som adder men den har ingen ready signal. Det gör att ett inkommande värde(z_in) sparas i register s utan att någon ready signal sätts. Sedan läggs produkten från multiplier på in_add och adderas till sist med värdet i s och läggs på utsignalen ut. Figur Store I detta block skall produkten av x_in. När signalen ready är låg så sparas det inkommande värdet från in_data i register z. Därefter så läggs värdet ut på utsignalen ut_data. Figur

51

52 Avslutning I detta avsnitt diskuteras arbetet och resultaten redovisas. 8.1 Resultat CORDIC Simuleringarna utförda i Matlab skilde sig jämfört med resultaten från utförandet på XSA-50 kortet. Andledningen till detta är att hårdvaruutförandet av CORDIC-framåtrotationen bara kan utföra ett fåtal iterationer, så kan det uppstå vissa felaktigheter. De uppmätta värdena från hårdvaruutförandet av programmet kan även skilja sig från de simulerade värdena på grund av avrundningsfel. Detta beror på att man i hårdvaran endast kan jobba med heltal. Matlabprogram som har skrivits skapar den nödvändiga HEX filen, som behövs för att ladda ner det valda x-värdet på SDRAM:en. Detta underlättar då man slipper räkna ut checksumovärdena som är nödvändiga. Vidare har det skapts en manual som kan användas vid självstudier av bland annat implementering av CORDIC-algoritmen och SDRAM funktionen på XSA-50 kortet. 8.2 Resultat FIR Efter att simuleringsresultatet i Matlab har jämförts med det på hårdvaran så kunde det konstateras att implementeringen var lyckad. Filtret fungerade enligt förutsättningarna. Utsignalen y[n] visades på olika sätt vid simulering respektive hårdvaruimplementering. I Matlab visades multiplikationerna av insignalen och filterkoefficienterna var för sig. Medan det på hårdvaran är summan av samtliga multiplikationer som visas. Vidare har det skapts en manual som kan användas vid självstudier av bland annat implementering av FIR-filter och tangentbordsfunktionen på XSA-50 kortet. 8.3 Problem Ett problem som stöttes på under projektet var att vissa av XSA-korten hade felaktiga SDRAM minnen. Det var tidskrävande att upptäcka detta fel. Ytterligare problem uppkom vid användningen av switchbrädan. När det skulle genereras en signal uppträdde det kontaktstudsar. Problemet fick en mjukvarulösning, se

53 Diskussion CORDIC-algoritmen är väl anpassad till att användas på DSP tillämpningar. Då den till största delen handlar om addition och skiftoperationer. I detta arbete så har algoritmen anpassats till att fungerar med XSA-50 kortet. Detta har fungerat väl då laborationskortet har många funktioner som kan utnyttjas. I CORDIC tillämpningen så används den inbyggda SDRAM:en. Genom att utgå från detta projekt kan man lätt använda SDRAM till egna projekt och tillämpningar. Vid konstruktionen av FIR filtret så utfördes simulation i Matlab, detta underlättade vidare arbete med konstruktionen på XSA-50 kortet. Blockkonstruktion tillämpades med stor fördel. Detta gjorde det mycket enklare att skapa en bra översikt över de olika delarna i filtret. Felsökning av FIR filtret underlättades avsevärt, då varje block kunde simuleras var för sig. För denna del av projektet har PS/2 ingången använts för inläsning ifrån tangentbordet. Detta projekt kan vara en utgångspunkt för att anpassa tangentbordsinläsning till egna tillämpningar. 44

54

55 Terminologi Akrynom CLB CORDIC CS DCORDIC DFT DSP DTFT FA FFT FIR FPGA IIR IOB LSB LTI LUT MSB MSDF P-CORDIC SDRAM VHDL VHSIC Förklaring Configurable Logic Block COordinate Rotation DIgital Computer Carry Signal Differential CORDIC Discrete Fourier Transform Digital Signal Processor Discrete Time Fourier Transform Full Adder Fast Fourier Transform Finite Impulse Response Field Programmable Gate Array Infinite Impulse Response Input Output Block Least Significant Bit Linear Time Invariant Look-Up Tables Most Significant Bit Most Significant Digit First Pre-Computed CORDIC Synchronous Dynamic Random Access Memory VHSIC Hardware Description Language Very High Speed Integrated Circuits 46

56 VLSI Very Large Scale Integrated Circuit 47

57

58 Referenser 1. J.E. Volder, "The CORDIC Trigonometric Computing Technique," IRE Trans Electronic Computers, vol8, pp , Sept J. S. Walther, "A Unified Algorithm for Elementary Functions," Proc. Spring. Joint Computer Conf., pp , R. Andraka, A Survey of CORDIC Algorithms for FPGAs, in Proceedings of the 1998 ACM/SIGDA Sixth International Symposium on Field Programmable Gate Arrays (FPGA 98),Monterey, CA, Feb , 1998, pp J.E. Volder, The Birth of CORDIC, D. Timmermann (1990): CORDIC-Algorithmen, Architekturen und monolithische Realisierungen mit Anwendungen in der Bildverarbeitung, Ph.D. thesis, VDI/Springer, Düsseldorf, Vol. 10, No H. Hahn (1991): Untersuchung und Integration von Berechnungsverfahren elementarer Funktionen auf CORDIC-Basis mit Anwendungen in der adaptiven Signalverarbeitung, Ph.D. thesis, VDI/Springer, Düsseldorf, Vol. 9, No U. Meyer-Bäse: The Use of Complex Algorithm in the Realization of Universal Sampling Receiver Using FPGAs (in German) (VDI/Springer, Düsseldorf, 1995), Vol. 10, No.404, 215 pages 8. U. Meyer-Bäse, A. Meyer-Bäse, W. Hilberg: COordinate Rotation DIgital Computer (CORDIC) Synthesis for FPGA, Lecture Notes in Computer Science 849, (Springer, Heidelberg, 1994) 9. J. Valls, M. Kuhlmann, K.K. Parhi, Evaluation of CORDIC Algorithms for FPGA Design, Journal of VLSI Signal Processing 32, pp , H. Dawid and H. Meyr, The Differential CORDIC Algorithm: Constant Scale Factor Redundant Implementation without Correcting Iterations, IEEE Transactions on Computers, vol. 45, no. 3, J. Moran, I. Rios, and J. Meneses, Signed Digit Arithmetic on FPGAs, in More FPGAs, pp , W.R. Moore and W. Luk (Eds.), Abindon EE&CS books,

Automatiserad panoramasekvensdetektering på Narratives platform

Automatiserad panoramasekvensdetektering på Narratives platform LiU-ITN-TEK-A--14/018--SE Automatiserad panoramasekvensdetektering på Narratives platform Alexander Johansson 2014-06-11 Department of Science and Technology Linköping University SE-601 74 Norrköping,

Läs mer

Automatization of test rig for microwave ovens

Automatization of test rig for microwave ovens LiU-ITN-TEK-A--13/026--SE Automatization of test rig for microwave ovens Jesper Cronborn 2013-06-10 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen

Läs mer

Master Thesis. Study on a second-order bandpass Σ -modulator for flexible AD-conversion Hanna Svensson. LiTH - ISY - EX -- 08/4064 -- SE

Master Thesis. Study on a second-order bandpass Σ -modulator for flexible AD-conversion Hanna Svensson. LiTH - ISY - EX -- 08/4064 -- SE Master Thesis Study on a second-order bandpass Σ -modulator for flexible AD-conversion Hanna Svensson LiTH - ISY - EX -- 08/4064 -- SE Study on a second-order bandpass Σ -modulator for flexible AD-conversion

Läs mer

ChiliChallenge. Utveckling av en användbar webbapplika on. ChiliChallenge Development of a web applica on with good usability

ChiliChallenge. Utveckling av en användbar webbapplika on. ChiliChallenge Development of a web applica on with good usability ChiliChallenge Utveckling av en användbar webbapplika on ChiliChallenge Development of a web applica on with good usability Grupp 4: Carolina Broberg, Oscar Ek, Linus Gålén, Anders Kratz, Andreas Niki

Läs mer

Institutionen för datavetenskap Department of Computer and Information Science

Institutionen för datavetenskap Department of Computer and Information Science Institutionen för datavetenskap Department of Computer and Information Science Examensarbete Utveckling av en webbaserad donationstjänst för företag som involverar medarbetarna i processen. av Martina

Läs mer

Utveckling av webbsida för lokala prisjämförelser med användbarhetsmetoder

Utveckling av webbsida för lokala prisjämförelser med användbarhetsmetoder C-uppsats LITH-ITN-EX--05/032--SE Utveckling av webbsida för lokala prisjämförelser med användbarhetsmetoder Jon Hällholm 2005-10-27 Department of Science and Technology Linköpings Universitet SE-601 74

Läs mer

Ritning av industribyggnad med dokumentation av elcentraler

Ritning av industribyggnad med dokumentation av elcentraler LiU-ITN-TEK-G--12/038--SE Ritning av industribyggnad med dokumentation av elcentraler Sebastian Johansson Daniel Nyberg 2012-06-12 Department of Science and Technology Linköping University SE-601 74 Norrköping,

Läs mer

Dokumentation av elritningar i en byggnad

Dokumentation av elritningar i en byggnad LiU-ITN-TEK-G--12/068--SE Dokumentation av elritningar i en byggnad Precious Kam'boma Ceasar Ramzi 2012-12-17 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen

Läs mer

Kan vi beskriva ett system utan någon fysikalisk kännedom om systemet?

Kan vi beskriva ett system utan någon fysikalisk kännedom om systemet? Kan vi beskriva ett system utan någon fysikalisk kännedom om systemet? 1 Om svaret på frågan är ja så öppnar sig möjligheten att skapa en generell verktygslåda som fungerar för analys och manipulering

Läs mer

Laddningsomkopplare för två batterier

Laddningsomkopplare för två batterier LiU-ITN-TEK-G--10/054--SE Laddningsomkopplare för två batterier Findus Lagerbäck 2010-06-04 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen för teknik

Läs mer

Spektrala Transformer

Spektrala Transformer Spektrala Transformer Kurssammanfattning Fyra kärnkoncept Sampling Faltning Poler och nollställen Fouriertransform Koncept #1: Sampling En korrekt samplad signal kan rekonstrueras exakt, dvs ingen information

Läs mer

!"# " $"% & ' ( )* + 2' ( 3 -+ -.4

!#  $% & ' ( )* + 2' ( 3 -+ -.4 !"# " $"% !"# " $"% & ' ( )* +-+./0+12 + 2' ( 3 -+ -.4 Avdelning Institution Division Department Datum Date 2005-03-21 Institutionen för datavetenskap 581 83 LINKÖPING Språk Language Svenska/Swedish

Läs mer

Dokumentation av elinstallationer i en byggnad

Dokumentation av elinstallationer i en byggnad LiU-ITN-TEK-G--11/066--SE Dokumentation av elinstallationer i en byggnad Albert Binakaj Armin Smajic 2011-08-25 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen

Läs mer

Inkoppling av manöverdon för servicekörning av kran 481

Inkoppling av manöverdon för servicekörning av kran 481 LiU-ITN-TEK-G--11/073--SE Inkoppling av manöverdon för servicekörning av kran 481 Simon Johansson Christian Winberg 2011-08-25 Department of Science and Technology Linköping University SE-601 74 Norrköping,

Läs mer

Approximation av funktioner

Approximation av funktioner Vetenskapliga beräkningar III 8 Kapitel Approximation av funktioner Vi skall nu övergå till att beskriva, hur man i praktiken numeriskt beräknar funktioner I allmänhet kan inte ens elementära funktioner

Läs mer

DIGITALA FILTER. Tillämpad Fysik Och Elektronik 1. Frekvensfunktioner FREKVENSSVAR FÖR ETT TIDSDISKRET SYSTEM. x(n)= Asin(Ωn)

DIGITALA FILTER. Tillämpad Fysik Och Elektronik 1. Frekvensfunktioner FREKVENSSVAR FÖR ETT TIDSDISKRET SYSTEM. x(n)= Asin(Ωn) DIGITALA FILTER TILLÄMPAD FYSIK OCH ELEKTRONIK, UMEÅ UNIVERSITET 1 Frekvensfunktioner x(n)= Asin(Ωn) y(n) H(z) TILLÄMPAD FYSIK OCH ELEKTRONIK, UMEÅ UNIVERSITET 2 FREKVENSSVAR FÖR ETT TIDSDISKRET SYSTEM

Läs mer

Exempelsamling Grundläggande systemmodeller. Klas Nordberg Computer Vision Laboratory Department of Electrical Engineering Linköping University

Exempelsamling Grundläggande systemmodeller. Klas Nordberg Computer Vision Laboratory Department of Electrical Engineering Linköping University Exempelsamling Grundläggande systemmodeller Klas Nordberg Computer Vision Laboratory Department of Electrical Engineering Linköping University Version: 0.11 September 14, 2015 Uppgifter markerade med (A)

Läs mer

DIGITAL ELEKTRONIK. Laboration DE3 VHDL 1. Namn... Personnummer... Epost-adress... Datum för inlämning...

DIGITAL ELEKTRONIK. Laboration DE3 VHDL 1. Namn... Personnummer... Epost-adress... Datum för inlämning... UMEÅ UNIVERSITET Tillämpad fysik och elektronik 2014 John Berge et al. DIGITAL ELEKTRONIK Laboration DE3 VHDL 1 Namn... Personnummer... Epost-adress... Datum för inlämning... Introduktion Syftet med denna

Läs mer

TIDSDISKRETA SYSTEM SYSTEMEGENSKAPER. Minne Kausalitet Tidsinvarians. Linjäritet Inverterbarhet Stabilitet. System. Tillämpad Fysik och Elektronik 1

TIDSDISKRETA SYSTEM SYSTEMEGENSKAPER. Minne Kausalitet Tidsinvarians. Linjäritet Inverterbarhet Stabilitet. System. Tillämpad Fysik och Elektronik 1 TIDSDISKRETA SYSTEM TILLÄMPAD FYSIK OCH ELEKTRONIK, UMEÅ UNIVERSITET 1 SYSTEMEGENSKAPER x[n] System y[n] Minne Kausalitet Tidsinvarians Linjäritet Inverterbarhet Stabilitet TILLÄMPAD FYSIK OCH ELEKTRONIK,

Läs mer

Strategiska överväganden vid tillbyggnation - Ekonomiska och hållfasthetsmässiga konsekvenser utifrån snölastreglering

Strategiska överväganden vid tillbyggnation - Ekonomiska och hållfasthetsmässiga konsekvenser utifrån snölastreglering LIU-ITN-TEK-G-13/021-SE Strategiska överväganden vid tillbyggnation - Ekonomiska och hållfasthetsmässiga konsekvenser utifrån snölastreglering Max Jigander 2013-06-05 Department of Science and Technology

Läs mer

System. Z-transformen. Staffan Grundberg. 8 februari 2016

System. Z-transformen. Staffan Grundberg. 8 februari 2016 Z-transformen 8 februari 2016 Innehåll Z-transformen Tidsdiskreta LTI-system Överföringsfunktioner Frekvensegenskaper Z-transformen Z-transformen av en tidsdiskret signal y[n] ges av Y (z) = Z[y] = y[n]z

Läs mer

Tentamen i TMA 982 Linjära System och Transformer VV-salar, 27 aug 2013, kl

Tentamen i TMA 982 Linjära System och Transformer VV-salar, 27 aug 2013, kl Tentamen i TMA 982 Linjära System och Transformer VV-salar, 27 aug 2013, kl 8.30-12.30 Examinatorer: Lars Hammarstrand och Thomas Wernstål Tentamen består av två delar (Del I och Del II) på sammanlagt

Läs mer

Exempelsamling Grundläggande systemmodeller. Klas Nordberg Computer Vision Laboratory Department of Electrical Engineering Linköping University

Exempelsamling Grundläggande systemmodeller. Klas Nordberg Computer Vision Laboratory Department of Electrical Engineering Linköping University Exempelsamling Grundläggande systemmodeller Klas Nordberg Computer Vision Laboratory Department of Electrical Engineering Linköping University Version: 0.1 August 25, 2015 Uppgifter markerade med (A) är

Läs mer

Det här är inte en porslinssvan - Ett grafiskt kampanjkoncept för second hand-butiker med välgörenhetssyfte

Det här är inte en porslinssvan - Ett grafiskt kampanjkoncept för second hand-butiker med välgörenhetssyfte LiU-ITN-TEK-G--16/055--SE Det här är inte en porslinssvan - Ett grafiskt kampanjkoncept för second hand-butiker med välgörenhetssyfte Veronica S Eksmo Karin Götestrand 2016-06-10 Department of Science

Läs mer

LUNDS TEKNISKA HÖGSKOLA Institutionen för Elektro- och Informationsteknik

LUNDS TEKNISKA HÖGSKOLA Institutionen för Elektro- och Informationsteknik LUNDS TEKNISKA HÖGSKOLA Institutionen för Elektro- och Informationsteknik SIGNALBEHANDLING I MULTIMEDIA, EITA50, LP4, 209 Inlämningsuppgift av 2, Assignment out of 2 Inlämningstid: Lämnas in senast kl

Läs mer

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2011-08-26 Skrivtid 9.00-14.00 Maximalt resultat 50 poäng Godkänt resultat 25 poäng Jourhavande lärare Per Lindgren Tel 070 376 8150 Tillåtna hjälpmedel

Läs mer

VHDL 1. Programmerbara kretsar

VHDL 1. Programmerbara kretsar VHDL 1 Programmerbara kretsar CPLD FPGA VHDL Kombinatorik with-select-when when-else Sekvensnät process case if-then-else Programmerbara kretsar PLD = programmable logic device CPLD = complex PLD, i princip

Läs mer

FÖRELÄSNING 13: Analoga o p. 1 Digitala filter. Kausalitet. Stabilitet. Ex) på användning av analoga p. 2 filter = tidskontinuerliga filter

FÖRELÄSNING 13: Analoga o p. 1 Digitala filter. Kausalitet. Stabilitet. Ex) på användning av analoga p. 2 filter = tidskontinuerliga filter FÖRELÄSNING 3: Analoga o p. Digitala filter. Kausalitet. Stabilitet. Analoga filter Ideala filter Butterworthfilter (kursivt här, kommer inte på tentan, men ganska bra för förståelsen) Kausalitet t oh

Läs mer

Självkalibrering av varvtalsregulator

Självkalibrering av varvtalsregulator LiU-ITN-TEK-A--13/057--SE Självkalibrering av varvtalsregulator Rickard Dahm 2013-10-28 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen för teknik och

Läs mer

TANA17 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab TANA17 Matematiska beräkningar med Matlab Laboration 1. Linjär Algebra och Avbildningar Namn: Personnummer: Epost: Namn: Personnummer: Epost: Godkänd den: Sign: Retur: 1 Introduktion I denna övning skall

Läs mer

Arbetsprov för nyanställda inom el- och automationsteknik

Arbetsprov för nyanställda inom el- och automationsteknik LiU-ITN-TEK-G--13/003-SE Arbetsprov för nyanställda inom el- och automationsteknik Danial Qamar Patrik Rosenkrantz 2013-03-11 Department of Science and Technology Linköping University SE-601 74 Norrköping,

Läs mer

Faltningsreverb i realtidsimplementering

Faltningsreverb i realtidsimplementering Faltningsreverb i realtidsimplementering SMS45 Lp1 26 DSP-system i praktiken Jörgen Anderton - jorand-3@student.ltu.se Henrik Wikner - henwik-1@student.ltu.se Introduktion Digitala reverb kan delas upp

Läs mer

Tentamen i Digitalteknik, EITF65

Tentamen i Digitalteknik, EITF65 Elektro- och informationsteknik Tentamen i Digitalteknik, EITF65 3 januari 2018, kl. 14-19 Skriv anonymkod och identifierare, eller personnummer, på alla papper. Börja en ny uppgift på ett nytt papper.

Läs mer

Analys av anslutningsresor till Arlanda

Analys av anslutningsresor till Arlanda LiU-ITN-TEK-A--11/058--SE Analys av anslutningsresor till Arlanda Sara Johansson 2011-09-16 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen för teknik

Läs mer

AD-DA-omvandlare. Mätteknik. Ville Jalkanen. ville.jalkanen@tfe.umu.se 1

AD-DA-omvandlare. Mätteknik. Ville Jalkanen. ville.jalkanen@tfe.umu.se 1 AD-DA-omvandlare Mätteknik Ville Jalkanen ville.jalkanen@tfe.umu.se Inledning Analog-digital (AD)-omvandling Digital-analog (DA)-omvandling Varför AD-omvandling? analog, tidskontinuerlig signal Givare/

Läs mer

Kodning av ansiktstextur med oberoende komponenter

Kodning av ansiktstextur med oberoende komponenter Kodning av ansiktstextur med oberoende komponenter Jörgen Ahlberg Report no. LiTH-ISY-R-2297 ISSN 1400-3902 Avdelning, Institution Division, department Datum Date Image Coding Group 2000-10-02 Department

Läs mer

Digital elektronik CL0090

Digital elektronik CL0090 Digital elektronik CL9 Föreläsning 3 27--29 8.5 2. My Talsystem Binära tal har basen 2 Exempel Det decimala talet 9 motsvarar 2 Den första ettan är MSB, Most Significant Bit, den andra ettan är LSB Least

Läs mer

Resttentamen i Signaler och System Måndagen den 11.januari 2010, kl 14-19

Resttentamen i Signaler och System Måndagen den 11.januari 2010, kl 14-19 Resttentamen i Signaler och System Måndagen den 11.januari 2010, kl 14-19 Tillåtna hjälpmedel: Valfri miniräknare (utan möjlighet till trådlös kommunkation). Valfri litteratur, inkl. kursböcker, formelsamlingar.

Läs mer

Laplace, Fourier och resten varför alla dessa transformer?

Laplace, Fourier och resten varför alla dessa transformer? Laplace, Fourier och resten varför alla dessa transformer? 1 Bakgrund till transformer i kontinuerlig tid Idé 1: Representera in- och utsignaler till LTI-system i samma basfunktion Förenklad analys! Idé

Läs mer

DIGITALA FILTER DIGITALA FILTER. Tillämpad Fysik Och Elektronik 1

DIGITALA FILTER DIGITALA FILTER. Tillämpad Fysik Och Elektronik 1 DIGITALA FILTER TILLÄMPAD FYIK OCH ELEKTRONIK, UMEÅ UNIVERITET 1 DIGITALA FILTER Digitala filter förekommer t.ex.: I Photoshop och andra PC-programvaror som filtrerar. I apparater med signalprocessorer,

Läs mer

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2010-08-27 Skrivtid 9.00-14.00 Maximalt resultat 50 poäng Godkänt resultat 25 poäng inkl bonus Jourhavande lärare Per Lindgren Tel 070 376 8150 Tillåtna

Läs mer

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2008-08-29 Skrivtid 9.00-13.00 Maximalt resultat 50 poäng Godkänt resultat 25 poäng inkl bonus Jourhavande lärare Johan Eriksson Tel 070 589 7911 Tillåtna

Läs mer

2 Laborationsutrustning

2 Laborationsutrustning Institutionen för data- och elektroteknik 2002-02-11 1 Inledning Denna laboration syftar till att illustrera ett antal grundbegrepp inom digital signalbehandling samt att närmare studera frekvensanalys

Läs mer

Tentamen ssy080 Transformer, Signaler och System, D3

Tentamen ssy080 Transformer, Signaler och System, D3 Tentamen ssy080 Transformer, Signaler och System, D3 Examinator: Ants R. Silberberg oktober 009 kl. 4.00-8.00 lokal: Johanneberg Förfrågningar: Ants Silberberg, tel. 808 Lösningar: Anslås torsdag okt.

Läs mer

Adaptiva Filter. Johan Haarala Signaler och System

Adaptiva Filter. Johan Haarala Signaler och System Adaptiva Filter Johan Haarala 2002-12-11 Signaler och System Abstract Målet med den här rapporten är att ge en introduktion samt översikt till adaptiva filter. I den beskrivs några av de algoritmer som

Läs mer

DT1130 Spektrala transformer Tentamen

DT1130 Spektrala transformer Tentamen DT3 Spektrala transformer Tentamen 5 Tentamen består av fem uppgifter där varje uppgift maximalt ger p. Normalt gäller följande betygsgränser: E: 9 p, D:.5 p, C: p, B: 6 p, A: 8 p Tillåtna hjälpmedel:

Läs mer

Implementering av digitala filter

Implementering av digitala filter Kapitel 9 Implementering av digitala filter Som vi sett i kapitel 8 kan det behövas ett mycket stort antal koefficienter för att representera ett digitalt filter. Detta gäller i synnerhet FIR filter. Det

Läs mer

Konstruktionsmetodik för sekvenskretsar. Föreläsning 7 Digitalteknik, TSEA22 Mattias Krysander Institutionen för systemteknik

Konstruktionsmetodik för sekvenskretsar. Föreläsning 7 Digitalteknik, TSEA22 Mattias Krysander Institutionen för systemteknik Konstruktionsmetodik för sekvenskretsar Föreläsning 7 Digitalteknik, TSEA22 Mattias Krysander Institutionen för systemteknik 2 Dagens föreläsning Initiering av starttillstånd Programmerbar logik Syntesflödet

Läs mer

Programmerbara kretsar och VHDL 2. Föreläsning 10 Digitalteknik, TSEA22 Oscar Gustafsson Institutionen för systemteknik

Programmerbara kretsar och VHDL 2. Föreläsning 10 Digitalteknik, TSEA22 Oscar Gustafsson Institutionen för systemteknik Programmerbara kretsar och VHDL 2 Föreläsning 10 Digitalteknik, TSEA22 Oscar Gustafsson Institutionen för systemteknik 2 Dagens föreläsning Programmerbara kretsar igen Mer om processer Egna typer Använda

Läs mer

Signal- och bildbehandling TSEA70

Signal- och bildbehandling TSEA70 Tentamen i Signal- och bildbehandling TSEA70 Tid: 2003-08-22 kl. 4-8 Lokaler: G36 Ansvarig lärare: Maria Magnusson Seger besöker lokalen kl. 6.00. tel 0702/33 79 48 Hjälpmedel: Räknedosa, OH-film, medskickad

Läs mer

Uppdatera produktkalkyler och verifiera elektriska komponenter i styrskåp till luftavfuktare

Uppdatera produktkalkyler och verifiera elektriska komponenter i styrskåp till luftavfuktare LiU-ITN-TEK-G--11/047--SE Uppdatera produktkalkyler och verifiera elektriska komponenter i styrskåp till luftavfuktare Johan Brorson Jessica Gatenberg 2011-06-09 Department of Science and Technology Linköping

Läs mer

LUNDS TEKNISKA HÖGSKOLA Inst. for Elektro- och Informationsteknik. SIGNALBEHANDLING I MULTIMEDIA, ETI265 Inlämningsuppgift 1 (av 2), Task 1 (out of 2)

LUNDS TEKNISKA HÖGSKOLA Inst. for Elektro- och Informationsteknik. SIGNALBEHANDLING I MULTIMEDIA, ETI265 Inlämningsuppgift 1 (av 2), Task 1 (out of 2) LUNDS TEKNISKA HÖGSKOLA Inst. for Elektro- och Informationsteknik SIGNALBEHANDLING I MULTIMEDIA, ETI65 Inlämningsuppgift (av ), Task (out of ) Inlämningstid: Inlämnas senast kl 7. fredagen den 5:e maj

Läs mer

GRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse

GRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse GRUNDER I VHDL Innehåll Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse KOMPONENTMODELL Modell för att beskriva komponenter Externt interface Intern funktion

Läs mer

Elektronik. Viktor Öwall, Digital ASIC Group, Dept. of Electroscience, Lund University, Sweden-

Elektronik. Viktor Öwall, Digital ASIC Group, Dept. of Electroscience, Lund University, Sweden- Analogt och Digital Bertil Larsson Viktor Öwall Analoga och Digitala Signaler Analogt Digitalt 001100101010100000111110000100101010001011100010001000100 t Analogt kontra Digitalt Analogt få komponenter

Läs mer

Programmerbar logik och VHDL. Föreläsning 1

Programmerbar logik och VHDL. Föreläsning 1 Programmerbar logik och VHDL Föreläsning 1 Programmerbar logik och VHDL Programmerbar logik VHDL intro Upplägg, litteratur, examination Programmerbara kretsar Mikroprocessor Fix hårdvara som kan utföra

Läs mer

Riktlinjer för kontrollutrustning

Riktlinjer för kontrollutrustning LiU-ITN-TEK-G--13/004-SE Riktlinjer för kontrollutrustning Menhel Aghel Dawood Dragan Obradovic 2013-03-11 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen

Läs mer

FÖRELÄSNING 8 INTRODUKTION TILL DESIGN AV DIGITALA ELEKTRONIKSYSTEM

FÖRELÄSNING 8 INTRODUKTION TILL DESIGN AV DIGITALA ELEKTRONIKSYSTEM FÖRELÄSNING 8 INTRODUKTION TILL DESIGN AV DIGITALA ELEKTRONIKSYSTEM Innehåll Designflöde Översikt av integrerade kretsar Motivation Hardware Description Language CAD-verktyg 1 DESIGNFLÖDE FÖR DIGITALA

Läs mer

Kapitel 3. Approximation av funktioner

Kapitel 3. Approximation av funktioner Kapitel 3. Approximation av funktioner Vi skall nu övergå till att beskriva, hur man i praktiken numeriskt beräknar funktioner. I allmänhet kan inte ens elementära funktioner såsom sinus- och cosinusfunktionerna

Läs mer

3D visualisering av Silverdal

3D visualisering av Silverdal LiU-ITN-TEK-G--09/034--SE 3D visualisering av Silverdal Jenny Stål 2009-06-10 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen för teknik och naturvetenskap

Läs mer

Struktur: Elektroteknik A. Digitalteknik 3p, vt 01. F1: Introduktion. Motivation och målsättning för kurserna i digital elektronik

Struktur: Elektroteknik A. Digitalteknik 3p, vt 01. F1: Introduktion. Motivation och målsättning för kurserna i digital elektronik Digitalteknik 3p, vt 01 Struktur: Elektroteknik A Kurslitteratur: "A First Course in Digital Systems Design - An Integrated Approach" Antal föreläsningar: 11 (2h) Antal laborationer: 4 (4h) Examinationsform:

Läs mer

Vad är en UART? Universal Asynchronous Receiver Transmitter parallella seriella parallell åttabitars signal mest signifikant bit

Vad är en UART? Universal Asynchronous Receiver Transmitter parallella seriella parallell åttabitars signal mest signifikant bit Vad är en UART? Beteckningen UART är en förkortning för det engelska uttrycket Universal Asynchronous Receiver Transmitter, vilket översatt till svenska blir ungefär Universell Asynkron Mottagare/Sändare.

Läs mer

KALKYLATOR LABORATION4. Laborationens syfte

KALKYLATOR LABORATION4. Laborationens syfte LABORATION4 KALKYLATOR Laborationens syfte I denna laboration ska en enkel kalkylator konstrueras med hjälp av VHDL och utvecklingsverktyget Vivado från Xilinx. Hårdvaran realiseras på det redan bekanta

Läs mer

Digital- och datorteknik, , Per Larsson-Edefors Sida 1

Digital- och datorteknik, , Per Larsson-Edefors Sida 1 Digitala it elektroniksystem t Professor Per Larsson-Edefors perla@chalmers.se Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 1 Introduktion Konstruktionsalternativ Kretskort med diskreta standardkomponenter.

Läs mer

Block 2 Algebra och Diskret Matematik A. Följder, strängar och tal. Referenser. Inledning. 1. Följder

Block 2 Algebra och Diskret Matematik A. Följder, strängar och tal. Referenser. Inledning. 1. Följder Block 2 Algebra och Diskret Matematik A BLOCK INNEHÅLL Referenser Inledning 1. Följder 2. Rekursiva definitioner 3. Sigmanotation för summor 4. Strängar 5. Tal 6. Övningsuppgifter Referenser Följder, strängar

Läs mer

SYSTEM. Tillämpad Fysik Och Elektronik 1 SYSTEMEGENSKAPER. Minne Kausalitet Tidsinvarians. Linjäritet Inverterbarhet Stabilitet. System.

SYSTEM. Tillämpad Fysik Och Elektronik 1 SYSTEMEGENSKAPER. Minne Kausalitet Tidsinvarians. Linjäritet Inverterbarhet Stabilitet. System. SYSTEM TILLÄMPAD FYSIK OCH ELEKTRONIK, UMEÅ UNIVERSITET SYSTEMEGENSKAPER System y(t) y[n] Minne Kausalitet Tidsinvarians Linjäritet Inverterbarhet Stabilitet TILLÄMPAD FYSIK OCH ELEKTRONIK, UMEÅ UNIVERSITET

Läs mer

(2B1560, 6B2911) HT08

(2B1560, 6B2911) HT08 Royal Institute of Technology, KTH, Kista School of Information and Communication Technology, ICT Department of Electronics, Computer and Software, ECS Digital Design, IE1204 (2B1560, 6B2911) HT08 OBS!

Läs mer

DT1130 Spektrala transformer Tentamen

DT1130 Spektrala transformer Tentamen DT Spektrala transformer Tentamen 72 Tentamen består av fem uppgifter där varje uppgift maximalt ger 4 p. Normalt gäller följande betygsgränser: E: 9 p, D:.5 p, C: 4 p, B: 6 p, A: 8 p Tillåtna hjälpmedel:

Läs mer

IE1205 Digital Design: F6 : Digital aritmetik 2

IE1205 Digital Design: F6 : Digital aritmetik 2 IE1205 Digital Design: F6 : Digital aritmetik 2 Talrepresentationer Ett tal kan representeras binärt på många sätt. De vanligaste taltyperna som skall representeras är: Heltal, positiva heltal (eng. integers)

Läs mer

Miniräknare och en valfri formelsamling i signalbehandling eller matematik. Allowed items: calculator, DSP and mathematical tables of formulas

Miniräknare och en valfri formelsamling i signalbehandling eller matematik. Allowed items: calculator, DSP and mathematical tables of formulas LUNDS TEKNISKA HÖGSKOLA Institutionen för Elektro- och Informationsteknik Tentamen 08-05-3 SIGNALBEHANDLING i MULTIMEDIA, EITA50 Tid: 08.00-3.00 Sal: Vic A Hjälpmedel: Viktigt: Miniräknare och en valfri

Läs mer

Arbete med behörighetsadministration och åtkomstkontroll i större företag

Arbete med behörighetsadministration och åtkomstkontroll i större företag Arbete med behörighetsadministration och åtkomstkontroll i större företag Kandidatuppsats, 10 poäng, skriven av Mikael Hansson och Oscar Lindberg 2005-07-04 ISRN LIU-IDA-C--05/11--SE Arbete med behörighetsadministration

Läs mer

Impulssvaret Betecknas h(t) respektive h(n). Impulssvaret beskriver hur ett system reagerar

Impulssvaret Betecknas h(t) respektive h(n). Impulssvaret beskriver hur ett system reagerar 6 Sjätte lektionen 6.1 Transformvärlden 6.1.1 Repetera Rita upp en tankekarta över följande begrepp där du anger hur de hänger ihop och hur de betecknas. Vad beskriver de? Impulssvaret Amplitudsvaret (frekvensgången)

Läs mer

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud. Analog Digitalitet Kontinuerlig Direkt proportionerlig mot källan Ex. sprittermometer Elektrisk signal som representerar ljud Diskret Digital Representation som siffror/symboler Ex. CD-skiva Varje siffra

Läs mer

Kompletterande räkneuppgifter i Spektrala Transformer Komplex analys, sampling, kvantisering, serier och filter Laura Enflo & Giampiero Salvi

Kompletterande räkneuppgifter i Spektrala Transformer Komplex analys, sampling, kvantisering, serier och filter Laura Enflo & Giampiero Salvi Kompletterande räkneuppgifter i Spektrala Transformer Komplex analys, sampling, kvantisering, serier och filter & Giampiero Salvi Komplex analys Om man endast använder den reella tallinjen är det inte

Läs mer

Mätningar med avancerade metoder

Mätningar med avancerade metoder Svante Granqvist 2008-11-12 13:41 Laboration i DT2420/DT242V Högtalarkonstruktion Mätningar på högtalare med avancerade metoder Med datorerna och signalprocessningens intåg har det utvecklats nya effektivare

Läs mer

Elektronik. Dataomvandlare

Elektronik. Dataomvandlare Elektronik Dataomvandlare Johan Wernehag Institutionen för elektro- och informationsteknik Lunds universitet 2 Översikt Analoga och digitala signaler Nyquistteorem Kvantiseringsfel i analog-till-digital

Läs mer

Läsminne Read Only Memory ROM

Läsminne Read Only Memory ROM Läsminne Read Only Memory ROM Ett läsminne har addressingångar och datautgångar Med m addresslinjer kan man accessa 2 m olika minnesadresser På varje address finns det ett dataord på n bitar Oftast har

Läs mer

Grundläggande A/D- och D/A-omvandling. 1 Inledning. 2 Digital/analog(D/A)-omvandling

Grundläggande A/D- och D/A-omvandling. 1 Inledning. 2 Digital/analog(D/A)-omvandling Grundläggande A/D- och D/A-omvandling. 1 Inledning Datorer nns nu i varje sammanhang. Men eftersom vår värld är analog, behöver vi något sätt att omvandla t.ex. mätvärden till digital form, för att datorn

Läs mer

Tentamen i ESS 010 Signaler och System E3 V-sektionen, 16 augusti 2005, kl 8.30 12.30

Tentamen i ESS 010 Signaler och System E3 V-sektionen, 16 augusti 2005, kl 8.30 12.30 Tentamen i ESS 00 Signaler och System E3 V-sektionen, 6 augusti 2005, kl 8.30 2.30 Examinator: Mats Viberg Tentamen består av 5 uppgifter som vardera ger maximalt 0 p. För godkänd tentamen fordras ca 20

Läs mer

Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner i VHDL för PLD Sekvensfunktioner i VHDL för PLD

Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner i VHDL för PLD Sekvensfunktioner i VHDL för PLD UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Håkan Joëlson 2003-09-15 v 2.1 DIGITALTEKNIK Laboration D163 Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner

Läs mer

DIGITALTEKNIK. Laboration D172

DIGITALTEKNIK. Laboration D172 UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Håkan Joëlson 2006-02-24 v 1.2 DIGITALTEKNIK Laboration D172 Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner

Läs mer

Tentamen ssy080 Transformer, Signaler och System, D3

Tentamen ssy080 Transformer, Signaler och System, D3 Tentamen ssy080 Transformer, Signaler och System, D3 Examinator: Ants R. Silberberg 19 oktober 2011 kl. 08.30-12.30 sal: Hörsalsvägen Förfrågningar: Ants Silberberg, tel. 1808 Lösningar: Anslås torsdag

Läs mer

L15 Introduktion modern digital design

L15 Introduktion modern digital design L15 Introduktion modern digital design Upplägg LP2 F15 Introduktion till modern digital design F16 Kombinatoriska nät i VHDL F17 Sekvensnät i VHDL F18 Gästföreläsning (Advenica, fortsättningskurser) F19

Läs mer

Signal- och bildbehandling TSBB14

Signal- och bildbehandling TSBB14 Tentamen i Signal- och bildbehandling TSBB Tid: 3-5-3 Lokaler: TER Ansvarig lärare: Maria Magnusson besöker lokalen kl. 8.5 och.3 tel 73-8 38 67 Hjälpmedel: Räknedosa, medskickad formelsamling, OH-film,

Läs mer

REGLERTEKNIK Laboration 5

REGLERTEKNIK Laboration 5 6 SAMPLADE SYSTEM 6. Sampling av signaler När man använder en dator som regulator, kan man endast behandla signaler i diskreta tidpunkter. T.ex. mäts systemets utsignal i tidpunkter med visst mellanrum,

Läs mer

Projektrapport i Digitala System

Projektrapport i Digitala System Projektrapport i Digitala System Stämapparat LTH Ingenjörshögskolan vid Campus Helsingborg Handledare: Bertil Lindvall Utförd: Vårtermin 2019 Utförd av: Markus Ljungqvist Nilsson, Gustav Wetterbrandt,

Läs mer

Analoga och Digitala Signaler. Analogt och Digitalt. Analogt. Digitalt. Analogt få komponenter låg effektförbrukning

Analoga och Digitala Signaler. Analogt och Digitalt. Analogt. Digitalt. Analogt få komponenter låg effektförbrukning Analoga och Digitala Signaler Analogt och Digitalt Analogt 00000000000000000000000000000000000 t Digitalt Analogt kontra Digitalt Analogt å komponenter låg eektörbrukning verkliga signaler Digitalt Hög

Läs mer

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll:

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll: F: Minneselement Innehåll: - Latchar - Flip-Flops - egister - Läs- och skrivminne (andom-access Memory AM) - Läsminne (ead Only Memory OM) Ett minneselements egenskaper Generellt sett så kan följande operationer

Läs mer

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2012-12-17 Skrivtid 9.00-14.00 Maximalt resultat 50 poäng Godkänt resultat 25 poäng Jourhavande lärare Per Lindgren Tel 070 376 8150 Tillåtna hjälpmedel

Läs mer

Digital Signalbehandling i Audio/Video

Digital Signalbehandling i Audio/Video Digital Signalbehandling i Audio/Video Institutionen för Elektrovetenskap Laboration 1 (del 2) Stefan Dinges Lund 25 2 Kapitel 1 Digitala audioeffekter Den här delen av laborationen handlar om olika digitala

Läs mer

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp Institutionen för elektro- och informationsteknik Campus Helsingborg, LTH 2018-01-09 8.00-13.00 (förlängd 14.00) Uppgifterna i tentamen

Läs mer

Laboration i tidsdiskreta system

Laboration i tidsdiskreta system Laboration i tidsdiskreta system A. Tips Användbara MATLAB-funktioner: conv Faltning square Skapa en fyrkantvåg wavread Läs in en ljudfil soundsc Spela upp ett ljud ones Skapa en vektor med godtyckligt

Läs mer

DT1120/DT1130 Spektrala transformer Tentamen

DT1120/DT1130 Spektrala transformer Tentamen DT/DT3 Spektrala transformer Tentamen 86 Tentamen består av fem uppgifter där varje uppgift maximalt ger 4 p. Normalt gäller följande betygsgränser: E: 9 p, D:.5 p, C: 4 p, B: 6 p, A: 8 p Tillåtna hjälpmedel:

Läs mer

Elektronik Dataomvandlare

Elektronik Dataomvandlare Elektronik Översikt Analoga och digitala signaler Dataomvandlare Pietro Andreani Institutionen för elektro- och informationsteknik Lunds universitet Nyquistteorem Kvantiseringsfel i analog-till-digital

Läs mer

LiTH Lab1: Asynkron seriell dataöverföring via optisk länk Laboration 1. Asynkron seriell dataöverföring via optisk länk

LiTH Lab1: Asynkron seriell dataöverföring via optisk länk Laboration 1. Asynkron seriell dataöverföring via optisk länk Lab: 2007-09-06 Laboration Asynkron seriell dataöverföring via optisk länk Kravspecifikation Lennart Bengtsson Version.4 Granskad Godkänd Status Lennart Bengtsson Sida PROJEKTIDENTITET Laborationsgrupp,

Läs mer

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 - Inbyggda system - Analog till digital signal - Utvecklingssystem, målsystem - Labutrustningen - Uppbyggnad av mikrokontroller - Masinkod, assemblerkod

Läs mer

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar Digitalteknik EIT020 Lecture 15: Design av digitala kretsar November 3, 2014 Digitalteknikens kopplingar mot andra områden Mjukvara Hårdvara Datorteknik Kretskonstruktion Digitalteknik Elektronik Figure:,

Läs mer

Tentamen i Grundläggande ellära och digitalteknik ETA 013 för D

Tentamen i Grundläggande ellära och digitalteknik ETA 013 för D Lars-Erik Cederlöf Per Liljas Tentamen i Grundläggande ellära och digitalteknik ETA 013 för D1 2001-05-28 Tentamen omfattar 40 poäng, 2 poäng för varje uppgift. 20 poäng ger godkänd tentamen. Tillåtet

Läs mer

Introduktion till Xilinx CPLD och ISE WebPack 6.2 Version NV

Introduktion till Xilinx CPLD och ISE WebPack 6.2 Version NV Introduktion till Xilinx CPLD och ISE WebPack 6.2 Version NV Introduktionen beskriver grunderna för att använda programvaran Xilinx ISE WebPack 6.2.03 tillsammans med en CPLD (Complex Programmable Logic

Läs mer

Konstruktion och undersökning av effektsnåla slumptalsgeneratorer

Konstruktion och undersökning av effektsnåla slumptalsgeneratorer Konstruktion och undersökning av effektsnåla slumptalsgeneratorer Examensarbete utfört i elektroniksystem av Ulf Källenäs LiTH-ISY-EX-ET-0250-2002 Linköping 2002 Konstruktion och undersökning av effektsnåla

Läs mer

VHDL och laborationer i digitalteknik

VHDL och laborationer i digitalteknik V:1.1 VHDL och laborationer i digitalteknik Vid laborationskursen i digitalteknik används VHDL till alla laborationerna utom den första. VHDL är ett stort språk och enbart en liten del av språket behövs

Läs mer