Alexander Fufaev
Ich heiße Alexander FufaeV und hier schreibe ich über:

Fourier-Reihe: Lerne damit eine Funktion anzunähern

Inhaltsverzeichnis
  1. Wozu Fourier-Reihen?
  2. Das Konzept von Fourier-Reihen Hier lernst du, wie die Fourier-Reihe von periodischen Funktionen aussieht und wie sie zustande kommt.
  3. Fourier-Koeffizienten Hier lernst du, wie Fourier-Koeffizienten berechnet werden und wie die Berechnungsformel zustande kommt.
  4. Fourier-Basis Hier schauen wir uns komplexe Exponentialfunktionen als eine typische Basis für die Fourier-Entwicklung an.
  5. Beispiel: Fourier-Reihe für die Sägezahnfunktion Hier berechnen wir die Fourier-Koeffizienten für eine konkrete Funktion und stellen ihre Fourier-Reihe auf.

Wozu Fourier-Reihen?

Du kennst sicherlich die Taylor-Entwicklung, mit der wir eine Funktion \(f(x)\) an einem Punkt \(x = x_0\) durch eine einfachere Taylor-Reihe annähern können. Je mehr Terme wir in der Taylor-Reihe nehmen, desto besser wird die Näherung \( f_{\text{taylor}} \) in der Umgebung des gewählten Entwicklungspunkts \(x_0\). Taylor-Näherung und Fourier-Näherung für eine Funktion

Die Taylor-Reihe, repräsentiert durch \( f_{\text{taylor}} \), ist eine gute Näherung der Funktion \(f\) in der unmittelbaren Umgebung von \(x_0\). Entfernen wir uns jedoch weiter weg von dem Punkt, dann sehen wir, dass die Taylor-Reihe dort keine gute Näherung ist. Die Taylor-Entwicklung ist also eine Methode, mit der wir eine Funktion nur lokal annähern können.

Wenn es uns aber wichtig ist, eine Funktion auf einem ganzen Intervall anzunähern, dann brauchen wir eine Fourier-Reihe der Funktion. Wie wir sehen werden, ist die Fourier-Reihe eine Linearkombination von simplen periodischen Basisfunktionen wie Cosinus und Sinus oder komplexe Exponentialfunktionen, die in der Summe die Funktion \(f\) in einem Intervall annähern können. Im Folgenden gehen wir von einem Intervall der Länge \(L\) aus.

Das Konzept von Fourier-Reihen

Wir können einen Vektor \( \boldsymbol{v} \), der in einem \(n\)-dimensionalen Vektorraum lebt, als eine Linearkombination von Basisvektoren \( \boldsymbol{e}_k \) darstellen, die den Vektorraum aufspannen:

Das solltest du aus der linearen Algebra kennen! Das Symbol \(\boxed{+}\) wird übrigens auf dieser Website als eine moderne, viel bessere Alternative für das Summenzeichen \(\Sigma\) verwendet.

Mithilfe einer Basis \({ \boldsymbol{e}_k }\) können wir jeden möglichen Vektor \( \boldsymbol{v} \) in diesem Vektorraum darstellen. Hierbei sind \(v_k\) die Komponenten des Vektors in der gewählten Basis. Die Basis ist ja nicht eindeutig. Durch die Wahl einer anderen Basis hat der Vektor andere Komponenten \(v_k\).

Wir können dieses Konzept der Linearkombination auch auf unendlich-dimensionale Vektoren anwenden. Eine Funktion \(f(x)\) lässt sich als ein unendlich-dimensionaler Vektor interpretieren, den wir als Linearkombination darstellen können. Die Komponenten \(v_k\) eines endlichen Vektors werden zu Fourier-Koeffizienten \(\widetilde{f}_k\), wenn wir eine Funktion und nicht einen endlichen Vektor als Linearkombination darstellen:

Stellen wir eine Funktion \(f\) als eine Linearkombination 2 von Basisfunktionen dar, dann bezeichnen wir die Summe 2 als Fourier-Reihe von \(f\).

Bei einer Linearkombination für eine Funktion, werden die Basisvektoren \(\boldsymbol{e}_k\) als Basisfunktionen bezeichnet. In der Optik werden die Basisfunktionen auch gern als Fourier-Moden genannt.

Die Funktionswerte \(f(x_0)\), \(f(x_1)\), \(f(x_2)\) und so weiter, bis \(f(x_0 + L)\) stellen wir uns als Komponenten von \(f\) vor. Hier haben wir ein bisschen geschummelt, weil das Argument \(x\) reell ist und es theoretisch unendlich viele Werte beispielsweise zwischen \(x_0\) und \(x_1\) gibt. Aber so kannst du dir zumindest eine Funktion als einen Vektor mit unendlich vielen Komponenten vorstellen:

Fourier-Koeffizienten

Die Fourier-Koeffizienten kannst du analog wie in der linearen Algebra bestimmen. Wie geht das nochmal in der linearen Algebra? Um die \(k\)-te Komponente eines endlich-dimensionalen Vektors \(\boldsymbol{v}\) zu bekommen, müssen wir das Skalarprodukt zwischen dem \(k\)-ten Basisvektor \(\boldsymbol{e}_k\) und dem Vektor \(\boldsymbol{v}\) bilden:

Das Skalarprodukt haben wir im letzten Schritt mit einem Summenzeichen etwas kompakter notiert. Hierbei wird über den Index \(j\) summiert.

Wenn wir nicht mit endlich-dimensionalen Vektoren, sondern mit Funktionen arbeiten, dann müssen wir das Skalarprodukt zwischen der \(k\)-ten Basisfunktion und der Funktion \(f\) bilden, um den \(k\)-ten Fourier-Koeffizienten von \(f\) zu erhalten:

Um anzudeuten, dass wir hier mit möglicherweise einem unendlich dimensionalen Vektorraum arbeiten, nennen wir die Operation 4 nicht Skalarprodukt, sondern inneres Produkt und notieren es in der Bra-Ket-Notation (als Physiker).

Schreiben wir erstmal analog wie beim endlich-dimensionalen Fall 4 das innere Produkt aus. Mit dem einzigen Unterschied, dass wir die Komponenten 3 der Funktion als Funktionswerte interpretieren: \(f(x_0)\), \(f(x_1)\), \(f(x_2)\) und so weiter. Auch die Komponenten der Basisfunktionen sehen wir als Funktionswerte an:

Hier summieren wir bis zur Stelle \(x=x_0+L\), weil wir wie gesagt bei einer Fourier-Reihe nur mit Funktionen in einem gewählten Intervall arbeiten können. Nimm diese Summation aber mathematisch nicht zu ernst, weil wir erstmal nur die Formel für das innere Produkt für Funktionen motivieren wollen.

Die Summation über das Funktionsargument können wir mit einem Summenzeichen kompakt notieren:

Und hier haben wir ein Problem: Wie soll die Summation in 7 überhaupt für eine Funktion funktionieren? Der Summationsindex \(x\) ist im Fall von Funktionen eine kontinuierliche Variable! Das heißt: Selbst zwischen den Punkten \(x_0\) und \(x_1\) gibt es theoretisch unendlich viele andere Funktionswerte, die wir hier einfach ausgelassen haben. Wir können das Problem leicht beseitigen. Weil wir hier mit einer kontinuierlichen Summation zu tun haben, müssen wir das Summenzeichen einfach mit einem Integral ersetzen:

Wir haben das erste Argument im inneren Produkt (hier: Basisfunktion) im Integral komplex-konjugiert. Das ist notwendig, wenn wir auch komplex-wertige Funktionen \(f: \mathbb{R} \rightarrow \mathbb{C} \) zulassen. Wenn wir das nicht tun würden, wäre das Integral im Fall von komplex-wertigen Funktionen kein inneres Produkt, weil es die mathematischen Eigenschaften eines inneren Produkts nicht erfüllen würde.

