Thursday 12 October 2017

Moving Average Filter Xilinx


Ich habe eine Frage im Zusammenhang mit der kontinuierlichen Mittelung der ADC-Werte Der Ansatz, den ich verwendete, ist die kontinuierliche Mittelung von Beispiel 256 Samples Der Adcaout-Wert, der in dem Code angezeigt wird, den ich auf meinem GUI bekomme, erhöht sich langsam Als Beispiel, wenn ich den Wert 100mA erwarte, Meine GUI zeigt 4mA, 8mA, 15mA und dann endlich nach 2 Minuten bekomme ich stabil 100mA Wert Ich möchte die 100mA direkt auf meiner GUI von Adcaout anstelle von Inkrementwerten sehen und stabilisieren nach irgendwann Eine andere Frage ist das, kann ich irgendwie diesen Prozess machen Schnell, so dass ich nicht für 3 Minuten warten muss, um stabile 100 mA von adcaout zu erhalten. Die Uhr clk im digitalen Design unten ist 20 MHz Die Uhr für den Empfang von ADC-Werten auf der FPGA-Karte beträgt 15 KHz .-- Die Datei ist unten . Dein Code wird wie folgt modifiziert. Die endgültige Ausgabe, die ich auf meiner GUI betreibe, ist slvvalue1 und slvvalue2.How über diese bei Reset oder zu jeder anderen Zeit, wenn du willst, ordne den Datain-Wert allen Elementen in deinem Bühnen-Array zu. Dies sollte Sofort legen Sie Ihren Durchschnitt auf den aktuellen Wert. Das folgende Beispiel zeigt den vollständigen Code für einen gleitenden Durchschnitt Taschenrechner Mein Vorschlag ist, dass Sie es studieren, bis Sie es verstehen Dann versuchen, es in Ihrem Design verwenden Endlich, und nur nachdem Sie eine grundlegende haben Schaltung arbeiten, können Sie es ändern, um Ihre Design-Einschränkungen Datenbreite, Anzahl der Proben, Bereich der ganzen Zahlen, die Verwendung von signierten vs Integer etc. zu befriedigen, wenn Sie den obigen Code verwenden möchten, um zwei getrennte Mittelwerte für zwei verschiedene Signale zu halten, Einfach instanziieren Sie die Mittelung Entity zweimal. Edit Wie ich aus Ihren Kommentaren zu verstehen, können Sie eine zusätzliche Eingabe, um den Durchschnitt sofort auf den aktuellen Eingabewert einstellen In diesem Fall können Sie eine Lasteingabe wie unten gezeigt angewendet werden. answered Nov 26 13 at 15 45.Schnelle Arithmetik auf FPGA mit redundantem Binärgerät. Die redundante Binärdarstellung RBR hat viele Vorteile gegenüber der traditionellen Binärdarstellung Dieser Artikel versucht, die Nützlichkeit von RBR auf FPGA zu demonstrieren Die Leistungsfähigkeit und Eigenschaften von Apparaten für arithmetische Operationen Addition, Subtraktion und Multiplikation und Konvertierungen zwischen zwei s Komplement und RBR werden ausgewertet Ein schnelleres Umwandlungsschema von RBR zu zwei s Komplement und gleitender durchschnittlicher FIR Filter werden ebenfalls gezeigt. Die redundante Binärdarstellung RBR ist ein Ziffernsystem, das mehr Bits verwendet als benötigt, um eine einzelne Binärziffer darzustellen Dass die meisten Zahlen mehrere Darstellungen haben RBR ist anders als übliche Binärzahlsysteme, darunter zwei s Komplement, die ein einzelnes Bit für jede Ziffer verwenden Viele von RBR s Eigenschaften unterscheiden sich von denen von regulären binären Repräsentationssystemen Am wichtigsten ist, RBR erlaubt Hinzufügen ohne Verwendung eines typischen Tragen, aber macht bitweise logische Bedienung langsamer Normalerweise hat jedes Bit ein Zeichen, das nicht unbedingt das gleiche wie das Vorzeichen der Zahl ist. Wenn Ziffern Zeichen haben, ist RBR auch eine signierte Zifferndarstellung. 1.RBR ist eine Platzwert-Notation System 2 In RBR sind Ziffern Paare von Bits, dh für jeden Ort RBR verwendet ein Paar Bits Der Wert, der durch eine RBR-Ziffer dargestellt wird, kann mit einer Übersetzungstabelle gefunden werden Diese Tabelle gibt den mathematischen Wert jedes möglichen Bitspaares an. Wie bei der konventionellen Binärdarstellung ist der ganzzahlige Wert einer gegebenen Darstellung eine gewichtete Summe der Werte der Ziffern. Das Gewicht beginnt bei 1 für die am weitesten rechts liegende Position und steigt für jede nächste Position um den Faktor 2 an. Normalerweise erlaubt RBR negative Werte Es gibt kein einzelnes Zeichen-Bit, das anzeigt, ob eine RBR-repräsentierte Zahl positiv oder negativ ist. Die meisten ganzen Zahlen haben mehrere mögliche Darstellungen in einem RBR. Ein ganzzahliger Wert kann von der RBR mit der folgenden Formel umgewandelt werden, wobei n die Ziffernzahl und dk ist Ist der interpretierte Wert der k-ten Ziffer, wobei k bei 0 an der am weitesten rechts liegenden Position beginnt. Notation Used. Die folgende redundante Binärdarstellung wird in diesem Artikel verwendet. Tabelle 1 Beispiel für redundante binäre Übersetzungstabelle. Diese Notation hat Vorteile nicht gefunden In einer anderen redundanten Binärdarstellung Es ist möglich, leicht die additive Umkehrung eines Wertes zu finden, indem man alle Bits des dargestellten Wertes mit NICHT-Gates umklappt. Dies ermöglicht es, die Addierer-Subtrahierer-Einheit leichter zu bauen 8.Addition Unit. Addition in redundanter Binärdarstellung kann durchgeführt werden In konstanter Zeit entgegen der Addition in zwei s Komplement-Notation Dies lässt sich durch die Tatsache erklären, dass sich der Tragegang durch die gesamte Breite der Additionseinheit ausbreiten muss. Dies bedeutet nicht, dass die Addition in RBR immer schneller ist als 2-s-Komplement Repräsentation, aber dass die Addition schließlich in RBR mit zunehmender Bitbreite schneller sein wird, weil die Verzögerung von zwei s Komplement Additionseinheit proportional zu log n ist, wobei n die Bitbreite ist 3.Results Xilinx. Bearing im Verstand, ist es interessant zu vergleichen Die Leistung der typischen binären Addierereinheit und der redundanten binären Addierereinheit unter Berücksichtigung ihrer Bitbreite Die folgenden Ergebnisse wurden durch die Verwendung von Altera und Xilinx-Plattform erhalten. Abbildung 2 Kombinatorische Verzögerung für redundanten binären Addierer auf Xilinx Virtex 5.Table 2 Redundante binäre Addiererverzögerung auf Xilinx Plattformen. Diese Ergebnisse zeigen, dass redundante Binärdarstellung schneller wird als zwei s Komplementdarstellung auf der Xilinx-Plattform, wenn die Operanden größer werden als 32 Bits Addition ist der Eckpfeiler der arithmetischen Operationen, es kann erwartet werden, dass ein ähnliches Ergebnis für andere arithmetische Operationen erhalten wird , Es kommt zu den Kosten der Verwendung von etwa doppelt so viel LUT Ressource. Results Altera. Figure 3 Kombinatorische Verzögerung für redundante binäre Addierer auf Altera Stratix III. EP3SE80F1152C2 Zwei s Komplement. Tabelle 3 Kombinatorische Verzögerung für redundante binäre Addierer auf Altera Stratix III. Performance Der RBR-Addierer-Einheit ist viel besser auf der Altera-Plattform Der RBR-Addierer ist immer schneller als der reguläre Zwei-s-Komplement-Addierer Dies kann durch die Tatsache erklärt werden, dass Stratix III FPGA-Architektur viel besser an sieben Eingängen zu einer Ausgabe kombinatorischen Funktion 4.Substraktion ist Unit. Die Subtraktion ist die gleiche wie die Addition, außer dass die additive inverse von einem der Operanden gefunden werden muss Im Wesentlichen ist die Subtraktion die Addition von einem der Operanden an die additive inverse der anderen Operand. Using die Notation verwendet in Dieser Artikel, die additive Umkehrung eines Wertes, wird leicht durch Invertieren jedes Bits eines Operanden gefunden. Multiplikationseinheit. Die hier ausgewertete Multiplikationseinheit besteht aus vielen in einem Baum angeordneten Addierereinheit. Die Multiplikationseinheit ist nicht pipeliniert, obwohl sie leicht zuerst sein könnte Werden Partials berechnet, indem jede Ziffer eines Operanden mit jeder Ziffer des anderen Operanden mit der üblichen Arithmetik multipliziert wird. 5.Tabelle 5 Kombinatorische Verzögerung in der Multiplikationseinheit auf Xilinx Virtex 5. Die Verzögerung in der Multiplikatoreinheit, wie in Fig. 4 und Tabelle 5 zu sehen ist, ist Proportional zu log n, wobei n die Bitbreite der Operanden ist. Dies ist eine inhärente Eigenschaft des Addiererbaums, der bei der Konstruktion der Multipliziereinheit verwendet wird. Die Leistung einer RBR-Multiplikatoreinheit beginnt interessant zu sein, wenn die Multiplikatoreinheit eine Bitbreite größer hat Als 32 bit Wenn dies der Fall ist, wird die Verzögerung des Multiplikators kleiner als die Verzögerung der spezialisierten Multiplizierschaltung von Xilinx FPGAs. Allerdings kommt es zu einem erheblichen Preis von LUT Tabelle 6. Darüber hinaus könnte diese Konstruktion leicht zu einem Pipeline führen Signifikante Verringerung der Verzögerung Zum Beispiel könnte eine 64-Bit-RBR-Multiplikatoreinheit als eine 6-stufige Pipeline implementiert werden, indem D-Flipflop zwischen jedem Pegel des Addiererbaums hinzugefügt wird, wodurch mehr der FPGA-Ressourcen verwendet werden. Unter Berücksichtigung dieser wird erwartet, dass die Frequenz vorliegt Sechsmal höher Dieser Entwurf wäre für einen Prozessor interessant, der nur die redundante Binärdarstellung verwenden würde. xc5vlx85-3ff676 Redundante Anzahl der LUT. xc4vlx80-12ff1148 Redundante Anzahl der LUT. Table 6 Ressourcen, die von der RBR-Multiplikatoreinheit auf Xilinx Virtex verwendet werden. Results Altera. Diese Multiplikationseinheit funktioniert nicht gut im Vergleich zu der eingebauten Multiplikationseinheit auf der Altera-Plattform. Dies war zu erwarten, da Stratix III FPGA eine dedizierte Multiplikationseinheit mit nativer Unterstützung bis zu 36 Bits verdrahtet hat 6.Figure 5 Verzögerung in Altera Multiplikationseinheit. EP3SE80F1152C2 Zwei s Complement. Table 7 Verzögerung in Altera Multiplikationseinheit. Redundant binär zum Binärwandler. Der hier vorgestellte Konverter verwendet Xilinx und Altera spezialisierte Trageausbreitungsschaltung zur Beschleunigung redundanter binärer Binärumwandlung Die Grundidee besteht darin, die redundante Binärzahl auf zwei zwei umzuwandeln S Komplement-Nummer, die dann mit jedem zwei s Komplement-Addierer 7 hinzugefügt werden kann Dies ermöglicht die effizientere Nutzung der FPGA-Ressourcen und ist die meiste Zeit schneller als ein regulärer redundanter binärer Binär-Konverter unter Verwendung eines sequentiellen Adders. X, der eine redundante Binärzahl ist, Es ist möglich, es in 2 2 s Komplementnummer umzuwandeln. Diese 3 Zahlen müssen mit Standard-2-s-Komplement-Addierer hinzugefügt werden. Ein einziger Addierer wird benötigt, da 1 als Carry hinzugefügt werden kann. So kann die spezialisierte Addierer-Schaltung von FPGAs verwendet werden Um die Umwandlung von RBR in Binärdarstellung zu machen. Bild 6 Verzögerung in RBR auf 2 s Komplementumwandlungseinheit auf Xilinx-Plattform. Tabelle 9 Ressourcen, die von RBR zu Binärkonverter auf Xilinx-Plattform verwendet werden. Spezialisierte Addierer-basierte Konverter vorhanden, für Operanden bis zu 128 Bits , Die besten Leistungen in Bezug auf Geschwindigkeit und Ressourcen verwendet. FIR Filter Moving Average. FIR-Filter werden in einer Vielzahl von Kommunikations-Anwendungen verwendet FIR-Filter kann als eine Reihe von arithmetischen Betrieb dargestellt werden Da eine bessere arithmetische Geschwindigkeit mit RBR auf FPGA erreicht werden kann, Eine Erhöhung der FIR-Filtergeschwindigkeit wird erwartet Der hier untersuchte FIR-Filter ist der gleitende Durchschnitt. Der Ausgang ist die Summe der n letzten Eingänge als Kreispuffer implementiert. Während jedes Zyklus wird ein Wert gelesen und der neue Eingangswert wird an der Kopf des kreisförmigen Puffers Der gleitende Durchschnittsfilter kann auch rekursiv auf folgende Weise ausgedrückt werden. Der letzte Wert wird in einem Register gespeichert, so dass man mit dem obigen Formel während des nächsten Zyklus berechnen kann. Während jedes Zyklus müssen wir addieren und subtrahieren To Eine Additionseinheit und eine Subtraktionseinheit werden verwendet, um den nächsten Wert von zu berechnen. Bild 8 Maximale Verzögerung des gleitenden Durchschnittsfilters auf der Xilinx-Plattform. Tabelle 11 Maximale Verzögerung des gleitenden Durchschnittsfilters auf Altera EP3SE80F1152C2 Das Ergebnis der redundanten Binäreinheit ist hervorragend Vor allem die Xilinx 5-Plattform führt zu nahezu konstanter Zeit mit redundanter Binärdatei durch. Das oben dargestellte Ergebnis zeigt, dass eine redundante Binärdarstellung sinnvoll ist, um die Arithmetikoperation auch bei FPGA zu beschleunigen. Hinzufügen, Subtraktion und Multiplikation wurden schneller angezeigt, wenn RBR verwendet wird , Aber irgendwann nur für Bitbreite von 64 bit und höher Allerdings kommt diese Geschwindigkeit zu einem Preis, der oft akzeptabel ist angesichts der zeitkritischen Natur des digitalen Filters Auch ist es möglich, RBR nur in einer Teilmenge einer großen Schaltung zu bedienen RBR zu zwei s Komplement Umwandlung ist relativ schnell, wenn es richtig gemacht Weitere Studie auf größere Schaltung mit RBR wäre interessant Einfache Ort und Route Betrieb sind aufgrund der symmetrischen Natur der RBR-Geräte. Source Code. I hiermit freigeben diesen Quellcode unter GPL. Sie können es hier herunterladen. Die Quelle ist in VHDL ist ein gleitender Durchschnitt Filter ist ein RBR-Addierer ist ein RBR-Adder-Subtraktor ist ein RBR-Multiplikator ist RBR zu zwei s Komplement-Konverter ist ein Zwei-S-Komplement zu RBR-Konverter. Works zitiert.1 Panami , Behrooz Generalized Signed-Digit Number Systems Ein vereinheitlichendes Framework für redundante Nummernrepräsentationen IEEE TRANSAKTIONEN AUF COMPUTER, VOL 39, NO 1 pp 89-98 2 Wikipedia Positionsnotation Online Zitat august 18, 2008 3 Pai, Yu-Ting und Chen, Yu - Kumg Der schnellste tragende Lookahead-Addierer Elektronischer Entwurf, Test und Anwendungen Zweiter IEEE Internationaler Workshop, 2004 4 Altera Stratix II 8-Input Fracturable LUT in der ALM Altera Website Online Zitiert 20. August 2008 5 Guoping Wang, Murad Ozaydin, Monte Tull Hohe Leistung Teiler mit redundanter Binärdarstellung IEEE 2002 6 DSP-Systemdesign in Stratix-III-Geräten Altera Online zitiert am 6. Oktober 2008 7 Iljoo Choo, RG Deshmukh Ein neuartiges Konvertierungsschema von einer redundanten Binärzahl bis zu zwei s Komplement Binärzahl für Parallelarchitektur IEEE 2001 8 Systematisch Design von Pipelined Recursive Filters Lapointe, Marcel, Huynh, Huu Tue und Fortier, Paul sl IEEE TRANSAKTIONEN AUF COMPUTER, 1993.Share Diese Page. DSP Primer mit ISE. Professoren, die neu sind, um FPGAs zu verwenden und möchte die Details der Implementierung von Hochgeschwindigkeits-DSP-Digitalkommunikation unter Verwendung von FPGAs. Basic DSP-Prinzipien Sampling, quantitative, Zeit-Frequenz-Domain. Knowledge der Verwendung von DSP-Simulationssoftware und Hardware-Implementierungen. Das Bewusstsein für digitale Kommunikation und moderne Hochgeschwindigkeits-DSP-Anwendungen und issues. Skills Gained. After abgeschlossen Diese Werkstatt, können Sie. Unterstand die Grundlagen der festen Punkt Wort Längen und damit zusammenhängende Fragen. Know, wie zu kontrollieren und mit Rundung, Trunkierung, Wrap-around und Sättigung Arithmetik auf FPGAs. Understand die vielen arithmetischen Implementierung Optionen für Multiplikation Und andere Operationen. Know, wie zu entwerfen und arbeiten mit Coordinate Rotation Digital Computer CORDIC Designs für trigonometrische Berechnungen. Know die Features und Architekturen der DSP48x Scheiben der Virtex und Spartan FPGAs. Know, wie die Xilinx System Generator Simulink Software für DSP-Design verwenden. Be in der Lage, die volle ISE-Software-Design-Flow für DSP-Systeme und Beispiele. Implement Echtzeit-DSP-Beispiele auf der FPGA-Board mit Audio-Eingang Ausgang Codecs. Unterstand die Gründe und Methoden, um High-Speed-Cascaded Integrator-Comb CIC-Filter zu implementieren. Kennen Sie die Methoden für die Implementierung von Numerisch gesteuerten Oszillatoren NCOs. Be in der Lage, ein QAM-Transceiver mit verschiedenen Kern-FPGA-Komponenten zu bauen. Unterstand, wie man Phase-Locked Loops PLLs und frühen Spät-Tore für die Synchronisation. Understand die Verwendung des QR-Algorithmus für mindestens Quadrate und adaptive Algorithmen Implementierung. Course Übersicht. Der DSP für FPGA history. Lab 1 Verwenden von System Generator, ISE und ChipScope Tools. Use Xilinx System Generator in der Mathworks Simulink Umgebung, um einfache DSP Multiplikation hinzufügen Verzögerung Schaltungen und dann synthetisieren, platzieren und Route Und überprüfen Sie den Grundriss von einigen einfachen Designs ChipScope wird mit einem Beispiel auf der FPGA-Platine verwendet werden. Arithmetik und CORDIC implementations. Lab 2 Multiplikatoren, Adder, Divider und CORDICs. Beachten Sie die vielen Möglichkeiten der Implementierung eines Multiplikators DSP48, konstanter Koeffizient, Verteilt, verschiebt und fügt hinzu, usw., und schaut auch auf Teilerentwürfe und CORDIC-Implementierungen für die Berechnung von Sinus-, Kosinus-, Größen - und anderen trigonometrischen Berechnungen. Digital-Filter auf FPGAs. Filter Retiming und Pipelining Methoden. Lab 3 Digital Filter Design und Implementierung. Schauen Sie sich Filter-Entwürfe in Parallel - und Serienform an, und auch verschiedene Techniken und Methoden für Pipelining, Mehrkanal-Filter-Implementierung und generell effiziente und kostengünstige Filter mit besonderem Bezug auf Dezimierungs - und Interpolationsfilter. Audio-Beispiele werden die Rauschfilterung mit der FPGA-Platine beinhalten. CIC und Moving Average Filters. Lab 4 CIC Filter Implementation. Implement CIC Filter Ketten zu verstehen, die Fragen der Wortlänge Wachstum, Dezimierung Down-Sampling, Droop-Korrektur und Anwendungen an Radio-Front-Enden Sender und Empfänger Auch Filter-Filter Ketten mit CICs, Tiefpaß, Halbband und andere effiziente Filter-Implementierungen. Numerisch gesteuerte Oszillatoren NCOs. NCO Receiver Synchronisation. Lab 5 Oszillator Design und Implementierung. Erweiterung von numerisch gesteuerten Oszillatoren mit Look-up-Tabelle Methoden und Einstellung der geeigneten Spurious Free Dynamic Range SFDR und Frequenzgenauigkeiten Betrachten Sie auch Xilinx-Kerne für NCOs oder Direct Digital Synthesis DDS und verwenden Sie auch CORDIC-basierte Oszillatoren und marginal stabile IIR-Oszillatoren. Der Quadratur-Amplitudenmodulator QAM Tx und Rx. Lab 6 QAM Transceiver Design. Ein Quadraturmodulator Sender und Empfänger werden implementiert, um zu modulieren Daten zu einem ZF-Träger um 3MHz, dann empfangen mit einer Quadratur-Empfänger-Implementierung Dieses Labor integriert die Implementierung von NCOs, Standard-Digitalfiltern, CICs, Synchronisatoren in einem einzigen design. Adaptive Signal Processing, Least Squares und der QR. Lab 7 QR Algorithmus Implementierung. Ein 5x5 Matrix-QR-Algorithmus wird für kleinste Quadrate, lineare Systemlöser und allgemeine adaptive DSP-Implementierungen implementiert. Eine Demonstration der Verwendung des QR für die Systemidentifikation wird im Labor eingerichtet und ein vollständiges CORDIC-basiertes Design synthetisiert und platziert Geroutet wird abgeschlossen Dies stellt eine hohe Wert, hohe Komplexität Umsetzung. Quick Links.

No comments:

Post a Comment