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?