Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Fast Fourier Transform
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum
View previous topic :: View next topic  
Author Message
ichbinsisyphos
Guru
Guru


Joined: 08 Dec 2006
Posts: 547

PostPosted: Mon Mar 16, 2009 5:27 pm    Post subject: Fast Fourier Transform Reply with quote

Hat jemand hier Ahnung von FFT?

Ich versuch grad, ein Interferogramm fourier-zu-transformieren um das Spektrum zu erhalten.

Ich weiß Bescheid über die kontinuierliche Fourier-Transformation, die diskrete mit numpy.fft produziert aber bisher nur Müll.
Back to top
View user's profile Send private message
manuels
Advocate
Advocate


Joined: 22 Nov 2003
Posts: 2146
Location: Europe

PostPosted: Mon Mar 16, 2009 5:45 pm    Post subject: Reply with quote

Was sind denn das für Daten? Und wie "FFTst" du überhaupt?
_________________
Build your own live cd with catalyst 2.0!
Back to top
View user's profile Send private message
ichbinsisyphos
Guru
Guru


Joined: 08 Dec 2006
Posts: 547

PostPosted: Mon Mar 16, 2009 5:54 pm    Post subject: Reply with quote

manuels wrote:
Was sind denn das für Daten? Und wie "FFTst" du überhaupt?

Ich fft'e indem ich die Intensitätswerte des Interferogramms in ein array lade, gefolgt von numpy.fft.fft(array).

Entstanden ist das Interferogramm in einem Michelson-Interferometer mit einer inkohärenten Weißlichtquelle, die Werte entsprechen den mit einem Photomultiplier gemessenen Intensitätswerten des vorbeilaufenden Interferenzmusters, dabei wurde mit einem Stellmotor automatisch der bewegliche Spiegel verstellt, also die Weglänge in einem Arm verändert. Das ist aber glaub ich nicht wichtig, nur damit man sich was vorstellen kann.

Das ist das gemessene Interferogramm:
http://omploader.org/vMWUwbQ

FFT-Versuch #1:
http://omploader.org/vMWUwbg
Was ist, bzw. woher kommt das extreme Maximum bei x=0?


FFT-Versuch, Zoom:
http://omploader.org/vMWUwbw

FFT-Versuch, Zoom
Das Array, das ich erhalte ist komplex, hier hab ich noch den Betrag gebildet:
http://omploader.org/vMWUwcQ
Back to top
View user's profile Send private message
manuels
Advocate
Advocate


Joined: 22 Nov 2003
Posts: 2146
Location: Europe

PostPosted: Mon Mar 16, 2009 6:54 pm    Post subject: Reply with quote

Hmm, der Null-Frequenz-Anteil ist wirklich ziemlich stark.
Deine X-Achse ist die Wellenzahl.

Ist deine X-Achse äquidistant? Übergibst du eine Array für die X-Achse?

EDIT: Hast du mal den Mittelwert deines gemessenen Signals?
EDIT2: Ich meine den Mittelwert der Array, welche du "FFTen" willst
_________________
Build your own live cd with catalyst 2.0!
Back to top
View user's profile Send private message
ichbinsisyphos
Guru
Guru


Joined: 08 Dec 2006
Posts: 547

PostPosted: Mon Mar 16, 2009 7:12 pm    Post subject: Reply with quote

Ja, ist äquidistant, und ich übergeb keine x-Achse - muss ich das zweidimensional rechnen?
X-Achse ist nur der Verstellweg von -30 bis 30 Mikrometer, also die halbe Wegdifferenz. Die Bewegung ist gleichförmig.

Also wie kann man das interpretieren? Erst mal der 0-Frequenzanteil weg, was überbleibt is symmetrisch. Ist das dann 2mal das Spektrum?

edit: Mittelwert ist ziemlich genau 0.5, ist ja normiert auf Maximal-Intensität = 1.
Back to top
View user's profile Send private message
manuels
Advocate
Advocate


Joined: 22 Nov 2003
Posts: 2146
Location: Europe

PostPosted: Mon Mar 16, 2009 7:50 pm    Post subject: Reply with quote

Nein, das reicht eindimensional.

Zur Interpretation: Die 0-Frequenz entspricht dem Mittelwert des Signals (kann man auch ganz einfach an der FFT-Formel nachrechnen).
Also kannst du diese Frequenz außer acht lassen, wobei dieser Wert ja an und für sich ja 0,5 entsprechen sollte.

Sofern ich mich recht erinnere, ist ein Teil des von dir geplotteten Signals der komplexkonjugierte des anderen. Der erste Anteil müsste im Negativen Frequenzraum liegen - eigentlich ist das aber uninteressant.
_________________
Build your own live cd with catalyst 2.0!
Back to top
View user's profile Send private message
ichbinsisyphos
Guru
Guru


Joined: 08 Dec 2006
Posts: 547

PostPosted: Tue Mar 17, 2009 7:07 am    Post subject: Reply with quote

