Sunday 29 January 2017

Xilinx Gleitender Mittelfilter

Ich habe eine Frage im Zusammenhang mit kontinuierlichen Mittelung von ADCs Wert. Der Ansatz, den ich verwendete, ist die kontinuierliche Mittelung von Beispiel 256 Proben. Der Adcaout-Wert (angezeigt im Code unten), den ich auf meiner GUI empfange, schritt langsam. Als Beispiel, wenn ich erwarte Wert 100mA, Meine GUI zeigt 4mA, 8mA, 15mA. Und dann endlich nach 2 Minuten bekomme ich einen stabilen 100mA Wert. Ich möchte sehen, die 100mA direkt auf meiner GUI von adcaout statt Inkrement Werte und Stabilisierung nach einiger Zeit. Eine andere Frage ist, dass, kann ich irgendwie machen diesen Prozess schnell, so dass ich nicht für 3 Minuten für den Empfang stabil 100 mA von adcaout warten müssen. Die Clock im digitalen Design unten ist 20 MHz. Die Uhr zum Empfangen der ADC-Werte auf der FPGA-Platine beträgt 15 KHz. - die adc. vhd-Datei ist unten: Ihr Code wird wie folgt geändert: Die endgültige Ausgabe, die ich auf meiner GUI sehe, ist slvvalue1 und slvvalue2 Wie über dieses: am Rücksetzen (oder zu jeder anderen Zeit, wenn Sie wollen), weisen Sie die Datain-Wert für alle Elemente in Ihrem Array. Dies sollte sofort den Durchschnitt auf den aktuellen Wert einstellen: Das folgende Beispiel zeigt den kompletten Code für einen gleitenden Durchschnittsrechner. Mein Vorschlag ist, dass Sie es studieren, bis Sie es verstehen. Dann versuchen Sie es in Ihrem Design verwenden. Schließlich, und nur nachdem Sie eine grundlegende Schaltung arbeiten, können Sie es ändern, um Ihre Design-Einschränkungen (Datenbreite, Anzahl der Proben, Bereich der Ganzzahlen, die Verwendung von signierten vs Integer etc.) Endlich, wenn Sie verwenden möchten Den obigen Code, um zwei separate Mittelwerte für zwei verschiedene Signale zu halten, einfach Instanziieren der Mittelung Einheit zweimal: Edit: Wie ich aus Ihren Kommentaren zu verstehen, müssen Sie möglicherweise eine zusätzliche Eingabe, um den Durchschnitt sofort auf den aktuellen Eingangswert. In diesem Fall können Sie eine Lasteingabe wie unten gezeigt verwenden: beantwortet Nov 26 13 bei 15: 45DSP Primer mit ISE Professoren, die neu für die Verwendung von FPGAs sind und möchte die Details der Umsetzung der High-Speed-DSPdigital-Kommunikation mit FPGAs verstehen. Grundlegende DSP-Prinzipien (Sampling, quantitative, Zeit-Frequenz-Domäne) Kenntnisse über die Verwendung von DSP-Simulations-Software und Hardware-Implementierungen Bewusstsein für digitale Kommunikation und moderne Hochgeschwindigkeits-DSP-Anwendungen und Fragen Fähigkeiten gewonnen Nach Abschluss dieses Workshops werden Sie in der Lage sein: Verstehen Sie die Grundlagen der festen Punkt-Wortlängen und damit zusammenhängende Fragen Know-how zu kontrollieren und mit Rundung, Trunkierung, Wrap-around und Sättigung Arithmetik auf FPGAs Verstehen Sie die vielen arithmetischen Implementierungsoptionen (für Multiplikation und andere Operationen) Know how, Design und Arbeit mit Coordinate Rotation Digital Computer (CORDIC) - Konzepte für trigonometrische Berechnungen Kenntnis der Features und Architekturen der DSP48x-Slices der Virtex - und Spartan-FPGAs Erfahren Sie, wie Sie den Xilinx-Systemgenerator einsetzen. Simulink-Software für DSP-Design In der Lage, den vollständigen Entwurf der ISE-Software für DSP-Systeme und Beispiele durchzuführen Implementieren von Echtzeit-DSP-Beispielen auf der FPGA-Platine mit Audioeingangs-Codecs Verständnis der Gründe und Methoden zur Implementierung von High-Speed-Cascaded-Integrator-Comb - (CIC) - Filtern Kenntnis der Methoden für die Implementierung von Numerisch gesteuerten Oszillatoren (NCOs) Transceiver mit verschiedenen Core-FPGA-Komponenten Verstehen, wie phasenverriegelte Schleifen (PLLs) und frühe späte Tore für die Synchronisation eingerichtet werden Verstehen Sie die Verwendung des QR-Algorithmus für kleinste Quadrate und adaptive Algorithmen Implementierung Kursübersicht Die DSP für FPGA-Geschichte Lab 1: Generator-, ISE - und ChipScope-Tools Verwenden Sie den Xilinx System Generator innerhalb der Mathworks Simulink-Umgebung, um einfache DSP-Mehrfachadddelay-Schaltungen zu implementieren und dann den Grundriss einiger einfacher Designs zu synthetisieren, zu platzieren und zu überprüfen. ChipScope wird mit einem Beispiel auf der FPGA-Platine verwendet. Arithmetische und CORDIC-Implementierungen Lab 2: Multiplikatoren, Addierer, Teiler und CORDICs Betrachten Sie die vielfältigen Möglichkeiten der Implementierung eines Multiplikators (DSP48, konstanter Koeffizient, verteilt, verschoben und addieren usw.) und betrachtet auch Teilerentwürfe und CORDIC-Implementierungen zur Berechnung Von Sinus, Kosinus, Größe und anderen trigonometrischen Berechnungen. Digitale Filter auf FPGAs Filter Retiming - und Pipelining-Methoden Lab 3: Design und Implementierung von Digitalfiltern Sehen Sie sich die Filterkonzepte in Parallel - und Seriellform an und auch verschiedene Techniken und Methoden für die Pipelining-, Multichannelfilter-Implementierung und allgemein die Implementierung effizienter und kostengünstiger Filter Insbesondere auf Dezimierungs - und Interpolationsfilter. Audio-Beispiele werden Rauschfilterung mit der FPGA-Karte. CIC - und Moving-Average-Filter Lab 4: CIC-Filter-Implementierung Implementieren Sie CIC-Filterketten, um die Probleme des Wortlängenwachstums, der Dezimierungsabtastung, der Droop-Korrektur und der Anwendungen an den Radio-Front-Ends (Sender und Empfänger) zu verstehen. Auch implementieren Filter-Empfangs-Ketten mit CICs, Tiefpass, Halbband und andere effiziente Filter-Implementierungen. Numerisch gesteuerte Oszillatoren (NCOs) NCO-Empfängersynchronisation Lab 5: Oszillatorentwurf und Implementierung Implementierung von numerisch gesteuerten Oszillatoren unter Verwendung von Nachschlagtabellenmethoden und Einstellung entsprechender SFDR (Frequency Free Dynamic Range) und Frequenzgenauigkeiten. Betrachten Sie auch Xilinx-Kerne für NCOs oder Direct Digital Synthesis (DDS) und auch mit CORDIC-basierten Oszillatoren und marginell stabilen IIR-Oszillatoren. Der Quadraturamplitudenmodulator (QAM) Tx und Rx Lab 6: QAM-Transceiver-Design Ein Quadraturmodulator-Sender und - Empfänger wird implementiert, um Daten auf einen ZF-Träger (etwa 3 MHz) zu modulieren und dann unter Verwendung einer Quadratur-Empfänger-Implementierung zu empfangen. Dieses Labor integriert die Implementierung von NCOs, Standard-Digitalfiltern, CICs, Synchronisierern in einem einzigen Design. Adaptive Signal Processing, Least Squares und QR Lab 7: QR-Algorithmus-Implementierung Ein 5x5 (Matrix) QR-Algorithmus wird implementiert (für kleinste Quadrate, lineare Systemlöser und allgemeine adaptive DSP-Implementierungen). Eine Demonstration der Verwendung des QR für die Systemidentifikation wird im Labor eingerichtet, und ein vollständiges CORDIC-basiertes Design, das synthetisiert und platziert und geroutet wird, wird abgeschlossen sein. Dies stellt eine hohe Komplexität bei hoher Komplexität dar. Schnellzugriff


No comments:

Post a Comment