Frequenz, Amplitude und Phase eines Sinussignals bestimmen

OP #3890053
Lesenswert?
• ▲
▼
Liebe Freunde der gehobenen Signalverarbeitung,

immer mal wieder möchte/muss man Frequenz, Amplitude und Phase eines 
Sinussignals aus Abtastwerten bestimmen. Ich habe ein Matlab script 
angehängt, das genau dies tut. Ich habe das Verfahren auch schon in dem 
einen oder anderen post empfohlen.

Das Hauptaugenmerk liegt dabei auf der Frequenzbestimmung. Wenn man die 
Frequenz schon von vorneherein kennt gibt es besseres, z.B. Goertzel.

Dieses Verfahren bestimmt die Frequenz mit.

Das Verfahren stammt von Prony
http://en.wikipedia.org/wiki/Prony%27s_method
es ist für die Anwendung reduziert auf eine einzige Frequenz. Dann wird 
es recht anschaulich:

Die Differenzengleichung eines ungedämpften diskreten Systems lautet
sig(n+1)=2*cos(w)*sig(n)-sig(n-1);
Das ist eine lineare Gleichung in den Abtastwerten für den Term 
2*cos(w). Die löse ich mit linearer Regression für das überbestimmte 
Gleichungssystem.

Die herangezogenen Abtastwerte müssen nahe bei Nyquist/Halbe liegen, 
i.e. bei 4 Abtastungen pro Welle, sonst wird die Numerik zu schlecht. 
Das ist in dem script duch die FFT berücksichtigt, die zunächst die 
ungefähre Frequenz bestimmt.

Ich hoffe, das das script vielen nützlich ist, gerne feedback.

math rulez!
Cheers
Detlef
Angehängte Dateien:
#4747183
Lesenswert?
• ▲
▼
Hallo Detlef,

das sieht sehr interessant aus. Deine vereinfachte Formel sieht schon 
fast minimalistisch aus! Mich würde interessieren, wie du zu der Formel 
genau gekommen bist. Ist der Weg und die Erklärung in einer Lektüre zu 
finden oder hast du das händisch gemacht?

Antwort schreiben

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.

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.