Das heißt also, ich gleich mal die gesamte linke Hälfte verwerfen?

Was mach ich wegen der komplexen Werte? Kann ich mir von denen jeweils Real- oder Imaginärteil aussuchen?

edit: Wohl eher nicht, Real- und Imaginärteil werden beide auch negativ.
Betrag bilden? Wär mir neu.
Back to top
View user's profile Send private message
manuels
Advocate
Advocate


Joined: 22 Nov 2003
Posts: 2146
Location: Europe

PostPosted: Tue Mar 17, 2009 12:49 pm    Post subject: Reply with quote

Du kannst von numpy.fft.fft(a, n=None, axis=-1) über n die Länge des ausgegebenen Frequenzintervalls bestimmen.
Das läßt du dann einfach nur bis zur Nyquist-Frequenz-Stützstelle laufen.

Zum Re-/Im-Teil: Der Realteil ist der Anteil der Frequenz, der Imaginärteil die Phasenverschiebung.
_________________
Build your own live cd with catalyst 2.0!
Back to top
View user's profile Send private message
ichbinsisyphos
Guru
Guru


Joined: 08 Dec 2006
Posts: 547

PostPosted: Tue Mar 17, 2009 5:26 pm    Post subject: Reply with quote

Bist du dir da sicher? Ich war bis jetzt wieder im Labor und hab mit meinem Professor etwas darüber geredet. Er hat offenbar auch nicht viel Erfahrung damit, aber wir haben uns darauf geeinigt, den Absolutwert zu nehmen. Phase ergibt sich ja dann durch atan(Im/Re).

Die physikalische Interpretation dieser Transformation fällt mir immer noch schwer, aber sowohl Imaginär- als auch Realteil werden positiv und negativ. Das Spektrum kann einfach nicht so ein Verhalten zeigen. Durch Betragbildung fällt das schonmal weg.

Und von wegen dem n-Wert in numpy.fft, ich dachte das ist nur die zurückgegebene Anzahl an Werten der Transformierten, also quasi die Auflösung.

Du scheinst im Gegensatz zu mir Ahnung von Signalverarbeitung zu haben. "Nyquist-Frequenz-Stützstelle" ... ist das die Grenzfrequenz, die höchste Frequenz die aufgelöst werden kann, also 1/2*Abtastfrequenz?

Die Transformierte müsste sowieso dort enden, oder? Frequenzen darüber können sich gar nicht erst im Interferogramm befinden?
Back to top
View user's profile Send private message
manuels
Advocate
Advocate


Joined: 22 Nov 2003
Posts: 2146
Location: Europe

PostPosted: Wed Mar 18, 2009 12:12 pm    Post subject: Reply with quote

ichbinsisyphos wrote:
Bist du dir da sicher? Ich war bis jetzt wieder im Labor und hab mit meinem Professor etwas darüber geredet. Er hat offenbar auch nicht viel Erfahrung damit, aber wir haben uns darauf geeinigt, den Absolutwert zu nehmen. Phase ergibt sich ja dann durch atan(Im/Re).
Ohh, hier kannst du mich kalt erwischt haben. Die Vorlesung ist schon zwei Jahre her...
Quote:

Du scheinst im Gegensatz zu mir Ahnung von Signalverarbeitung zu haben. "Nyquist-Frequenz-Stützstelle" ... ist das die Grenzfrequenz, die höchste Frequenz die aufgelöst werden kann, also 1/2*Abtastfrequenz?

Ja, das ist sie. Also müsstest du für n = Abtastfrequenz/(Delta f)+1 rechnen. Delta f ist die Frequenzauflösung, die sich aus deiner Signalauflösung ergibt und + 1 für die 0-Frequenz.
Quote:

Die Transformierte müsste sowieso dort enden, oder? Frequenzen darüber können sich gar nicht erst im Interferogramm befinden?
Jo, richtig.
_________________
Build your own live cd with catalyst 2.0!
Back to top
View user's profile Send private message
ichbinsisyphos
Guru
Guru


Joined: 08 Dec 2006
Posts: 547

PostPosted: Wed Mar 18, 2009 9:43 pm    Post subject: Reply with quote

Ok, ich konnte heute nochmal mit einem HeNe-Laser als Referenz arbeiten und seither ist mir einiges klar.
Der Frequenzschritt (und die kleinste auflösbare Frequenz) ergibt sich aus c/L, wobei L die gesamte abgefahrene Wegstrecke ist.
Die Frequenzen ergeben sich dann durch Aufsummieren dieser \delta f's. Insbesondere ergibt sich die Maximalfrequenz aus \delta f * N/2, das gesamte Spektrum ist dann gleichverteilt zwischen f=0 und dieser Maximalfrequenz (linke Hälte der Transformierten).

Null-Frequenzanteil ist eigentlich nur ein Normierungsproblem.
Und die Nyquist-Frequenz muss auch nicht explizit berücksichtigt werden - die ist mit der Schrittweite \delta x = L/N schon drin.

Danke für die Hilfe.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum