Spec-Zone.ru › NumPy 1.21

numpy.fft.fft

fft.fft(a, n=None, axis=- 1, norm=None)[source]

Вычисление одномерного дискретного преобразования Фурье.

Эта функция вычисляет одномерное n-точечное дискретное преобразование Фурье (ДПФ) с использованием эффективного алгоритма быстрой Фурье (БПФ) [CT].

Параметры
aarray_like

Входной массив, может быть комплексным.

nint, необязательно

Длина преобразованной оси выходного массива. Если n меньше длины входного массива, входной массив усекается. Если он больше, входной массив дополняется нулями. Если n не указан, используется длина входного массива по оси, указанной axis.

axisint, необязательно

Ось, по которой вычисляется БПФ. Если не указано, используется последняя ось.

norm{“backward”, “ortho”, “forward”}, необязательно

Новая в версии 1.10.0.

Режим нормализации (см. numpy.fft). По умолчанию “backward”. Указывает, какой из направления прямого/обратного преобразования масштабируется и с каким коэффициентом нормализации.

Новая в версии 1.20.0: Были добавлены значения “backward”, “forward”.

Возвращает
outcomplex ndarray

Усеченный или дополненный нулями входной массив, преобразованный вдоль оси, указанной axis, или по последней оси, если axis не указан.

Возможные исключения
IndexError

Если axis не является допустимой осью для a.

См. также

numpy.fft

для определения ДПФ и используемых соглашений.

ifft

Обратное преобразование к fft.

fft2

Двумерное БПФ.

fftn

n-мерное БПФ.

rfftn

n-мерное БПФ для вещественного входного массива.

fftfreq

Частотные интервалы для заданных параметров БПФ.

Примечания

БПФ (быстрое преобразование Фурье) – это способ эффективного вычисления дискретного преобразования Фурье (ДПФ) с использованием симметрий в вычисляемых членах. Симметрия максимальна, когда n является степенью двойки, поэтому преобразование наиболее эффективно для таких размеров.

ДПФ определяется, с использованием соглашений в этом реализации, в документации для numpy.fft модуля.

Ссылки

CT

Кули, Джеймс У., и Джон У. Такки, 1965, «Алгоритм для машинного вычисления комплексных рядов Фурье», Math. Comput. 19: 297-301.

Примеры

>>> np.fft.fft(np.exp(2j * np.pi * np.arange(8) / 8))
array([-2.33486982e-16+1.14423775e-17j,  8.00000000e+00-1.25557246e-15j,
        2.33486982e-16+2.33486982e-16j,  0.00000000e+00+1.22464680e-16j,
       -1.14423775e-17+2.33486982e-16j,  0.00000000e+00+5.20784380e-16j,
        1.14423775e-17+1.14423775e-17j,  0.00000000e+00+1.22464680e-16j])

В этом примере вещественный входной массив имеет БПФ, который является эрмитовым, то есть симметричным по действительной части и антисимметричным по мнимой части, как описано в документации для numpy.fft:

>>> import matplotlib.pyplot as plt
>>> t = np.arange(256)
>>> sp = np.fft.fft(np.sin(t))
>>> freq = np.fft.fftfreq(t.shape[-1])
>>> plt.plot(freq, sp.real, freq, sp.imag)
[<matplotlib.lines.Line2D object at 0x...>, <matplotlib.lines.Line2D object at 0x...>]
>>> plt.show()
../../_images/numpy-fft-fft-1.png

© 2005–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/generated/numpy.fft.fft.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API