Implementering av FIR filter samt CORDIC algoritm på XSA-50
|
|
- Charlotta Ekström
- för 8 år sedan
- Visningar:
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
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 merAutomatization 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 merMaster 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 merChiliChallenge. 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 merInstitutionen 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 merUtveckling 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 merRitning 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 merDokumentation 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 merKan 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 merLaddningsomkopplare 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 merSpektrala 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
!"# " $"% !"# " $"% & ' ( )* +-+./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 merDokumentation 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 merInkoppling 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 merApproximation 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 merDIGITALA 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 merExempelsamling 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 merDIGITAL 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 merTIDSDISKRETA 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 merStrategiska ö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 merSystem. 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 merTentamen 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 merExempelsamling 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 merDet 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 merLUNDS 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 merTenta 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 merVHDL 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 merFÖ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 merSjä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 merTANA17 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 merArbetsprov 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 merFaltningsreverb 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 merTentamen 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 merAnalys 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 merAD-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 merKodning 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 merDigital 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 merResttentamen 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 merLaplace, 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 merDIGITALA 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 merTenta 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 merTenta 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 mer2 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 merTentamen 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 merAdaptiva 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 merDT1130 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 merImplementering 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 merKonstruktionsmetodik 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 merProgrammerbara 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 merSignal- 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 merUppdatera 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 merLUNDS 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 merGRUNDER 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 merElektronik. 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 merProgrammerbar 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 merRiktlinjer 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 merFÖ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 merKapitel 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 mer3D 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 merStruktur: 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 merVad ä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 merKALKYLATOR 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 merDigital- 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 merBlock 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 merSYSTEM. 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
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 merDT1130 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 merIE1205 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 merMinirä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 merArbete 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 merImpulssvaret 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 merDigitalitet. 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 merKompletterande 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 merMä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 merElektronik. 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 merLä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 merGrundlä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 merTentamen 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 merProgrammerbar 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 merDIGITALTEKNIK. 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 merTentamen 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 merL15 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 merSignal- 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 merREGLERTEKNIK 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 merProjektrapport 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 merAnaloga 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 merEtt 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 merTenta 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 merDigital 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 merTentamen 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 merLaboration 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 merDT1120/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 merElektronik 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 merLiTH 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 merElektroteknik 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 merDigitalteknik 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 merTentamen 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 merIntroduktion 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 merKonstruktion 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 merVHDL 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