Fourier analyse
-
SeppJ schrieb:
Ich darf übrigens mal dein LaTeX korrigieren, das heißt \begin{equation}, nicht [EQ]:
vielen dank
das signal (von dem ich die punkte habe) sei periodisch.
laut wikipedia lässt sich dieses signal durch eine fourier-reihe darstellen,
welche doch der formel (welche mein f(t) darstellt) entsprechen sollte.ich suche also N mal a,b und c
als beispiel nehmen wir mal eine rechteckskurve, so dass ich bei geeigneter
wahl der kontrollpunkte z.b. 1,-1,1,-1... erhalteso, jetzt wie geht es weiter?
ich würde versuchen kurven mit immer höheren frequenzen von dem signal "abzuspalten", doch dann müsste man ja noch die phase + koeffizient bestimmen?
es könnte ja auchnoch ein "+ d" hinzukommen, sprich eine verschiebung entlang
der y-achse.ich hab den weg von den N punkten zu den M koeffizienten a,b,c (und d)
nochnicht ganz verstanden, wäre schön wenn mir das jemand (grob reicht)
beschreiben könnteden wikipediaartikel hab ich mir auch schon angeschaut
MfG
fft
-
Ach, dass ist einfach, wenn du eine Erklärung haben willst:
Du hast eine Reihe Punkte x_i, in deinem Beispiel 1, -1, 1, -1. Vier Punkte sind natürlich ein bisschen wenig, aber das ist dir sicherlich klar. Also eher 1,1,1,1,1,1,1,1,-1,-1,-1,-1,-1,-1,-1,-1 für ein Rechtecksignal, nur noch viel mehr (Rechteck ist besonders ungünstig für FT, aber das ist ein anderes Thema). falls du schnelle Fourier Trafo (FFT) machen willst, muss die Anzahl der Punkte überdies eine Potenz von 2 sein. Aufgrund deines Namens bin ich nicht sicher, ob du das suchst, obwohl du immer nur Fourier Trafo schreibst. Ich bleibe jetzt mal bei der normalen diskreten Fourier Transformation, das ist ein bisschen einfacher zu erklären:
Die Fouriertransformierte deiner Punktreihe x_i ist wieder eine Reihe von Punkten X_i, dieses mal im Fourierraum. Im Allgemeinen können die Zahlen x_i komplex sein und die Transformierte X_i natürlich erst recht. Ich schreibe hier die komplexwertige Transformation hin, weil man es dann schöner schreiben kann. Für rein reelle Zahlen kann man übrigens nicht viel vereinfachen:
\begin{equation*}X\_k = \sum\_{n=0}^{N-1}x_n e^{-\frac{2\pi i}{N}kn}\end{equation*}
Dabei ist N die Anzahl der Punkte, i die imaginäre Einheit und k die Zahlen von 0 bis N-1. Somit hat man N Gleichungen für die N Elemente der Transormierten und kann diese einfach durch Einsetzen der ürsprünglichen Folge von Punkten erhalten.
Ein schönes, nicht triviales, Beispiel kann ich leider nicht bringen. Alles was irgendeine Aussagekraft hätte, bräuchte tausende von Punkten und könnte daher nur mit einem computer berechnet werden. Schöne Beispiele gibt's wohl leider nur bei der kontinuierlichen Form der Fouriertransformation, aber die suchst du ja anscheinend nicht.
-
ich suche die diskrete ft, bzw deren analyse, fft ist nur ein unwichtiger nickname.
SeppJ schrieb:
Ich schreibe hier die komplexwertige Transformation hin, weil man es dann schöner schreiben kann. Für rein reelle Zahlen kann man übrigens nicht viel vereinfachen:
\begin{equation*}X\_k = \sum\_{n=0}^{N-1}x_n e^{-\frac{2\pi i}{N}kn}\end{equation*}
ah
wir nähren uns. hab ich das richtig verstanden, dass ich damit jedes
beliebige periodische signal transformieren kann? das funktioniert also immer?SeppJ schrieb:
...bräuchte tausende von Punkten...
jup. davon gehe ich mal aus. war nur ein beispiel. das die rechteckskurve
gewisse probleme mit sich bringt, weiß ich, allerdings ist eine sinuskurve zu
zerlegen witzlosich habe jetzt also mein komplexes transformiertes feld X_i. soweit verstanden.
am ende sollen da doch mal koeffizienten rauskommen. ich denke mal nicht,
dass sich diese direkt aus X_i ablesen lassen?laut wikipedia müssen wir noch etwas integrieren:
wikipedia schrieb:
Die Aufgabe der Fourier-Analyse besteht in der Berechnung der Koeffizienten a_n und b_n mit Hilfe von Integralen über eine volle Periode.
da stellt sich mir zunächst die frage wie ich an die periode kommen soll.
im wiki erhält man die aus der signalsfunktion, doch die habe ich ja nicht.danach kommt aufeinmal die approximierte funktion
\begin{equation}\frac{4}{\pi }*\left(sin(t) + \frac{1}{3}\*sin(3t) + \frac{1}{5}\*sin(5t)...\right)\end{equation}
wie komme ich auf die koeffizienten? (1/3, 3, 1/5, 5,...)
ich hoffe ich stelle mich nicht zu blöd an
bishierhin und auch weiterhin
vielen dank SeppJps:
wo kommt den diese eins in den latexcode ?!!??!MfG
dft
-
dft (ehem. fft) schrieb:
ich habe jetzt also mein komplexes transformiertes feld X_i. soweit verstanden.
am ende sollen da doch mal koeffizienten rauskommen. ich denke mal nicht,
dass sich diese direkt aus X_i ablesen lassen?Doch! Es ist noch einfacher: Die X_i sind die gesuchten Koeffizienten.
laut wikipedia müssen wir noch etwas integrieren:
Das kontinuierliche Integrieren wird bei der diskreten Transformation durch die Summation ersetzt. Und die Periode ist dann 0 bis N (Anzahl der Punkte).
Dies sollte dann eigentlich auch die anderen Fragen beantworten.
Bei dem Wikipediaartikel musst du aufpassen, die machen da kontinuierliche FT. All diese Sachen mit Fourier im Namen (schnelle-/diskrete-/kontinuierliche Fourier- Transformation/Reihe/Analyse) sind im Grunde zwar alle der gleiche Vorgang, das genaue Verfahren ist dann aber im Details doch jeweils ein bisschen anders. Und was genau das richtige ist, hängt dann davon ab, was man hat und was man daraus machen will. Ich bin mir auch noch nicht 100% sicher ob du wirklich die diskrete Transformation suchst.
ps:
wo kommt den diese eins in den latexcode ?!!??!Welche? Ich seh nix.
-
(ganz rechts neben der formel sehe ich noch eine eins in klammern.)
so einfach ist das
ich vermute mal, der reelle part ist der koeffizient, der imaginäre teil die
periode ? sowas wäre ja klasseangenommen, mein signal wäre um eins nach oben verschoben. damit wären ja auch
alle zusammensetzende wellen entlang der y-achse verschoben, also mein "+ d".
das muss doch auch irgentwie zu berechnen sein. ist dann zwar keine fourierreihe
mehr, aber...MfG
der langsam verstehende dft
-
dft schrieb:
(ganz rechts neben der formel sehe ich noch eine eins in klammern.)
Das ist die Nummerierung der Formeln, wenn du diese Referenzieren willst. Die kann man durch Benutzung von \begin{equation*} abschalten. Eine Alternative zur equation-Umgebung ist $ formel $, welches dann Mathematik im inline-Stil erzeugt.
so einfach ist das
ich vermute mal, der reelle part ist der koeffizient, der imaginäre teil die
periode ? sowas wäre ja klasseangenommen, mein signal wäre um eins nach oben verschoben. damit wären ja auch
alle zusammensetzende wellen entlang der y-achse verschoben, also mein "+ d".
das muss doch auch irgentwie zu berechnen sein. ist dann zwar keine fourierreihe
mehr, aber...Bevor wir lange um's Thema herumreden: Ich habe ja schon gesagt, dass das genaue Vorgehen davon abhängt, was man hat und was man will. Also, du hast eine diskrete Reihe von Punkten? Und was willst du jetzt genau herausfinden?
-
ich möchte diese punkte in (ko)sinuswellen zerlegen, und für jede dieser
wellen phase, amplitude, wellenlänge, whatever rausfinden.ganz am ende will ich sagen können, das signal wird durch (z.b.)
4\*sin(2t)+sin(5t+7)-0.01\*sin(t+0.1)approximiert.
das muss doch gehen
-
Das machst du doch mit der von SeppJ genannten Formel.$$\left| x_k \right|$$ ist die Amplitude der k-ten Schwingung und $$\arg(x_k)$$ die Phasenverschiebung und $$\omega_1 k$$ ist die Winkelfrequenz, wenn $$\omega_1 = \frac{2\pi}{N}$$ die Winkelfrequenz der Grundschwingung ist.
Übrigens nutze besser nicht * für die Multiplikation, da dies gerade in dem Bereich in der Regel für Faltung steht :).
-
Dann ist's nur noch ein Schritt: Wie schon gesagt die Koeffizienten X_k sind das was du suchst. Bedenke das dies komplexe Zahlen sind. Die gesuchten Amplituden sind halt die Amplituden oder besser gesagt die Beträge der X_k. Und die gesuchten Phasen sind die Phasen der X_k (Polardarstellung!). Der Koeffizient X_k gehört dann jeweils zu der Frequenz k/N*Signallänge. Das heißt, das Signal bekommt wieder heraus, indem man folgendes ausrechnet:
\begin{equation*}x\_n = \frac{1}{N} \sum\_{k=0}^{N-1}X_k e^{\frac{2\pi i}{N}kn}\end{equation*}
Dabei dient der Faktor 1/N der richtigen Normierung. Die Gleichung kann man natürlich mittels der Eulerformel auch als Summe von Sinus und Konsinuswellen schreiben. Dabei dürftest du dann auch sehen, wie Betrag und Phase der X_k eingehen.
-
verstanden
das macht sogar sinn.
gleich mal testen.vielen dank euch zwei für die geduld
MfG
dft