Eu preciso calcular apenas um pequeno número de componentes de Fourier de baixa frequência de uma matriz bidimensional complexa. Estarei computando os mesmos componentes de Fourier repetidamente conforme a matriz de entrada muda. Claramente, no limite em que eu quero apenas um componente de Fourier, seria mais rápido construir uma matriz DFT que fornece o componente que eu estou procurando e multiplicar por essa matriz repetidamente.
No outro limite, se eu quisesse todos os componentes de Fourier, seria mais rápido usar uma FFT.
Em que momento fica mais rápido calcular a FFT da matriz e simplesmente retirar os componentes que estou procurando?
Se isso faz diferença, na minha situação particular, a matriz de entrada será algo como . Estou usando o MATLAB, o que significa que minha FFT é feita usando FFTW, e uma multiplicação de matrizes para uma DFT de matriz é feita por qualquer algoritmo de multiplicação de matrizes que o MATLAB usa sob o capô.