Fouriertransformation
-
Hallo, ich habe einige Fragen zur Fouriertransformation.
Also ich habe es so verstanden, das (grob gesagt) die Fouriertransformation eine Spektralzerlegung eines gegebenen Signals f(x) bestimmt.
Wie erhält man aus z.B. einem *.bmp Bild welches ja diskrete Infoirmationen speichert das signal f(x) welches man mit der Fouriertransformation bearbeiten kann?
2. Für die Fouriertransformation ist ein Integral zu bilden und im schlimmsten Fall (Rechteckfunktion) scheinen unendlich viele Cosinus Funktionen nötig zu sein um f(x) damit darzustellen. Wird in einem konkretes Programm wirklich das Integral von Funktionen berechnet (Integrieren kann ja ziemlich schwer sein)? Oder wird das irgendwie durch endlich viele Werte berechnet ohne das Integral an sich lösen zu müsssen?
-
Stichwort Diskrete Fouriertransformation und insbesondere FFT.
Einfach mal googlen oder Wiki
-
Also vom prinzip her funktioniert der Frequency Analyzer von Relisoft ziemlich gut, aber keine ahnung, ob dir das von der genauigkeit her reicht: http://www.relisoft.com/Freeware/index.htm
Das ganze müsstest du nur abfangen und in ne bitmap schreiben.
MFG
Hansi
-
Die FFTW-Bibkiothek tut so ziemlich alles, was man erwartet (fastest fourier tranformation in the west).
Die Algorithmen sind durchoptimiert bis zum geht-nicht-mehr und die Handhabung ist nach ein wenig Einlesen auch gut. Und -- wie Bloops schon geschrieben hat -- verwendet man nicht die Kontinuierliche FT, sondern die Diskrete FT. Damit kannst du dann die Spektralbilder darstellen (vorher aber zentrierte nd logarithmische Darstellung ausrechnen!). Für den Einsatz bei Bildern lassen sich ggf. auch die Cosinus-Trafo oder die "halbe" DFT einsetzen. FFTW bietet das alles an.
http://www.tobias-schilgen.de/publications/scripts/tmt2/Image13.jpg
-
Wenn Du verstehen willst, wie die Fouriertransformation funktioniert, würde ich nicht unbedingt mit Bildern anfangen. Ein Bild ist ein zweidimensionales Signal und benötigt daher auch eine zweidimensionale Fouriertransformation.
Vielleicht ist es daher besser sich zunächst mit eindimensionalen Signalen zu beschäftigen.
Ansonsten schließe ich mich den anderen an:
Bei diskreten Signale führst Du die diskrete Fouriertransformation aus. Für das Verständnis ist hierbei vor allem das Abtasttheorem von grundlegender Bedeutung, da es Dir eine Begründung liefert, warum es für bandbegrenzte Signale genügt lediglich eine endliche Zahl von Werten zu transformieren. Auf weitere Details verzichte ich hier.Als guten Einstieg kann ich Dir das Buch Digital Signal Processing von Proakis empfehlen.