www.mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Phasenberechnung bei FFT in Octave


Autor: Daniel -------- (root)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
octave> t=0:0.0001:1;
octave> x=sin(2*pi*100*t)+sin(2*pi*200*t)+sin(2*pi*300*t);
octave> plot(0.0001*abs(fft(x))(1:500))
octave> grid
octave>

erstmal gilt: sin(2*pi*fo*t)   o-o   -j/2(d(f-fo)-d(f+fo))

Das gibt mir das Betrag des Spektrums.
Wie erwartet sehe ich 0.5 an den Frequenzen 100, 200 und 300.
octave> t=0:0.0001:1;
octave> x=sin(2*pi*100*t)+sin(2*pi*200*t)+sin(2*pi*300*t);
octave> plot(angle(fft(x))(1:500))
octave> grid
octave>

Die Phase kann ich aber aus dem Bild nicht deuten.
Ich würde erwarten, dass an den Frequenzen der Wert -pi/2 einnimmt.
Etwa 1.57. Das tut es tatsächlich, aber schon vor 100!
Und geht genau bei 100 zu +pi/2. Ich hätte 0 erwartet.
Irgendwie hänge ich da bei der Interpretation.

Hoffe jemand kann es nachvollziehen.

Grüsse

Autor: Rüdiger Knörig (sleipnir)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Darstellung wird von Dir schon zu recht kritisiert - der Sinus hat 
ja die Fouriertransformierte
Der Phasengang müßte außerhalb des Bereichs der Delta-Impulse entweder 
bei +/-Pi oder 0 liegen, die Gewichtung  des "rechtsseitigen" 
Delta-Impulses wäre -i/2, die Phase also -Pi/2. Tücken der numerischen 
Datenverarbeitung.

Du mußt z.B. darauf achten daß Du ja keinen unendlichen Sinus sondern 
einen zeitbegrenzten Sinus analysierst. Das ist das Produkt der 
Sinusfunktion mit einer Rechteckfunktion. Im Frequenzbereich erhältst Du 
damit die Faltung der Delta-Impulse mit einer si()-Spaltfunktion. Da 
diese das Vorzeichen wechselt müßtest Du auch unererwartete 
Phasensprünge bekommen.

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.