Ich muss nur eine kleine Anzahl niederfrequenter Fourier-Komponenten eines komplexen zweidimensionalen Arrays berechnen. Ich werde immer wieder dieselben Fourier-Komponenten berechnen, wenn sich das Eingabearray ändert. In der Grenze, in der ich nur eine Fourier-Komponente haben möchte, wäre es natürlich am schnellsten, eine DFT-Matrix zu erstellen, die die gewünschte Komponente angibt, und diese Matrix wiederholt zu multiplizieren.
In der anderen Grenze wäre es schneller, eine FFT zu verwenden, wenn ich alle Fourier-Komponenten haben wollte.
Ab wann wird es schneller, die FFT des Arrays zu berechnen und einfach die Komponenten herauszuziehen, nach denen ich suche?
Wenn es einen Unterschied macht, wird das Eingabearray in meiner speziellen Situation . Ich verwende MATLAB, was bedeutet, dass meine FFT mit FFTW durchgeführt wird und eine Matrixmultiplikation für eine Matrix-DFT über einen beliebigen Matrixmultiplikationsalgorithmus durchgeführt wird, den MATLAB unter der Haube verwendet.