FFT mit FPGA auf Compact Rio - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Module (/Forum-LabVIEW-Module) +---- Forum: LabVIEW FPGA (/Forum-LabVIEW-FPGA) +---- Thema: FFT mit FPGA auf Compact Rio (/Thread-FFT-mit-FPGA-auf-Compact-Rio) |
FFT mit FPGA auf Compact Rio - TobiasMo - 07.09.2011 10:29 Hallo, bezugnehmend auf meine beiden vorherigen Threads: http://www.labviewforum.de/Thread-Datenerfassung-mit-Compactrio-9022-Umwandlung-von-64bit-reell-in-Signalverlauf http://www.labviewforum.de/Thread-Kommunikation-CompactRio-und-Computer in anderen Forenbereichen stelle ich nun hier meine Fragen. Ich würde gerne ein Zeitsignal in den Frequenzbereich transformieren und graphisch darstellen. Dabei sollen Frequenzen bis zu 20 kHz dargestellt werden können. Da ich noch keine Erfahrungen mit FPGA habe, habe ich mich durch zahlreiche Tutorien durchgearbeitet und verschiedenes ausprobiert. Dabei erschien mir folgendes Beispiel als besonders verständlich und geeignet für meine Zwecke: http://zone.ni.com/devzone/cda/tut/p/id/7088 Zu diesem habe ich noch einige Fragen: 1. Im unteren FFT Processing Loop ist links folgende Struktur (rot eingrahmt) zu sehen: [attachment=35715] Was bedeutet diese Struktur? Ich habe dazu leider kein Symbol bei mir gefunden (LV-Version 2010). 2. Datenaufnahme und Visualisierung: Die Daten, die in der unteren Schleife in den DMA to Host geschrieben werden, möchte ich nun auf dem PC visualisieren. Muss ich dazu ein neues VI auf "Mein Computer" erstellen und dieses FIFO mit der Einstellung "Read" dort mit einem Diagramm verbinden? Viele Grüße, Tobias RE: FFT mit FPGA auf Compact Rio - GerdW - 07.09.2011 10:32 Hallo Tobias, 1) Das ist eine FeedbackNode, zu finden bei den "Strukturen"... 2) Host ist das cRIO und nicht "Mein Computer"... Ansonsten: Ja, so in etwa. RE: FFT mit FPGA auf Compact Rio - TobiasMo - 27.09.2011 11:13 Hallo, ich habe leider noch weitere Fragen zu diesem Beispiel. Ich habe es nun compilieren können und es wird auch ausgeführt. das ist ja schon mal ein Fortschritt :-). Nach umlegen des Boolesch-Schalters gehen beide Timed-Out-Lampen sofort an. Ist ja auch logisch, denn so wie ich das verstehe läuft erst der erste FIFO voll, und dann der DMA to Host-FIFO. Da keine Daten aus diesem abgefragt werden stoppt die Schleife. Allerdings komme ich, wenn die beiden voll gelaufen sind nicht mehr per STOPP-Button aus dem Programm raus, sondern muss den Abort-Button oben drücken. Dann erst endet das Programm. [attachment=36152] Ich möchte nun die Daten aus dem DMA to Host-FIFO rauslesen und nachgeschaltet mit dem FFT to Powerspektrum, wie es in der Hilfe steht, weiter bearbeiten. Dazu erstelle ich ein neues VI auf dem Host (dem CRio, in diesem Fall noch unbenannt). Allerdings kann ich den FIFO nicht auf Read stellen. [attachment=36153] 1) Muss ich andere Einstellungen des FIFOs wählen? 2) Können auf dem Host aus einem FIFO überhaupt die Daten gelesen werden? 3) Muss ich die Daten von der FPGA-Schleife anders zum Host schicken? 4) Oder soll die Weiterverarbeitung mit dem FFT to Powerspektrum auch auf dem FPGA laufen? 5) Im unten stehenden Screenshot: Ist das richtig, dass ich dort eine False-Kostante platziert habe? In dem Beispiel ist ein anderes Symbol zu sehen, ein True-Feld neben einem aktivierten False-Feld, und ich dachte, das das in einer früheren LV-Version das Zeichen für eine False-Konstante wäre, da ich dieses Symbol bei meinem LV-2010 nicht gefunden habe. [attachment=36150] Beste Grüße, Tobias RE: FFT mit FPGA auf Compact Rio - TobiasMo - 17.10.2011 14:38 Hallo, da ich das Gefühl hatte, dass ich nach nochmaligem Versuchen mit oben genannten Beispiel nicht mehr weiter komme, und auch weil ich dachte, dass aufgrund mangelnder Antworten ihr dieses Beispiel auch nicht mögt, habe ich ein anderes Beispiel gewählt. Hier ein Link, in welchem Thread dieses schon mal erwähnt wurde: http://www.labviewforum.de/Thread-Funktionsweise-FPGA-FFT-punkt-fuer-punkt?highlight=fft Da ich kein vom Computer simuliertes Signal haben möchte, habe ich die Datenerfassung dahingehend geändert, dass mein Signal zuerst in ein FIFO gespeichert wird, und dann darunter ausgelesen wird. Leider funktioniert es nicht, mit meinem selbst eingelesenen Signal. Ist in meiner Datenerfassung irgendetwas fehlerhaft? Gibt es keinen Standard-Datenerfassungsalgorithmus? Habe schon viel Nachgeschlagen, komme aber auch mit den dort vorgeschlagenen nicht weit. [attachment=36522] Wenn nicht, ist im Host-VI irgend ein Fehler? Habe ich dort zu viel weg gelassen (die Einstellungen vom Frequenzgenerator brauchte ich ja nicht. [attachment=36524][attachment=36523] [attachment=36525] Ich weiß langsam echt nicht mehr weiter, habe das Gefühl, dass es mit meinen selbst eingelesenen Daten nicht soo bald klappen wird. Beste Grüße, Tobias |