Xilinx Moving Average Filter


Ich habe eine Frage im Zusammenhang mit der kontinuierlichen Mittelung der ADCs Wert. Der Ansatz, den ich verwendete, ist die kontinuierliche Mittelung von Beispiel 256 Proben. Der Adcaout-Wert (im Code unten gezeigt), den ich auf meinem GUI bekomme, erhöht sich langsam. Als Beispiel, wenn ich den Wert 100mA erwarte, zeigt meine GUI 4mA, 8mA, 15mA. Und dann endlich nach 2 Minuten bekomme ich stabilen 100mA Wert. Ich möchte die 100mA direkt auf meiner GUI von adcaout anstelle von Inkrementwerten sehen und nach einiger Zeit stabilisieren. Eine andere Frage ist, dass, kann ich irgendwie machen diesen Prozess schnell, so dass ich nicht für 3 Minuten warten, um stabile 100 mA von adcaout erhalten. Die Uhr Clk in der digitalen Design unten ist 20 MHz. Die Uhr für den Empfang von ADC-Werten auf der FPGA-Karte 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 betrachte, ist slvvalue1 und slvvalue2 Wie wäre es mit dem Reset (oder zu einem anderen Zeitpunkt, wenn du willst) Datain-Wert für alle Elemente in euch Bühnen-Array. Dies sollte sofort Ihren Durchschnitt auf den aktuellen Wert einstellen: Das folgende Beispiel zeigt den vollständigen Code für einen gleitenden Durchschnittsrechner. Mein Vorschlag ist, dass Sie es studieren, bis Sie es verstehen. Dann versuchen Sie es in Ihrem Design zu verwenden. Schließlich und erst nachdem du eine grundlegende Schaltung hast, kannst du sie ändern, um deine Design-Einschränkungen zu befriedigen (Datenbreite, Anzahl der Samples, Reichweite von ganzen Zahlen, Verwendung von signierten vs Integer usw.) Endlich, wenn du es gebrauchen willst Der obige Code, um zwei getrennte Mittelwerte für zwei verschiedene Signale zu halten, einfach instanziieren Sie die Mittelungseinheit zweimal: Bearbeiten: Wie ich aus Ihren Kommentaren verstehe, benötigen Sie möglicherweise einen zusätzlichen Eingang, um den Durchschnitt sofort auf den aktuellen Eingabewert einzustellen. In diesem Fall können Sie eine Lasteingabe wie unten gezeigt verwenden: beantwortet 26. November 13 um 15: 45Course Ziel: Theorie, Algorithmen, Designtechniken und tatsächliche Praktiken der Implementierung von DSP-Algorithmen und digitalen Kommunikationsarchitekturen mit FPGA-Technologie zu präsentieren. Kurs Präsentation Style: Dies ist ein intensiver 2-tägiger Kurs, der mit einem umfassenden Satz von Notizen über DSP für FPGAs erziehen wird. Wichtige Punkte werden mit Ableitungen und technischen Details in den Kursnotizen für späteres Selbststudium vorgestellt. Nach jeder Vorlesung werden praktische Laborsitzungen mit Xilinx FPGA Hardware und Software ausgeführt. Die Lieferung erfolgt in 40 Vorlesungen, 20 Demonstrationen und 40 Hands-on Labs mit FPGA Hardware und Software. Wer sollte teilnehmen: Hochschullehrer, die sich für die Verwendung von Xilinx-Geräten für Lehre, Forschung und Entwicklung interessieren. Auch analoge, RF-, Digital-, DSP - oder FPGAASIC-Ingenieure, die daran interessiert sind, die relevanten Designstrategien und Philosophien für die Implementierung von Algorithmen und Anwendungen auf FPGAs zu kennen, können den Kurs vorteilhaft finden. Ein Hintergrund in einigen der Grundlagen von DSP (Probenahme, Quantisierung, Frequenzbereich, digitale Filterung) ist nützlich, aber nicht wesentlich. Kurshinweise, Hardware und Software: Alle Teilnehmer erhalten gedruckte und elektronische Kopien des 8220DSP für FPGAs Primer8221 Notizen. Diese Materialien sind Open Source und stehen für Teilnehmer zur Verfügung, um durch entsprechende Bezugnahme auf Originalquelle wiederzuverwenden. Hochschullehrer und Professoren mit direkter Beteiligung an der Lehre von DSP und FPGA-Design, die an dem Kurs teilnehmen, können die Hard - und Software über die Spende des Xilinx University Program (XUP) erhalten. Lernziele Verstehen Sie die aktuellen und relevanten DSP-Anwendungen für FPGAs Wenn Sie einen FPGA oder einen DSP-Prozessor verwenden - oder beide Arithmetikprobleme - So implementieren Sie Multiplikatoren und fügt - effizient hinzu Die (manchmal ernsthaften) Auswirkungen von Rundungen gegen Trunkierung Umgang mit Überlauf - und Unterlaufszenarien Fortgeschrittene Arithmetik - Wenn wir Quadratwurzeln benötigen, teilt sich und mehr Designtechniken zur Minimierung von Beispielwortlängen Effizientes FIR (Finite Impulse Response) Filterdesign und Implementierung Die Verwendung von IIR (unendliche Impulsantwort) Filter im DSP für FPGA Anwendungen Die Bedeutung von Retiming, Pipelineing Und Mehrkanalfilter Die Kosten und Relevanz von Spezialfiltern wie CIC (Kaskadenintegrationskamm) Filtern Die Anforderungen und Implementierung von adaptiven Filteralgorithmen Die Implementierung von IF Modulations - und Demodulationstechniken Warum und wie man numerisch gesteuerte Oszillatoren (NCOs) implementiert. Techniken für Synchronisationsverstärker Digital Comms Timing Recovery Systemarchitektur und Implementierung von Direct Digital DownConverter (DDC) DSPFPGA Komponenten zur Implementierung eines QAM (Quadrature Amplitude Modulator) Transceivers So effizientes Implementieren von Mehrkanalfiltern für 3G Applikationen Design Strategien zur Implementierung von orthogonalen Frequenzmultiplexen (OFDM) Mit den QR-Algorithmen für adaptive Entzerrung und Strahlformung Implementierung einer FPGA-fähigen physikalischen Schicht für 802.16 DSP für FPGA-Technologie amp Anwendungsbericht 8226 DSP für FPGA-Anwendungen 8226 Wordlens-Probleme - DSP auf Xilinx FPGAs ist nicht nur 16 Bits 8226 Design für Applikations-Sampling bei gt 100MHz 8226 FPGA-Anwendungen Beispiele: 3G, 802.16, cdma2000 8226 FPGAs, DSP-Prozessoren, ASIC - was zu bedienen - wann und wo 8226 Lineare Algebra - Matrizen, Vektoren 8226 Berechnung der Matrix invers und DSP Anforderungen FPGA Technologie 8226 Die Xilinx DSP für FPGA Technologie Roadmap 8226 Taktraten, Datenraten und Abtastraten 8226 Bits, Slices, Konfigurierbare Logikblöcke und Multiplier 8226 MIPs und MACs Leistungsdaten 8226 FPGA Familien und Quellen 8226 Fallstudie - die Virtex 4 und DSP48 Scheiben 8226 Überprüfung eines HDL Design Flow aus Algorithmus zur Implementierung Tools für DSP für FPGA Design 8226 Arbeiten mit Matlab und Simulink 8226 Xilinx System Generator 8226 High Level Design Flow 8211 von Algorithmus zu Simulink zu FPGA 8226 Hardware in der Schleife Arithmetische Grundlagen 8226 2s Komplement Fixpunkt Arithmetik 8226 Adders und Multiplikatoren, und Einbringen. Divisionen und Quadratwurzel 8226 Wordlength-Ausgaben amp Fixpunkt-Arithmetik 8226 Overflowunderflow - und TruncationRounding-Probleme 8226 Komplexe arithmetische (reelle und imaginäre) Anforderungen für DSP 8226 Die Rolle der arithmetischen Approximationsalgorithmen und CORDICs Digital Filtering für FPGAs 8226 Symmetrische Linearphasenfilter - Xilinx effiziente Verstärkeroptimierung 8226 Upsamplinginterpolationsverstärker Downsamplingdecimation 8226 Trade-offs mit Wortlänge, Abtastrate und Filterlängen. 8226 Retiming-Techniken 8226 Cut-Set-Verzögerung für transponierte und systolische FIR-Filter 8226 Halbband, gleitender Durchschnitt, Kammfilter und CIC-Filter 8226 Multichannel-Filterimplementierung 8226 Polyphase-Filterimplementierung Adaptive Filtering für FPGAs 8226 Die Themen aus numerischem Feedback und Umgang mit Sie 8226 Der LMS (mindestens mittlere quadratische) Algorithmus 8226 LMS Implementierung und Anwendung 8226 Der RLS (rekursive kleinste Quadrate) Algorithmus 8226 RLS Implementierung - der QR Algorithmus - klassische lineare Algebra 8226 Numerische Integrität und Stabilität Fragen QAM (Quadratur Amplitude Modulation) Systeme 8226 Die DSP emabled IF Funkarchitektur (Softwareradio) 8226 Aufbau numerisch gesteuerter Oszillatoren (NCOs) 8226 Aufbau von Sende - und Empfangsanpassungs-Digitalfiltern 8226 Carrier Timing Recovery und Symbolsynchronisationstechniken 8226 Konstellationen, Phasenumdrehungen und Testszenarien 8226 Spreizspektrumstrategien und Anforderungen FPGA System Level DSP Anwendungen 8226 A 3G, fs 80MHz, 4 x 5MHz überabgetastete Mehrkanalfilter 8226 Bluetooth kompatibles Direct Digital Downconverter (DDC) Design 8226 Adaptive LMS basierte Entzerrung für drahtgebundene Anwendungen 8226 Adaptiver QR Algorithmus für drahtlose digitale Strahlformung 8226 Design von NCO, FIR-Filter für generische QAM-Sender Universitäts-Fakultät kann die Werkstatt Materialien anfordern, indem sie eine E-Mail an xupxilinxShare Diese Seite DSP-Primer mit ISE-Professoren, die neu sind, um FPGAs und möchten die Details der Implementierung von High-Speed-DSPdigital-Kommunikation mit FPGAs zu verstehen. Grundlegende DSP-Prinzipien (Stichproben, quantitative, Zeitfrequenz-Domänen) Kenntnisse über die Verwendung von DSP-Simulationssoftware und Hardware-Implementierungen Bewusstsein für digitale Kommunikation und moderne Hochgeschwindigkeits-DSP-Anwendungen und - Ausgaben Kompetente Gewinne Nach Abschluss dieses Workshops können Sie die Grundlagen der festen, Punkt-Wort-Längen und verwandte Themen Know-how zu kontrollieren und zu behandeln Rundung, Trunkierung, Wrap-around und Sättigung Arithmetik auf FPGAs Verstehen Sie die vielen arithmetischen Implementierung Optionen (für Multiplikation und andere Operationen) Wissen, wie Design und Arbeit mit Coordinate Rotation Digital Computer (CORDIC) Entwürfe für trigonometrische Berechnungen Kennen Sie die Features und Architekturen der DSP48x Scheiben der Virtex und Spartan FPGAs Erfahren Sie, wie Sie den Xilinx System Generator einsetzen Simulink Software für DSP Design In der Lage, den kompletten ISE Software Design Flow für DSP Systeme und Beispiele laufen zu lassen Implementieren Sie Echtzeit-DSP-Beispiele auf der FPGA-Platine mit Audio-Inputoutput-Codecs Verstehen Sie die Gründe und Methoden zur Implementierung von High-Speed-Cascaded Integrator-Comb (CIC) - Filtern kennen die Methoden zur Implementierung von numerisch gesteuerten Oszillatoren (NCOs) In der Lage sein, ein QAM zu bauen Transceiver mit verschiedenen Core-FPGA-Komponenten Verstehen Sie, wie Sie Phase-Locked Loops (PLLs) und frühen Spät-Gates für die Synchronisation einrichten. Verstehen Sie die Verwendung des QR-Algorithmus für die kleinsten Quadrate und die adaptive Algorithmen-Implementierung Kursübersicht Der DSP für die FPGA-Geschichte Lab 1: System verwenden Generator, ISE - und ChipScope-Tools Verwenden Sie den Xilinx System Generator innerhalb der Mathworks Simulink-Umgebung, um einfache DSP-Multiplyadddelay-Schaltungen zu implementieren und dann den Grundriss einiger einfacher Designs zu synthetisieren, zu platzieren und zu planen. ChipScope wird mit einem Beispiel auf der FPGA-Platine verwendet. Arithmetik und CORDIC-Implementierungen Lab 2: Multiplikatoren, Adder, Divider und CORDICs Betrachten Sie die vielen Möglichkeiten, einen Multiplikator (DSP48, Konstantenkoeffizient, verteilt, verschieben und addieren usw.) zu implementieren, und schaut auch auf Divider-Designs und CORDIC-Implementierungen für die Berechnung Von Sinus, Kosinus, Größe und anderen trigonometrischen Berechnungen. Digitale Filter auf FPGAs Filter Retiming und Pipelining Methoden Lab 3: Digitale Filter Design und Implementierung Schauen Sie sich Filter-Designs in paralleler und serieller Form, und auch verschiedene Techniken und Methoden für Pipelining, Mehrkanal-Filter-Implementierung und in der Regel implementieren effiziente und Low-Cost-Filter mit Besondere Hinweise auf Dezimierungs - und Interpolationsfilter. Audio-Beispiele werden Rauschfilterung mit dem FPGA-Board. CIC und Moving Average Filters Lab 4: CIC Filter Implementierung Implementieren Sie CIC Filterketten, um die Fragen des Wortlängenwachstums, der Dezimierungsabtastung, der Droopenkorrektur und der Anwendungen an den Funkfronten (Sender und Empfänger) zu verstehen. Auch Filter-Filter-Ketten mit CICs, Tiefpass, Halbband und andere effiziente Filter-Implementierungen. Numerisch gesteuerte Oszillatoren (NCOs) NCO Receiver Synchronisation Lab 5: Oszillator Design und Implementierung Implementierung von numerisch gesteuerten Oszillatoren mit Look-Up-Table-Methoden und Einstellung geeigneter 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 Quadratur-Modulator-Sender und - Empfänger werden implementiert, um Daten auf einen ZF-Träger (ca. 3MHz) zu modulieren und dann mit einer Quadratur-Empfänger-Implementierung zu empfangen. Dieses Labor integriert die Implementierung von NCOs, Standard-Digitalfiltern, CICs, Synchronisatoren in einem einzigen Design. Adaptive Signal Processing, Least Squares und das 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. Dies stellt eine hochwertige, hochkomplexe Implementierung dar. Schnelle Links

Comments