Friday, 18 August 2017

Glidande Medelvärde Filter Xilinx


Jag har en fråga relaterad till kontinuerlig medelvärde av ADC-värden. Tillvägagångssättet som jag använde är kontinuerlig medelvärde av exempel 256 prover. Adcaout-värdet som visas i koden nedan som jag får på mina GUI-inkrementer långsamt. Exempelvis, om jag förväntar mig värde 100mA, Min GUI visar 4mA, 8mA, 15mA och sedan äntligen efter 2 minuter får jag ett stabilt 100mA-värde Jag vill se 100mA direkt på min GUI från adcaout istället för stegvärden och stabilisera efter en gång En annan fråga är det, kan jag på något sätt göra denna process Snabbt så att jag inte behöver vänta i 3 minuter för att få stabil 100 mA från adcaout Klockan clk i den digitala designen nedan är 20 MHz Klockan för att ta emot ADC-värden på FPGA-kortet är 15 KHz. Filen är under . Din kod ändras enligt följande. Den slutliga utmatningen som jag tittar på min GUI är slvvalue1 och slvvalue2.How om detta vid återställning eller när som helst om du vill, tilldela datainvärdet till alla element i din scenmatris. Detta borde Omedelbart inställd Ditt medelvärde till det aktuella värdet. Exemplet nedan visar hela koden för en glidande medelräknare. Mitt förslag är att du studerar det tills du förstår det. Försök sedan använda det i din design. Slutligen och först efter att du har en grundläggande krets som fungerar , kan du ändra det för att tillfredsställa dina konstruktionsbegränsningar databredd, antal prover, intervall av heltal, användning av signerade vs heltal etc. Finally, om du vill använda ovanstående kod för att hålla två separata medelvärden för två separata signaler, enkelt instansera den genomsnittliga enheten twice. Edit Som jag förstår från dina kommentarer kan du behöva en extra ingång för att ställa in genomsnittsvärdet direkt till det aktuella inmatningsvärdet. I det fallet kan du använda en belastningsinmatning enligt nedan. ansvarig 26 nov 13 kl 15 45.Fast Arithmetic på FPGA Använda Redundant Binär Apparatus. Den redundanta binära representationen RBR har många fördelar jämfört med traditionell binär representation. Denna artikel försöker visa användbarheten av RBR på FPGA. Prestanda och characte Ristik av apparatur för aritmetiska operationer tillägg, subtraktion och multiplikation och omvandlingar mellan två s komplement och RBR utvärderas Ett snabbare omvandlingsschema från RBR till två s komplement och rörligt genomsnittligt FIR-filter visas också. Den redundanta binära representationen RBR är ett numeralsystem som använder fler bitar än vad som behövs för att representera en enda binär siffra, så att de flesta siffrorna har flera representationer. RBR är till skillnad från vanliga binära numeriska system, inklusive två s komplement, som använder en enda bit för varje siffra. Många av RBR s egenskaper skiljer sig från de vanliga binära representationssystem Det viktigaste är att RBR tillåter tillägg utan att använda en typisk bär, men gör bitvis logisk operation långsammare. Vanligtvis har varje bit ett tecken som inte nödvändigtvis är detsamma som tecknet på numret som representeras. När siffrorna har tecken är RBR också en undertecknad - digit representation 1.RBR är ett noteringssystem för platsvärde 2 I RBR är siffror par bitar, det vill säga för kvällen ry-plats RBR använder ett par bitar Värdet representerat av en RBR-siffra kan hittas med hjälp av en översättningstabell. Denna tabell anger det matematiska värdet för varje eventuellt par bitar. Som vid konventionell binär representation är heltalet av en given representation en vikten summan av siffrorna värden Vikten börjar vid 1 för den högsta positionen och går upp med en faktor 2 för varje nästa position Vanligtvis tillåter RBR negativa värden Det finns ingen enkel teckenbit som berättar om ett RBR-representativt tal är positivt eller negativa De flesta heltal har flera möjliga representationer i ett RBR. Ett heltal kan omvandlas tillbaka från RBR med följande formel, där n är antalet siffror och dk är det tolkade värdet av k-t-siffran, där k börjar vid 0 i den högra positionen. Notering används. Följande redundanta binära representation används i den här artikeln. Tabell 1 Exempel på redundant binär översättningstabell. Denna notering har fördelar som inte hittas i andra re Dundant binär representation Det är möjligt att enkelt hitta tillsatsen invers av ett värde genom att vända alla bitar av det representerade värdet med NOT-grindar. Det gör det lättare att bygga adder-subtraheringsenheten 8.Addition Unit. Addition i redundant binär representation kan göras i konstant tid i motsats till addition i två s komplementnotation Detta kan förklaras av det faktum att bären måste sprida sig genom hela tillsatsens bredd Detta betyder inte att tillägget alltid är snabbare i RBR än det är två s komplementrepresentation, men att tillägget så småningom kommer att bli snabbare i RBR med ökande bitbredd eftersom de två s-komplementadditionsenhetens fördröjning är proportionell mot log n där n är bitbredden 3.Resultat Xilinx. Med tanke på är det intressant att jämföra prestanda av typisk binär adder enhet och redundant binär adder enhet med tanke på deras bitbredd Följande resultat har erhållits genom att använda Altera och Xilinx platform. F Igur 2 Kombinatorisk fördröjning för redundant binär adder på Xilinx Virtex 5.Table 2 Redundant binär adderfördröjning på Xilinx-plattformar. Dessa resultat visar att redundant binär representation blir snabbare än två s komplementrepresentation på Xilinx-plattformen när operanderna blir större än 32 bitar. hörnstenen i aritmetiska verksamheter kan det förväntas att ett liknande resultat kommer att erhållas för andra aritmetiska operationer. Det kommer dock att kosta att använda ungefär dubbelt så mycket LUT-resurs. Resultaten Altera. Figuration 3 Kombinatorisk fördröjning för redundant binär adder på Altera Stratix III. EP3SE80F1152C2 Två komplement. Tabell 3 Kombinatorisk fördröjning för redundant binär adder på Altera Stratix III. Förändring av RBR adderenhet är mycket bättre på Altera-plattformen. RBR-adderaren är alltid snabbare än den vanliga två-komplementadderaren. Detta kan förklaras av det faktum att Stratix III FPGA-arkitekturen är mycket bättre vid sju ingångar till en utgångskombinatorisk funktion 4. Subtraktion Unit. The subtraktion är densamma som tillsatsen förutom att tillsatsen invers av en operand måste hittas väsentligen är subtraktionen tillägget av en operand till tillsatsen invers av den andra operand. Using den använda notationen I denna artikel kan tillsatsen invers av ett värde lätt hittas genom att invertera varje bit av en operand. Multiplication Unit. Multiplikationsenheten som utvärderas här är gjord av många adder-enheter arrangerade i ett träd. Multiplikationsenheten är inte pipelined men det kan lätt vara För det första beräknas partialer genom att multiplicera varje siffra i en operand med varje siffra i den andra operanden med vanlig aritmetisk 5.Table 5 Kombinatorisk fördröjning i multiplikationsenhet på Xilinx Virtex 5. Fördröjningen i multiplikatorns enhet, som framgår av Figur 4 och Tabell 5 Är proportionell mot loggen n där n är operandens bitbredd Detta är en inneboende egenskap hos adderträdet som används vid utformningen av multiplikatorn. Prestanda för en R BR multiplikationsenheten börjar bli intressant när multiplikationsenheten har en bitbredd som är större än 32 bit. När så är fallet blir fördröjningen av multiplikatorn mindre än fördröjningen av den specialiserade multiplikatorns krets av Xilinx FPGA. Den kommer dock till en betydande kostnad Av LUT-tabell 6 Dessutom kan denna design lätt pipelineras vilket leder till en signifikant minskning av fördröjning. Exempelvis kan en 64 bitars RBR-multiplikator-enhet implementeras som en 6-stegs pipeline genom att lägga D-flip-flop mellan varje nivå av adderträet Utnyttjar mer av FPGA-resurserna Med tanke på detta förväntas frekvensen vara sex gånger högre. Denna design skulle vara intressant för en processor som endast skulle använda den överflödiga binära representationen. xc5vlx85-3ff676 Redundant Antal LUT. xc4vlx80-12ff1148 Redundant Antal LUT. Table 6 Resurser som används av RBR multiplikator på Xilinx Virtex. Results Alter. Denna multiplikationsenhet fungerar inte bra jämfört med den inbyggda multiplikationsenheten på Altera-plattformen Detta var att förvänta sig eftersom Stratix III FPGA har hårddiskad dedikerad multiplikationsenhet med inbyggt stöd upp 36 bitar 6.Figure 5 Fördröjning i Altera-multiplikationsenhet. EP3SE80F1152C2 Två s Komplement. Tabell 7 Fördröjning i Altera-multipliceringsenhet. Redundant binärt till binärt Omvandlaren. Omvandlaren som presenteras här använder Xilinx och Altera specialbearbetningskrets för att påskynda redundant binär till binär konvertering. Grundsidan är att konvertera det redundanta binära numret till två två s komplementnummer som sedan kan läggas till med två kompletterande adderare 7 Gör det möjligt att använda FPGA-resurserna mer effektivt och är mestadels snabbare än en vanlig redundant binär till binär omvandlare med hjälp av en sekventiell adder. X som är ett redundant binärt tal, det är möjligt att konvertera det till 2 två komplementnummer. Dessa 3 nummer måste läggas till med hjälp av standard två s komplementadderare En enda adder behövs eftersom 1 kan läggas till som bär in Således är den specialiserade annonsen Der-kretsen i FPGA kan användas för att göra omvandlingen från RBR till binär representation. Figur 6 Fördröjning i RBR till två s komplementomvandlingsenhet på Xilinx-plattformen. Tabel 9 Resurser som används av RBR till binäromvandlare på Xilinx-plattformen. Specialiserade adderbaserade omvandlare närvarande , för operander upp till 128 bitar, de bästa prestandorna när det gäller hastighet och resurser som används. FIR-filterrörande medel. FIR-filter används i en mängd olika kommunikationsapplikationer. FIR-filter kan representeras som en serie av aritmetisk operation, eftersom bättre aritmetisk hastighet kan uppnås med RBR på FPGA, förväntas en ökning i FIR-filterhastigheten. Det FIR-filter som studeras här är det rörliga genomsnittet. Utmatningen är summan av de n sista ingångarna som implementeras som en cirkulär buffert. Under varje cykel läses ett värde och nytt ingångsvärde skrivs i huvudet på den cirkulära bufferten. Det glidande medelfiltret kan också uttryckas rekursivt på följande sätt. Det sista värdet lagras i ett register så att det kan b E beräknad med hjälp av ovanstående formel under nästa cykel Under varje cykel måste vi lägga till och subtrahera till En additionenhet och en subtraheringsenhet används för att beräkna nästa värde av. Figur 8 Maximal fördröjning av glidande medelfilter på Xilinx-plattformen. Tabell 11 Maximal fördröjning av glidande medelfilter på Altera EP3SE80F1152C2. Resultatet av den redundanta binära enheten är enastående. Xilinx 5-plattformen utför i synnerhet nästan stabil tid med hjälp av redundant binärt. Resultatet som visas ovan visar att redundant binär representation är användbar för att påskynda Aritmetisk operation även på FPGA Addition, subtraktion och multiplikation har visat sig vara snabbare när RBR används, men en gång bara för bitbredd på 64 bitar och högre. Denna hastighet kommer emellertid till en kostnad som ofta är acceptabel med tanke på den tidskritiska karaktären hos digitalt filter Det är också tolerabelt att använda RBR i endast en delmängd av en stor krets med tanke på att RBR till två s komplementomvandling är relativt snabb wh En gjort korrekt. Ytterligare studie om större krets med hjälp av RBR skulle vara intressant. Enkel plats och ruttoperation förväntas på grund av den symmetriska karaktären hos RBR-apparat. Källkod. Jag släpper här källkoden under GPL. Du kan ladda ner den här. Källan är I VHDL är ett glidande medelfilter är en RBR-adder är en RBR-adder-substraktor är en RBR-multiplikator är RBR till två s-komplementomvandlaren är ett två-komplement till RBR-omvandlaren. Works cited.1 Panami, Behrooz Generalized Signed-Number Number Systems A Unifying Framework for Redundant Number Representations IEEE TRANSACTIONS ON COMPUTERS, VOL 39, NO 1 sid 89-98 2 Wikipedia Positional Notation Online citerad 18 augusti 2008 3 Pai, Yu-Ting och Chen, Yu-Kumg Den snabbaste bära lookahead adder Elektronisk design, Test och tillämpningar Andra IEEE International Workshop, 2004 4 Altera Stratix II 8-Input Fractureable LUT på ALM Altera-webbplatsen Online Cited 20 augusti 2008 5 Guoping Wang, Murad Ozaydin, Monte Tull High Performance divider Användning av redundant binär representation IEEE 2002 6 DSP-systemdesign i Stratix III-enheter Altera Online Cited 6 oktober 2008 7 Iljoo Choo, RG Deshmukh Ett nytt konverteringsschema från ett redundant binärt tal till två s kompletterande binärt antal för parallellarkitektur IEEE 2001 8 Systematisk design av Pipelined Recursive Filters Lapointe, Marcel, Huynh, Huu Tue och Fortier, Paul sl IEEE TRANSACTIONS ON COMPUTERS, 1993.Share This Page. DSP Primer med ISE. Professors som är nya att använda FPGAs och vill förstå detaljerna i genomförandet Av höghastighets DSP digital kommunikation med hjälp av FPGAs. Basic DSP-principer sampling, kvantitativ, tidsfrekvensdomän. Kännedom om att använda DSP-simuleringsprogramvara och eller hårdvaruimplementeringar. Medvetenhet om digital kommunikation och moderna DSP-applikationer med hög hastighet och problem. Skills Gained. After att ha genomfört detta workshop, du kommer att kunna. Förstå grunden för fast punkt ordlängder och relaterade problem. Känn hur man fortsätter Roll och hantera avrundning, trunkering, wrap-around och mättnadsräkning på FPGAs. Understand de många aritmetiska implementeringsmöjligheterna för multiplicera och andra operations. Know hur man konstruerar och arbetar med Coordinate Rotation Digital Computer CORDIC-mönster för trigonometriska beräkningar. Känn funktionerna och arkitekturer av DSP48x-skivorna av Virtex och Spartan FPGA. Känn hur du använder Xilinx System Generator Simulink-programvaran för DSP design. Kör att köra det fullständiga ISE-mjukvaruproduktflödet för DSP-system och exempel. Implementera realtids DSP-exempel på FPGA-kort med hjälp av ljudingångs-utdata-codecs. Understå skälen till och metoder för att implementera höghastighets Cascaded Integrator-Comb CIC-filter. Känn metoderna för implementering av numeriskt styrda oscillatorer NCOs. Be kunna bygga en QAM-transceiver med olika kärna FPGA-komponenter. Förstå hur man ställer in faslåsade slingor PLL och tidiga sena grindar för synkronisering. Förstå användningen av QR-algoritmen för Minsta kvadrater och adaptiv algoritm implementation. Course Overview. DSP för FPGA history. Lab 1 Använda System Generator, ISE och ChipScope Tools. Use Xilinx System Generator i Mathworks Simulink miljö för att genomföra enkla DSP multiplicera lägga fördröjningskretsar och sedan syntetisera, placera och Rutt och inspektera planlösningen av några enkla konstruktioner ChipScope kommer att användas med ett exempel som körs på FPGA-board. Arithmetic och CORDIC implementations. Lab 2 Multipliers, Adders, Dividers och CORDICs. Consider de många sätten att implementera en multiplikator DSP48, konstant koefficient , distribueras, skiftas och läggs till, etc., och tittar också på divider-mönster och CORDIC-implementeringar för beräkning av sinus, cosinus, magnitud och andra trigonometriska beräkningar. Digitala filter på FPGAs. Filtrering och pipelining Methods. Lab 3 Digital filterdesign och implementering . Se på filterdesign parallellt och seriemässigt, samt olika tekniker och metoder för pipelining, multichannel f Ilter-implementering och implementerar i allmänhet effektiva och billigt filter med särskild hänvisning till decimerings - och interpoleringsfilter. Ljudexempel kommer att innehålla brusfiltrering med hjälp av FPGA board. CIC och Moving Average Filters. LAB 4 CIC Filter Implementation. Implement CIC-filterkedjor för att förstå frågor om ordlängdstillväxt, decimering nedprovtagning, droppkorrigering och applikationer vid radiosändarändare sändare och mottagare Genomför även filterupptagningskedjor med CIC, lågpass, halvband och andra effektiva filterimplementeringar. Numeriskt styrda oscillatorer NCOs. NCO-mottagarsynkronisering. Lab 5 Oscillator Design och Implementation. Implementation av numeriskt styrda oscillatorer med hjälp av uppslagstabellmetoder och inställning av lämpliga Spurious Free Dynamic Range SFDR och frekvensnoggrannigheter Överväga även Xilinx-kärnor för NCOs eller Direct Digital Synthesis DDS och även med CORDIC-baserade oscillatorer och marginellt stabila IIR-oscillatorer Quadrature Amplitude Modulator QAM Tx och Rx. Lab 6 QAM Transceiver Design. En kvadratur modulator sändare och mottagare kommer att implementeras för att modulera data till en IF-bärare runt 3MHz, sedan ta emot med en kvadratur mottagare implementering Detta labb kommer att integrera implementeringen av NCOs, standard digitala filter, CICs, synkroniserare i en enda design. Adaptiv signalbehandling, minst kvadrater och QR. Lab 7 QR-algoritmimplementering. En 5x5-matrix QR-algoritm kommer att implementeras för minsta kvadrater, linjära systemlösare och generella adaptiva DSP-implementeringar. En demonstration Av att använda QR för systemidentifiering kommer att ställas in i labbet, och en fullständig CORDIC-baserad design som syntetiseras och placeras och dirigeras kommer att slutföras. Detta representerar ett högt värde, högkomplexitetsimplementation. Quick Links.

No comments:

Post a Comment