Функция fft
Функция fft выполняет одномерное дискретное
преобразование Фурье над массивом комплексных чисел.
Первый параметр функции - это входной массив данных.
Второй необязательный параметр - длина преобразования.
Если длина больше, чем исходный массив, то массив
дополняется нулями, если меньше - обрезается.
Синтаксис
np.fft.fft(a, [n], [axis], [norm])
Пример
Давайте применим преобразование Фурье к простому массиву комплексных чисел:
import numpy as np
arr = np.array([1, 2, 3, 4])
res = np.fft.fft(arr)
print(res)
Результат выполнения кода:
[10.+0.j -2.+2.j -2.+0.j -2.-2.j]
Пример
Теперь зададим длину преобразования больше, чем длина исходного массива:
import numpy as np
arr = np.array([1, 2, 3, 4])
res = np.fft.fft(arr, n=8)
print(res)
Результат выполнения кода:
[10.+0.j -3.41421356+7.24264069j
-0. +4.j -0.58578644-1.0j -2.+0.j
-0.58578644+1.0j -0. -4.j
-3.41421356-7.24264069j]
Пример
Также можно выполнить преобразование вдоль конкретной оси двумерного массива:
import numpy as np
arr = np.array([[1, 2], [3, 4]])
res = np.fft.fft(arr, axis=0)
print(res)
Результат выполнения кода:
[[4.+0.j 6.+0.j]
[-2.+0.j -2.+0.j]]