Forum: Digitale Signalverarbeitung / DSP / Machine Learning FFT, kleines Problem


von Sebastian E. (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.