Spec-Zone.ru › NumPy 1.19

numpy.fft.fft

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

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

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

Параметры
aarray_like

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

nint, optional

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

axisint, optional

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

norm{None, “ortho”}, optional

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

Режим нормализации (см. numpy.fft). По умолчанию None.

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

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

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

если axes больше, чем последняя ось a.

См. также

numpy.fft

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

ifft

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

fft2

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

fftn

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

rfftn

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

fftfreq

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

Примечания

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

ДПФ определено, с используемыми в этой реализации соглашениями, в документации для модуля 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–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.fft.fft.html

Spec-Zone.ru

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