Spec-Zone.ru › NumPy 1.18

numpy.fft.fft

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

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

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

Параметры
aarray_like

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

nint, optional

Длина преобразованной оси выходных данных. Если n меньше длины входных данных, входные данные обрезаются. Если она больше, входные данные дополняются нулями. Если n не задано, используется длина входных данных по оси, указанной 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.18/reference/generated/numpy.fft.fft.html

Spec-Zone.ru

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