INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

FFT Express VI - Single Channel Multiple Samples



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

10.07.2021, 13:07 (Dieser Beitrag wurde zuletzt bearbeitet: 10.07.2021 13:30 von Martin.Henz.)
Beitrag #5

Martin.Henz Offline
LVF-Team
LVF-Team

Beiträge: 424
Registriert seit: Jan 2005

2.5.1 bis 20
1992
kA

74363
Deutschland
RE: FFT Express VI - Single Channel Multiple Samples
Hallo bisasam,

es ist schon vollkommen ok, das Ganze erst einmal auf dem Desktop auszuprobieren. So ist dein VI vermutlich auch gedacht. Auf den FPGA zu gehen, wenn die Bedienung der VIs nicht verstanden wurde, macht auch ziemlich wenig Sinn. Da kommen dann auch noch mal ganz andere Dinge dazu. Das FFT VI ist für den FPGA gemacht und muss daher auch entsprechend bedient werden. Dein Beispiel ist davon noch ziemlich weit entfernt Cool

Wenn ich dein VI richtig verstehe, dann willst du erst einmal nur simulierte Messdaten erzeugen und aus denen dann die FFT berechnen. Da es später auf einen FPGA laufen soll, wird das etwas komplizierter - sonst wäre es ja ganz einfach. Aber dabei hast du dich ziemlich "verlaufen". Das geht so nicht Box

Ich habe mal ein etwas anderes Beispiel dafür erstellt.

Das enthält zwei While Schleifen. Die untere While-Schleife simuliert die Datenerfassung. Vom Prinzip her könnte auf diese Art die Datenerfassung in einer single-cycle-timed-loop, also mit voller Taktrate des FPGA, laufen. Natürlich nur, sofern der A/D Wandler das auch kann.
   

Oben erfolgt die Messung des Signals (jeweils ein Sample aus dem Sinusgenerator und ein bisschen Rauschen dazu).
Anschließend (mitte) sammle ich 16 Samples und wenn 16 Samples zusammen gekommen sind, dann werden diese zur Auswertung (FFT) gesendet (also zur oberen While-Schleife). Als Ersatz für einen FPGA FIFO verwende ich einfach eine Queue und der verwendete Sinusgenerator würde auch nicht auf einem FPGA funktionieren - spielt aber erst mal keine Rolle.

Die obere While-Schleife bekommt nun über die Queue (das wäre ein FIFO auf dem FPGA) jeweils 16 Samples. Also genau die Anzahl Samples, welche für die FFT benötigt werden. Sofern das FFT VI am Ausgang "ready for input" den Wert TRUE liefert guckt die obere While Schleife ob neue Daten aus der Messdatenerfassung vorhanden sind. Wenn ja, dann bekommt das FFT VI in der nächsten Iteration der While-Schleife die Daten und der FFT Eingang "input valid" wird auf TRUE gesetzt. Sind keine neuen Daten vorhanden, dann ist "input valid" immer FALSE.
   

Nun darf die FFT also die nächsten 16 Samples berechnen. Bei den aktuellen Einstellungen der FFT dürfte das FFT VI nach etwas 1300 Iterationen die ersten Ergebnisse liefern (output valid = TRUE).
Das FFT VI liefert dann am Ausgang 16 Werte von den 1024 Werten der kompletten FFT Daten. Wo die hin kommen, das steht in "data out indexes". Die Daten von "real data out" und "imaginary data out" müssen also an die richtige Stelle. Da habe ich mir jetzt nicht die Mühe gemacht, das in Anlehnung an eine single-cycle-timed-loop zu programmieren. In einer single-cycle-timed-loop hättest du jetzt 16 Takte Zeit im die 16 Samples richtig zu einzusortieren. Also genau so lange wie die Datenerfassung bei einer single-cycle-timed-loop braucht um dir die nächsten 16 Samples zu liefern.
Wenn alle 1024 Samples (so groß ist die gesamte FFT) vorhanden sind, dann berechnet das VI noch das Spektrum und gibt es auf dem Graph aus. Das würde auf dem FPGA auch nicht funktionieren. Es ist aber der Zeitpunkt um die fertige FFT einer weiteren Verarbeitung zuzuführen.


Angehängte Datei(en)
17.0 .vi  fft_test_01.vi (Größe: 40,08 KB / Downloads: 194)

Martin Henz
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Nachrichten in diesem Thema
RE: FFT Express VI - Single Channel Multiple Samples - Martin.Henz - 10.07.2021 13:07

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  High Throughput Divide in Single Cycle Timed Loop Krimo 3 6.127 18.07.2019 12:08
Letzter Beitrag: jg
  Fifo zum Host in Single Cycle Timed Loop liefert unerwartete Daten RobertR 2 6.592 12.01.2012 21:54
Letzter Beitrag: RobertR
  FPGA project with multiple targets dlambert 2 5.179 22.06.2009 10:46
Letzter Beitrag: dlambert
  Case Struktur in Single Cycle Timed Loop ro.hau 2 6.238 28.01.2009 08:34
Letzter Beitrag: ro.hau

Gehe zu: