IFFT

#418778
Lesenswert?

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
Lesenswert?

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
Lesenswert?

>>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
Lesenswert?

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
Lesenswert?

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 #418786
Lesenswert?

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
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren