Fast-Fourier-Transformation: Ein Algorithmus für den Weltfrieden

Die erste Schwierigkeit besteht darin, dass das aufgezeichnete Signal keine kontinuierliche Kurve ist, sondern aus diskreten Datenpunkten besteht. Je größer der Abstand zwischen den Datenpunkten ist, desto weniger sicher ist es, dass hochfrequente Signale Teil der Kurve sind. Ein weiteres Problem ist, dass die Aufnahme nicht unendlich lang ist, sondern meist nur kurz dauert. Dadurch kann nicht beurteilt werden, welche der beiden benachbarten Frequenzen tatsächlich im Signal enthalten ist – das Frequenzspektrum wird dadurch unscharf. Die niedrigste Frequenz fwenigstensdas sinnvoll gelöst werden kann, ist das mit einem langen Zeitraum L des gesamten Signals. Die dieser Frequenz entsprechenden Kurven sind gegeben durch sin(2πx/L) und cos(2πx/L) gegeben. Wenn Sie jetzt VON Wenn Sie äquidistante Datenpunkte untersuchen möchten, beginnen Sie mit den kleinsten Frequenzkurven und suchen Sie nach ganzzahligen Vielfachen von Häufigkeit vorher: von·fwenigstens. Dies entspricht den Funktionen sin(2 2πx/L), sin(3 2πx/L), sin(4 2πx/L), …, Sünde (VON·2πx/L) (Dasselbe natürlich für Cosinus). Es macht keinen Sinn, höhere Frequenzen als zu verwenden VON·fwenigstens zu untersuchen, da die Periode der zugehörigen Funktionen kürzer ist als der Abstand zwischen benachbarten Datenpunkten. Alles darüber hinaus entzieht sich unserer Entschlossenheit.

© Spektrum der Wissenschaft; Manon Bischoff (Ausschnitt)

Datenpunkte | Die Länge der Aufzeichnung und die Intervalle zwischen den Datenpunkten begrenzen die Anzahl der zu untersuchenden Frequenzen. Orange zeigt die Sinuswelle mit der höchsten Frequenz, Rot die niedrigste.

Wenn Sie also eine Fourier-Analyse mit diskreten Messungen durchführen möchten, multiplizieren Sie jede einzelne VON Datenpunkte VON verschiedene Sinus- und Cosinusfunktionen und bestimmen damit die von der x-Achse eingeschlossene Fläche. Ein Computer ist also notwendig VON2 Rechenschritte durchführen. Bei großen Datenmengen stellt dies ein Problem dar: Während ein aus acht Datenpunkten bestehendes Signal augenblicklich in seine Bestandteile zerlegt werden kann, ist es bei einer Million Datenpunkten schwieriger, da dafür 10 benötigt werden12 erforderlichen Berechnungsschritte. Ein moderner 3,5-Gigahertz-Rechner würde bei Volllast etwa fünf Minuten benötigen. Für die Computer der 1960er Jahre war diese Aufgabe unlösbar. Will man 100-mal so viele Datenpunkte analysieren, erhöht sich die Zahl der Rechenschritte um den Faktor 10.000 – selbst unsere Rechner wären hoffnungslos überlastet.

Auch Lesen :  Wissenschaft versucht nicht die Welt zu bewerten, sondern sie zu verstehen

Hier kommen die Logozeichnungen von Tukey ins Spiel. Er hatte damals die Idee formuliert, wie die Fourier-Transformation schneller umgesetzt werden könnte. Aus VON2 Die Berechnungsschritte sind nur mit seiner Methode möglich VON·Protokoll2VON. Dies klingt zwar nach einer kleinen Verbesserung, die Einsparungen sind jedoch enorm, wenn mehrere Datenpunkte vorhanden sind. ab 1012 Die Berechnungsschritte für eine Million Datenpunkte bleiben nur 20·106 übrig bleiben. Ein 3,5-Gigahertz-Rechner würde dafür nur wenige Millisekunden benötigen. Der Mathematiker nannte seinen Algorithmus kreativ „Fast Fourier Transform“. Es gilt heute als einer der wichtigsten Programmiercodes der Welt.

