Spec-Zone.ru › NumPy 1.20

numpy.fft.fft

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

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

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

Параметры
aarray_like

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

nint, optional

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

axisint, optional

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

norm{“backward”, “ortho”, “forward”}, optional

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

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

Новая в версии 1.20.0: Были добавлены значения «обратная», «прямая».

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

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

Возбуждает
IndexError

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

См. также

numpy.fft

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

ifft

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

fft2

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

fftn

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

rfftn

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

fftfreq

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

Примечания

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

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

Ссылки

CT

Кули, Джеймс У., и Джон У. Такки, 1965, «Алгоритм для машинного вычисления комплексных рядов Фурье», Мат. вычисл. 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–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/generated/numpy.fft.fft.html

Spec-Zone.ru

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