быстрое преобразование Фурье - PullRequest
2 голосов
/ 07 декабря 2011

Я нашел немного кода в Matlab:

y = fft(y,nfft);

Где y - это 512x443 2d массив и nfft = 512.

Я думал, что fft для массива с одним измерениеми для 2d массива должно быть fft2, но fft работает.Как это возможно, кто-нибудь может мне это объяснить?

Ответы [ 2 ]

3 голосов
/ 07 декабря 2011

fft фактически принимает (необязательный) третий аргумент: dim.Это говорит о том, в каком измерении выполнять БПФ.Если вы не укажете, dim будет по умолчанию «первое не единственное измерение».Итак, вы получаете 1D FFT всех столбцов вашего 2D массива.

3 голосов
/ 07 декабря 2011

Из документации (выделено мной):

Y = fft (x) возвращает дискретное преобразование Фурье (DFT) вектора x, вычисленное с помощью быстрого преобразования Фурье(FFT) алгоритм.

Если вход X является матрицей, Y = fft (X) возвращает преобразование Фурье каждого столбца матрицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...