Auch Lesen :  Die Ostseesturmflut von 1872 | Freie Presse

Als der Physiker Richard Garwin erkannte, was Tukey auf seinen Zetteln berechnet hatte, wollte er wissen, wann Tukey es veröffentlichen würde. Garwin war sich sofort des Potenzials der Methode bewusst. Tukey entgegnete, dass er mit einem Informatiker an der Umsetzung arbeite, es aber wohl noch ein paar Jahre dauern werde. Computer hatten damals wenig Speicher, was es schwierig machte, den Algorithmus auf solchen Maschinen zu implementieren. Garwin kam das jedoch nach einer langen Zeit vor, also schlug er vor, selbst einen Informatiker zu suchen, der das Problem schneller lösen könne.

Also kontaktierte er den Informatiker Jim Cooley. „Garwin sagte mir, dass er ein wichtiges Problem im Zusammenhang mit der Periodizität des dreidimensionalen Helium-3-Kristalls hatte. Erst später erfuhr ich, dass er die seismische Fernüberwachung verbessern wollte, um das Verbot von Atomwaffentests zu erleichtern.“ Cooley schrieb 1987. „Bis dahin hatte ich bereits Helium-3-Experimente gemacht und die Fourier-Transformation umgangen“, gab Garwin zu. Zunächst widmete Cooley dem neuen Forschungsprojekt nicht allzu viel Aufmerksamkeit, sondern konzentrierte sich auf seine eigene Arbeit. Garwins Beharrlichkeit, ihn und seinen Vorgesetzten anzurufen, um sich nach dem Fortschritt zu erkundigen, bedeutete jedoch, dass Cooley dem Projekt Priorität einräumte. Es dauerte jedoch einige Monate, bis Cooley und Tukey den Algorithmus im Jahr 1965 veröffentlichten – zwei Jahre nachdem die Sowjetunion und die Vereinigten Staaten vereinbart hatten, auf alle außer unterirdischen Atomtests zu verzichten.

Auch Lesen :  Einhell Germany Aktie: War die Aufregung umsonst? ()

Teile und herrsche!

Die schnelle Fourier-Transformation basiert auf einem altbewährten Prinzip: Teile und herrsche. Die Sinus- und Kosinusfunktionen haben viele Symmetrien, die durch geschicktes Teilen der Datenpunkte ausgenutzt werden können. Nehmen wir an, dass acht Datenpunkte gleichmäßig verteilt entlang der x-Achse mit den Koordinaten 0, 1, 2, …, 7 liegen. Auf diese werden alle möglichen Kosinusfunktionen aufgetragen (eine ähnliche Beziehung entsteht für Sinusfunktionen): cos(0 2πx/8) = 1, cos(2πx/8), cos(4πx/8), …, cos(14πx/8). Bestimmte Muster lassen sich unterscheiden. Am mittleren Datenpunkt x = 4, zum Beispiel haben alle Funktionen mit gerader Frequenz denselben Wert: cos(0 2π 4/8) = 1, cos(2π) = 1, cos(4π) = 1, cos(6π) = 1. Gerade ungerade Frequenzen geben dasselbe Ergebnis: cos(π) = −1, cos(3π) = −1, cos(5π) = −1, cos(7π) = −1. Anstatt also den mittleren Datenpunkt mit acht Funktionen zu multiplizieren, braucht man nur zwei Produkte zu nehmen. Ähnliche Beziehungen ergeben sich aus anderen Datenpunkten. Auf diese Weise können die ursprünglich geplanten 8*8=64 Berechnungsschritte auf 8*log reduziert werden28 = 24 werden verdampft.

Source

Leave a Reply

Your email address will not be published.

In Verbindung stehende Artikel

Back to top button