IFFT

#418778
Die FFT eines rein reellen Signals liefert Dir ein Spektrum, das
konjugiert komplex ist. Wenn Du ein beliebiges bekomms Du kein rein
reelles Signal. Natürlich kanns Du den Imaginärteil wegschmeissen, das
Spektrum dieses reellen Signals ist allerdings nicht Dein
ursprüngliches.

Also, in der Verarbeitungsfolge:

X(f)->IFFT->x(t)->Imag(x(t))=0->FFT->Y(f)

sind die Spektren Y(f) und X(f) ungleich.

Cheers
Detlef
Gast #418780
Vor meiner IFFT setze ich in dem  Reellen Spektrumanteil  z.B. den
2.Wert auf 10000 alles andere  auf Null. Imaginäre Anteile alle auf
Null. Nach der IFFT habe ich im Real Teil eine vollständige Cos.
Schwingung und im imag. Teil eine vollst Sin. Schwingung.
Das letztere dürfte da doch aber nicht drinnstehen Oder?
Mfg Andreas
#418781
>>Das letztere dürfte da doch aber nicht drinnstehen Oder?<<
So ist es. Dein Spektrum ist ja auch keines eines rein reelen Signals,
dazu muß Du den Realteil des letten Wertes Deines Fensters auch auf
10000 setzen. In Matlab sieht das so
aus:H=zeros(1,512);H(2)=1000;H(512)=1000;t=ifft(H);
Habe ich auch mal hier schon erheblich dargelegt:
http://www.mikrocontroller.net/forum/read-10-350375.html#351320

Cheers
Detlef
Gast #418782
Ein reales Zeitsignal hat ein konjugiert-komplexes Spektrum und
umgekehrt, also reelles Spektrum <-> konjugiert-komplexes Zeitsignal.

Mathematisch gesehen, eben weil man sich ein reelles Signal als
Addition zweier konjugier-komplexer Drehzeiger (e^jwt und e^-jwt)
vorstellen kann.

Wenn Du bei einer IFFT ein Zeitsignal bekommen willst, das rein real
sein soll, musst Dein Spektrum konjugiert-komplex sein.
Es gibt übrigens auch FFT-Funktionen die speziell auf reelle Signale
ausgelegt sind (z.B. bei der FFTW-Bibliothek, die auch bei MATLAB
benutzt wird).
Gast #418783
Wenn ich z.B. einen um 20 Grad verschobenen Sinus als Sampel ein-
gelesen habe und diesen einer FFT zuführe ,dann anschliessend die IFFT
mache erhalte ich im reel Array ein cosinus und im Imag Array
einen Sinus .Die müssen doch aber beide irgendwie verrechnet werden ,so
das der
um 20 Grad verschoben Sinus wieder erzeugt wird ? In den beiden Arrays
ist zwar die richtige Frequenz aber  nicht die Richtige Phasenlage
vorhanden.
Gruss Andreas
Gast #418785
Ich kann doch das Re.Array und ds Im. Array am Ende der IFFT
addieren . Ist des Re Array  dominanter wird die Phase zu Cos hin
verschoben und umgekehrt. oder sehe ich das zu einfach?
Gast #418786
Habe den Fehler im Code gefunden.
Jetzt ist das imaginär Array am Ende der IFFT immer 0.
Und die Zugehörige Funktion des Spektrums ist im Reellen Array
vorhanden.
Danke für die Tips
Mfg Andreas
Gast #418787
Das Leistungsspektrum ist Realteil + Imaginärteil zum Quadrat.

p(x) = sqr(real(x)^2 + imag(x)^2)

Das ergibt bei einem Sinus und einen Cosinus ein Konstanter Wert, das
ist Richtig! Das im Frequenzspektrum eines Impules kommen alle
Frequenzen gleich vor.

Mfg Michael

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 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.