So, jetzt verstehst du hoffentlich, wie du die Fourier-Koeffizienten bestimmen kannst und wie die Formel 8 überhaupt zustande kommt. Du musst einfach das innere Produkt der Funktion \(f\) mit den Basisfunktionen bilden. Sprich: Du musst das Integral 8 berechnen.

Fourier-Basis

Gehen wir zu den Basisfunktionen über. Welche Basisfunktionen können wir für die Fourier-Reihe 2 benutzen? Alle, die die Eigenschaften einer Basis erfüllen! Damit wir eine Menge von Vektoren, oder wie in unserem Fall, eine Menge von Funktionen als Basis bezeichnen können, müssen sie zwei Bedingungen erfüllen:

  • Wenn wir zwei Basisfunktionen nehmen, dann müssen sie orthonormal zueinander sein, also orthogonal und normiert.
  • Die Menge der Basisfunktionen muss vollständig sein. Anders gesagt, sie müssen den Raum, in dem die Funktionen \(f\) leben, aufspannen. Erst dann sind wir in der Lage jede Funktion \(f\) als Linearkombination dieser Basisfunktionen darzustellen.

Eine typische Basis, die in der Physik benutzt wird, sind die komplexen Exponentialfunktionen:

Der Faktor \(\frac{1}{\sqrt{L}}\) stellt sicher, dass die Basisfunktion normiert ist.

Für jede verschiedene Wellenzahl \(k\) bekommst du einen anderen Basisvektor. Vielleicht hast du eine andere Basis für die Fourier-Reihe gesehen, wie Cosinus und Sinus. Wie gesagt es steht uns frei, eine Basis zu wählen. Hier wählen wir eben komplexe Exponentialfunktionen als Basis, weil sie vor allem zum Erklären der Fourier-Reihe schön kompakt geschrieben werden können.

Die Fourier-Reihe 2 in dieser Exponentialbasis würde dann folgendermaßen aussehen:

Eigenschaft #1: Fourier-Basis ist orthonormal

Schauen wir uns die erste Eigenschaft von Basisfunktionen an: Orthonormalität. Die Orthonormalität können wir prüfen, indem wir zwei verschiedene Basisfunktionen nehmen, \(\boldsymbol{e}_k\) und \(\boldsymbol{e}_{k'}\), und das innere Produkt, wie in 8 bilden.

  • Damit die beiden Funktionen orthonormal sind, muss ihr inneres Produkt \(\langle \boldsymbol{e}_k | \boldsymbol{e}_{k'} \rangle = 1\) ergeben, wenn \(k = k'\) ist (wenn wir also das innere Produkt einer Funktion mit sich selbst nehmen).

  • Und das innere Produkt \(\langle \boldsymbol{e}_k | \boldsymbol{e}_{k'} \rangle = 0\) muss Null ergeben, wenn \(k\neq k'\) ist (wenn wir also das innere Produkt einer Funktion NICHT mit sich selbst nehmen).

Die beiden Fälle können wir zu einer Gleichung zusammenfassen, wenn wir ein Kronecker-Delta benutzen:

Wir können leicht zeigen, dass die Exponentialfunktionen 9 orthonormal sind:

Hierbei haben wir die beiden Normierungsfaktoren zu \(\frac{1}{L}\) zusammengefasst und die erste Exponentialfunktion komplex-konjugiert (daher das Minuszeichen im Exponenten).

Die beiden Exponentialfunktionen lassen sich weiter zusammenfassen:

Betrachten wir als erstes den Fall \(k = k'\). Dann ist die Exponentialfunktion gleich 1 und das Einsetzen der Integrationsgrenzen ergibt:

Hier siehst du auch, warum der Faktor \( \frac{1}{\sqrt{L}} \) bei den Basisfunktionen notwendig ist: Damit wir beim inneren Produkt 15 eine 1 herausbekommen, so wie sich das für orthonormierte Vektoren oder Funktionen gehört.

Für den Fall \(k \neq k'\), also für zwei verschiedene Basisfunktionen, muss das Integral 14 Null ergeben. Die Integration der Exponentialfunktion ergibt die Exponentialfunktion zurück, und einen Faktor davor:

Damit die beiden Exponentialfunktionen in der Klammer gleich sind, müssen wir periodische Randbedingungen annehmen. Das heißt die Exponentialfunktion an der Stelle \(x_0\) muss gleich der Exponentialfunktion an der Stelle \(x_0 + L\) sein. Unter dieser Bedingung heben sich die beiden Terme in der Klammer weg und das Integral ergibt Null.

Wie du siehst, die gewählten Basisfunktionen 9, zusammen mit periodischen Randbedingungen sind orthonormal.

Diskrete \(k\)-Werte bei periodischen Randbedingungen

Damit die Exponentialfunktion orthonormal sind, haben wir angenommen, dass sie \(L\)-periodisch sein müssen. Das heißt, dass \( \text{e}^{\mathrm{i}\,x_0 \, (k'-k)} \) gleich der Exponentialfunktion \( \text{e}^{\mathrm{i}\,(x_0+L) \, (k'-k)} \) ist, weil die zweite Exponentialfunktion ja nur um die Periodenlänge \(L\) verschoben ist. Aus der Periodizität \( \text{e}^{\mathrm{i}\,k\, L} \stackrel{!}{=} 1 \) können wir eine Bedingung für die Werte von \(k\) herausfinden:

Hierbei ist \(n = ... -2, -1, 0, 1, 2... \) eine ganze Zahl.

Eigenschaft #2: Fourier-Basis ist vollständig

Die zweite Eigenschaft, die die Menge der Funktionen erfüllen muss, damit sie eine Basis ist, ist die Vollständigkeitsrelation. Mit dieser Relation stellen wir sicher, dass wir jede Funktion \(f(x)\), mithilfe der gewählten Basisfunktionen \( { e_k(x) } \) darstellen können.

Setze dazu die Formel für die Fourier-Koeffizienten 8 in die Fourier-Reihe 2 ein:

Die Summe über die beiden Basisfunktionen zusammen mit \(f(x')\) im Integral, pickt den Wert der Funktion \(f(x)\). Dieses Verhalten zeigt die Delta-Funktion \(\delta(x-x')\).

Beispiel: Fourier-Reihe für die Sägezahnfunktion

Jetzt solltest du ein solides, intuitives Verständnis für eine Fourier-Reihe haben und wie du sie für eine Funktion theoretisch berechnen kannst. Machen wir mal ein konkretes Beispiel, wie wir eine Fourier-Reihe für eine Funktion konkret angeben können.

Schauen wir uns eine Sägezahnfunktion zwischen \(x=0\) und \(x=1\) an. Sie ist folgendermaßen definiert: $$ f(x) ~=~ \begin{cases} -x, &\mbox{} \left(0,~ 0.5\right) \\ 1-x, &\mbox{} \left(0.5,~ 1\right) \end{cases} $$

Die gesamte Intervalllänge ist \(L=1\). Damit ist der Normierungsfaktor bei den Exponentialbasisfunktionen auch 1: $$e_k(x) ~=~ \text{e}^{\mathrm{i}\, k\, x}$$

Bei der Bestimmung von Fourier-Reihen müssen wir stets zwei Dinge tun:

  1. Eine Basis wählen (haben wir bereits getan) und in die Fourier-Reihe 2 einsetzen: $$f(x) ~=~ \underset{k}{\boxed{+}} ~ \widetilde{f}_k \, \text{e}^{\mathrm{i}\, k\, x}$$
  2. Die Fourier-Koeffizienten \(\widetilde{f}_k\) mit dem Integral 8 ausrechnen und in die Fourier-Reihe einsetzen.

Den \(k\)-ten Fourier-Koeffizienten bestimmst du mit dem inneren Produkt zwischen der \(k\)-ten Basisfunktion und der Sägezahnfunktion, wie in Gl. 8 gezeigt: $$\begin{align}\widetilde{f}_k ~&=~ \langle \boldsymbol{e}_k | f \rangle \\\\ ~&=~ \int_{0}^{1} \text{d}x \, \text{e}^{-\mathrm{i}\, k\, x} \, f(x)\end{align}$$

Da die Sägezahnfunktion stückweise definiert ist, teilen wir das Integral auf: $$\widetilde{f}_k ~=~ \int_{0}^{1/2} \text{d}x \, \text{e}^{-\mathrm{i}\, k\, x} \, (-x) ~+~ \int_{1/2}^{1} \text{d}x \, \text{e}^{-\mathrm{i}\, k\, x} \, (1-x)$$

Mit partieller Integration oder mit einem Integrationsrechner kannst du die beiden Integrale ausrechnen. Als Ergebnis bekommst du: $$\widetilde{f}_k ~=~ \frac{1}{ \mathrm{i}\,k } \, \text{e}^{-\mathrm{i}\,k/2}$$

Da wir für \(k\) keinen konkreten Wert eingesetzt haben, haben wir damit alle Fourier-Koeffizienten bestimmt. Für einen unterschiedlichen \(k\)-Wert bekommen wir einen anderen Fourier-Koeffizienten. Setzen wir nur noch die Fourier-Koeffizienten in die Fourier-Reihe ein und fassen die beiden Exponentialfunktionen zusammen: \begin{align}f(x) ~&=~ \underset{k}{\boxed{+}} ~ \frac{1}{ \mathrm{i}\,k } \, \text{e}^{-\mathrm{i}\,k/2} \, \text{e}^{\mathrm{i}\, k\, x} \\\\ ~&=~ \underset{k}{\boxed{+}} ~ \frac{1}{ \mathrm{i}\,k } \, \text{e}^{\mathrm{i}\,k (x-1/2)} \\\\ ~&=~ \underset{n}{\boxed{+}} ~ \frac{1}{ \mathrm{i}\,2\pi\,m } \, \text{e}^{\mathrm{i}\,2\pi\,m (x-1/2)}\end{align}

Im letzten Schritt haben wir \( k = \frac{2\pi}{L} \, m \), mit \( L = 1 \) eingesetzt. Beachte, dass wir hier über negative und positive \( m \) summieren! Sägezahnfunktion angenähert durch zwei verschiedene Fourier-Reihen

Mit dieser Fourier-Reihe für die Sägezahnfunktion haben wir im Grunde zwei Dinge gewonnen.

  • Wir können die Reihe nun bis zu einem bestimmten maximalen \(m\)-Wert summieren und so eine beliebig gute Näherung für die Sägezahnfunktion erhalten.
  • Da wir die Fourier-Koeffizienten bestimmt haben, wissen wir, welche \(m\)-Werte in der Sägezahnfunktion enthalten sind (\(m=0\) ist zum Beispiel nicht enthalten) . Wir wissen also aus welchen Bausteinen (Basisfunktionen) die Sägezahnfunktion zusammengesetzt ist. Dieses "Aufdröseln der Funktion in einzelne Bestandteile" wird als Fourier-Analyse bezeichnet.

Als nächstes schauen wir uns an, wie wir die Fourier-Reihe dazu benutzen können, um Fourier-Analyse von komplizierten Funktionen konkret zu machen. Eine weitere Sache, die wir kennenlernen werden, ist wie wir mit einer sogenannten Fourier-Transformierten eine Funktion \(f\) nicht nur in einem Intervall, sondern im gesamten Raum (\(L \rightarrow \infty \)), global, annähern können.