Hallo ihr! Ich versuche gerade ein ganz simples Programm zu schreiben, dass die FFT zu einem gegeben Signal berechnet. Leider ist das Ergebnis dies Algorithmus ziemlicher murks ;-) Ich mache das ganze so: ich teile die signalfolge rekursiv in gerade und ungerade Indizes auf, und füge diese dann von unten nach oben wieder zusammen. Und genau da liegt das Problem. Ich bin mir nicht ganz sicher, wie das zusammenfügen gemacht werden soll. Leider bin ich auch nach 2 Tagen Internet/Literaturrecherche nicht ganz schlau geworden.... Hier mal meine Zusammen-Füge Funktion (ganz simpel) (in C#): // Füge die zwei arrays (gerade und ungerade indizes) v1 und v2 der Länge size/2 zu einem array (target) der Länge size zusammen private void buildFFT(double[] target, double[] v1, double[] v2, int size) { int hSize = size / 2; for (int k = 0; k < hSize; k++) { double exp = Math.Exp(-2.0 * Math.PI * k / size); target[k] = v1[k] + v2[k]*exp; target[k + hSize] = v1[k] - v2[k]*exp; }//end for }//end buildFFT Mache ich da was falsch? Ist bestimmt ein blöder Fehler, aber leider finde ich keine Informationen dazu... :-( Danke für eure Hilfe!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.