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
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.
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
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.
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.
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
Hallo T.H.! Ja, die zeitlichen Abstände zwischen den Samples kenne ich. Gruß Carsten
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.
Einfach mal nach nonuniform sampling DFT googeln, da findet man genug.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.