mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP DFT mit nicht-periodischer Abtastung


Autor: Carsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Maximilian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Carsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Maximilian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Maximilian (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Carsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Chapmy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alternative zum Interpolieren: Lomb-Algorithmus
http://www.nrbook.com/a/bookcpdf.php Kapitel 13.8

Autor: T. H. (pumpkin) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sind die zeitlichen Abstände zwischen den Samples bekannt?

Autor: Carsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo T.H.!

Ja, die zeitlichen Abstände zwischen den Samples kenne ich.

Gruß
Carsten

Autor: T. H. (pumpkin) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

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.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einfach mal nach nonuniform sampling DFT googeln, da findet man genug.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.