DFT mit nicht-periodischer Abtastung

Gast #965268
Hallo zusammen!

Ich arbeite zur Zeit an einem Programm, mit dem ich aus der Lösung einer 
CFD-Rechnung Rückschlüsse auf die akustischen Effekte in der Strömung 
ziehen kann. Ausgehend von diskreten Messwerten möchte ich zur 
spektralen Analyse meines "Signals" DFT einsetzen.

Das Problem besteht nun darin, dass die Messwerte nicht gleichförmig 
über die Zeit verteilt sind. Es liegt also in dem Sinne keine 
periodische Abtastung vor.

Meine Frage: Kennt jemand Literaturstellen, die sich mit dieser 
Problematik befassen? Oder gibts da evtl. eine ganz einfache Lösung, in 
dem man zwischen den Messwerten z. B. linear interpoliert und dieses 
"Signal" dann wiederum periodisch abtastet?

Es sei dazu gesagt, dass ich kein Eletroniker bin, sondern nur Luft- und 
Raumfahrttechnik studiert habe.

Vielen Dank für die Hilfe
Carsten
Gast #965288
Ich würde das Siganl durch eine lineare Interpolation herstellen und 
danach die fft durchführen.
Falls aber eine Regelmäßigkeit vorliegt, z.B. eine immer schneller 
werdende Abtastung kann man vieleicht etwas schlaueres machen.
Gast #965297
Vielen Dank für deine schnelle Antwort Maximilian.

Bzgl. der Regelmäßigkeit kann ich nur sagen, dass die in keinster Weise 
vorliegt.

Wenn ich linear interpoliere, bekomm ich zwangsläufig einen Fehler in 
meinem Spektrum. Gibts da Möglichgeiten diesen abzuschätzen?

Gruß
Carsten
Gast #965325
Die Aussage " in keinster Weise " macht eine fehlerabschätzung schon 
sehr schwierig.

Aber stelle dir einen Sinus vor, der 100 mal abgetastet ist.

Falls Du jeden zweiten Wert nicht als Originalwert einsetzt, sondern 
einen interpolierten Wert, wird die Grundschwingung praktisch gleich 
auftreten und eine 50 mal höhere Frequenz als Störung zu sehen sein.
Gast #965383
Vielleicht noch zue Ergänzung.

Im Bild:
Ein labVIEW-Programm.

Sinus mit 100 Punkten
Interpolation jeden 2. Wertes
FFT
Ausgabe der Frequenz - Auchtung y-Skala ist "log"

Bewertung:
Es treten sehr gringe Störungen auf, da die fehlenden Punkte unter weit 
unter der Periodendauer vom Sinus sind.

Vielleicht findet jeman einen Gefallen an der einfachen Art wie
man in LabVIEW programmiert.
Angehängte Dateien:
Gast #965398
Vielen Dank Maximilian!!

Echt super so schnelle und aussagekräftige Anworten. Normalerweise würd 
ich sowas auch in LabVIEW machen, aber leider muss es diesesmal komplett 
auf einer Unix Konsole laufen.

Wenn mein Programm das tut was es soll, werd ich mich nochmal melden.

Gruß
Carsten
Persönliche Seite #966427
Ich würde dann sinusoidale Regression versuchen. Oder man betrachtet das 
Signal als lückenhaft und verwendet (G)APES (Gapped-Data Amplitude and 
Phase Estimation) um die Lücken "aufzufüllen":

  http://www.iop.org/EJ/article/1538-3881/120/4/2163/200187.web.pdf

Funktioniert sehr ordentlich, ist aber iterativ und somit 
vergleichsweise rechenaufwändig.

Keine Ahnung ob das nicht auch wesentlich eleganter geht mittels einer 
DFT die auf ungleichmäßig gesampelte Signale angewendet werden kann - 
gehört habe ich davon noch nie.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.