2012-04-13 6 views
0

Ich möchte numpy verwenden, um eine doppelte Frequenz-Transformation zu präformieren. Ich habe einige Daten, die in der Raum-Zeit-Domäne sind, und ich möchte es in der Frequenz-Wellenzahl-Domäne betrachten. Ich denke, numpys ft2-Befehl kann das für mich tun, aber ich bin ein wenig unsicher, wie ich es implementieren soll. Meine Daten sind in einem 2D-Array mit Form (864000, 2) die erste Spalte ist die räumliche Daten und das zweite Mal. Ich habe versucht, die folgenden,Frequenz-Wellenzahl-Domäne und fft2-Befehl in numpy

ft2 = fft2(data) 
plot(abs(ft2)) 

ich etwas, das in der Mitte flach aussieht und bläst an den Ecken auf, die ich glaube nicht richtig ist. Weiß jemand wie man das richtig macht ???

+0

Wenn ich richtig verstehe, haben Sie 1D Probe in dem Fall, dass Sie 'numpy.fft.fft' wollen. Sie sollten es auf die räumlichen Daten anwenden. Beachten Sie jedoch, dass bei normaler FFT/DFT davon ausgegangen wird, dass Ihre Proben aus einheitlichen Zeitintervallen stammen. – Avaris

+1

Ist die Dimension 864000 Länge ein "abgeflachtes" Raster? "fft2" erwartet, dass Dinge ein 2-D-Gitter (z. B. 100 × 100) anstelle einer 1D-abgeflachten Version derselben Sache (z. B. ein Vektor mit 10000 Länge) sind. –

Antwort

0

ok Ich hatte die Verwendung missverstanden, für fft2 müssen die Daten eine n mal m Matrix sein, wobei jede Zeile ein anderes Zeitinkrement darstellen sollte und jede Spalte einen anderen Ort repräsentieren sollte.