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 

Dieses Thema hat akzeptierte Lösungen:

Fouriertransformation von Signalverlauf



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!

28.06.2021, 10:05
Beitrag #1

DavidStefan Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: May 2021

2013
2019
DE



Fouriertransformation von Signalverlauf
Hallo,
In meinem momentanen Projekt muss eine erzeugte Funktion unter anderem Fourier-transformiert und anschließend dargestellt werden.
Damit man sich das nicht nur vorstellen muss, habe ich die entsprechende LabVIEW-Datei angehangen.
Der Graph oben Links stellt die erzeugte Funktion da, während er Graph direkt darunter sein Frequenzspektrum zeigen sollte.
Dies klappt bisher aber nur bei der Erzeugung eines "Raised-Cosine" -Impulses. Wenn ich einen Sinc()-Impuls erzeuge, bleibt der Graph für das Frequenzspektrum leer. Neben der momentanen Variante das Spektrum zu erzeugen, habe ich noch viele andere Varianten ausprobiert. Alle führen zu dem selben Ergebnis: Der Sinc()-Impuls bleibt ohne Frequenzspektrum.
Deshalb meine Frage: Übersehe ich etwas offensichtliches, was eine Umsetzung erschwert? Gehe ich die Erzeugung des Frequenzspektrum vllt. komplett Falsch an?
Eventuell hat ja jemand eine Idee und könnte mir weiter helfen Smile

Mit freundlichen Grüßen,
David


Angehängte Datei(en)
13.0 .vi  Ultraschallmessaufbau_Erzeugung+Erfassung.vi (Größe: 142,95 KB / Downloads: 211)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.06.2021, 10:37 (Dieser Beitrag wurde zuletzt bearbeitet: 28.06.2021 10:42 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.470
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Fouriertransformation von Signalverlauf

Akzeptierte Lösung

Hallo David,

Zitat:Gehe ich die Erzeugung des Frequenzspektrum vllt. komplett Falsch an?
Nein.

Zitat:Wenn ich einen Sinc()-Impuls erzeuge, bleibt der Graph für das Frequenzspektrum leer. Neben der momentanen Variante das Spektrum zu erzeugen, habe ich noch viele andere Varianten ausprobiert. Alle führen zu dem selben Ergebnis: Der Sinc()-Impuls bleibt ohne Frequenzspektrum.
Deshalb meine Frage: Übersehe ich etwas offensichtliches, was eine Umsetzung erschwert?
Antwort: Ja!

Hast du mal etwas Debugging betrieben?
Meine Vorgehensweise sah so aus:
1. Gibt die FFT-Funktion einen Fehler aus? Nein, das macht sie nicht…
2. Gibt die FFT-Funktion "gültige" Daten aus? Ja, das macht sie! Dummerweise besteht dein FFT-Plot nur aus NaN-Werten! Warum wohl?
3. Enthalten deine "Sampledaten" evtl. ungültige Werte (aka NaN)? Ja! Dummerweise ist wohl deine Sinc-Berechnung irgendwo fehlerhaft!
4. Wo genau wird wohl eine Funktion der Form "sin(x)/x" fehlerhaft sein? Könnte das evtl. bei x=0 zu undefinierten Resultaten führen?
5. Hast du diesen Fehlerfall abgefangen? Nein…

Schau mal hier:
   
Achte auf den zusätzlichen Array-Indicator nur fürs Debugging!

Beachte bittte auch die anderen subtilen Änderungen:
- Warum 3 Cases in einer Case-Struktur, die alle 3 exakt das gleiche machen (abgesehen von der vorher berechneten numerischen Konstante)?
- Numerische Werte mit "sehr vielen Nullen" sollte man im SI-Format anzeigen lassen: der Wert ist viel einfacher erfassbar (und weniger fehleranfällig)…
- Warum ein ExpressVI für die FFT, wenn es auch "normale" gibt?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.06.2021, 10:57
Beitrag #3

DavidStefan Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: May 2021

2013
2019
DE



RE: Fouriertransformation von Signalverlauf
Hallo,
Vielen Dank für die schnelle und gute Antwort.
Ich habe zwar ein bisschen in Debugging versucht, aber ich habe einfach nicht daran gedacht, dass ein NaN-Wert die FFT-Berechnung durcheinander bringt.

Ich mache es jetzt so, dass der entsprechende Wert bei jeder Erzeugung durch den Wert der Amplitude ersetzt wird. Das sollte vond er Genauigkeit her für meine Zwecke ausreichen.
Dankeschön Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Fouriertransformation eines Signals (z.B. Sinus) Y-P 3 14.036 21.09.2007 09:06
Letzter Beitrag: ToxicCobra

Gehe zu: