AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Delphi Fourier Transform DFT, FFT

Fourier Transform DFT, FFT

Ein Tutorial von Dipl Phys Ernst Winter · begonnen am 16. Mai 2009 · letzter Beitrag vom 20. Okt 2009
Antwort Antwort
Seite 2 von 2     12
Dipl Phys Ernst Winter
Registriert seit: 14. Apr 2009
Diskrete Fourier Transformation DFT
Eine periodische Funktion der normierten Periode 2Pi sei mit n = 2q äquidistanten Stützstellen f(xi) i = 0..n-1 im Intervall 0..2Pi gegeben. Stützstellenabstand dx = 2Pi/n, x0 = 0, xn-1 = 2Pi - dx.
Delphi-Quellcode:
Wir interpolieren sie mit:
            q - 1
f(x) = a0 + Summe (ai*cos(mx) + bi*sin(mx)) + aq*cos(qx)
             m =1
wobei wir b(q) = 0 setzen, um die Zahl der Parameter an die Zahl der Stützstellen anzupassen.
Brechen wir die Summe mit weniger Gliedern ab, so erhalten wir eine Approximation mit minimalem quadratischen Fehler. Für die n + 1 Koeffizienten ergibt sich

         n - 1
a0 = 1/n Summe yk
         k = 0

         n - 1
ai = 2/n Summe yk*cos(i*xk)         i = 1, 2,..., q-1
         k = 0

         n - 1
bi = 2/n Summe yk*sin(i*xk)         i = 1, 2,..., q-1
         k = 0

         n - 1
aq = 1/n Summe yk*cos(q*xk)         
         k = 0
FFT Fast Fourier Transform
Die Rechenzeiten der DFT wachsen mit Stützstellenzahl N quadratisch an: t ~ N^2. Es wurden verschiedene Verfahren zur schnellen Fourier-Transformation FFT entwickelt, deren die Rechenzeit nur mit t ~ Ln(N)*N anwächst.
Sie beruhen alle auf der sukzessiven Zerlegung einer Transformation mit n Stützstellen in zwei Transformationen mit n/2 Stützstellen.

Das Demo zur DFT zeigt den Aufbau der Näherungen aus den Oberwellen graphisch an.

FFT-Demo1 demonstriert den Zeitgewinn der FFT gegenüber der DFT. Vorsicht: Die DFT kann bei großem nMax sehr lange dauern. Es enthält eine Implementation der FFT nach dem Tukey-Algorithmus.

Das Demo2 zur FFT enthält eine Implementation der FFT die reelle Werte wahlweise in der Frequenzbereich bzw. von dort wieder zurück in die Zeitdarstellung transformatiert.
Angehängte Dateien
Dateityp: zip fft_demo2_143.zip (149,8 KB, 291x aufgerufen)
Dateityp: zip fft_demo1_393.zip (160,2 KB, 210x aufgerufen)
Dateityp: zip dft_demo_982.zip (167,9 KB, 208x aufgerufen)
Autor: DP Ernst Winter
 
R2009

 
Delphi 2007 Professional
 
#11
  Alt 20. Okt 2009, 10:18
Hi Sirius,

ich bin nur ein Ingenieur für allgemeine E-Technik, hab also von FFT und der entsprechenden Mathematik nicht sehr viel Ahnung.
Eine FFT mach ich doch um ein Amplituden-Spektrum zu bekommen.
Ziel meiner FFT ist es also die Amplitudenwerte für einzelne Frequenzen zu erhalten.
Bei meiner Implementation der FFT ist das auf jeden Fall so. (Hab ich nicht selbst gemacht und somit auch nicht komplett verstanden).

Grüsse
Rainer
Rainer Unger
  Mit Zitat antworten Zitat
Themen-Optionen Tutorial durchsuchen
Tutorial durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +2. Es ist jetzt 09:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf