Spec-Zone.ru › NumPy 1.11

numpy.fft.ifftn

numpy.fft.ifftn(a, s=None, axes=None, norm=None) [source]

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

Эта функция вычисляет обратное N-мерное дискретное преобразование Фурье по любому количеству осей в массиве размерности M с использованием быстрого преобразования Фурье (FFT). Другими словами, ifftn(fftn(a)) == a с точностью до численных погрешностей. Определения и соглашения, используемые в этой функции, описаны в numpy.fft.

Входные данные, аналогично ifft, должны быть упорядочены так же, как и возвращает fftn, т. е. термин для нулевой частоты на всех осях должен быть в углу с наименьшими индексами, положительные частоты — в первой половине каждой оси, термин для частоты Найквиста — посередине всех осей, а отрицательные частоты — во второй половине осей в порядке убывания отрицательных частот.

Параметры:

a : array_like

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

s : последовательность целых чисел, необязательно

Размерность (длина каждой оси преобразованного массива) выходного массива (s[0] относится к оси 0, s[1] — к оси 1 и т. д.). Это соответствует n для ifft(x, n). На любой оси, если заданный размер меньше размера входных данных, входные данные обрезаются. Если он больше, входные данные заполняются нулями. Если s не указан, используется размер входных данных по осям, указанным в axes. См. примечания о проблеме с нулевым заполнением в ifft.

axes : последовательность целых чисел, необязательно

Оси, по которым вычисляется обратное преобразование. Если не указаны, используются последние len(s) оси, или все оси, если s также не указаны. Повторяющиеся индексы в axes означают, что обратное преобразование по этой оси выполняется несколько раз.

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

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

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

Возвращаемое значение:

out : комплексный массив ndarray

Усечённые или заполненные нулями входные данные, преобразованные по осям, указанным в axes, или в результате комбинации s или a, как описано в разделе параметров выше.

Исключения:

ValueError

Если s и axes имеют разную длину.

IndexError

Если элемент axes больше, чем количество осей в a.

См. также

numpy.fft
Общий обзор дискретных преобразований Фурье, с определениями и соглашениями, используемыми в функции.
fftn
Прямое N-мерное преобразование Фурье, обратным к которому является ifftn.
ifft
Одномерное обратное преобразование Фурье.
ifft2
Двумерное обратное преобразование Фурье.
ifftshift
Отменяет fftshift, сдвигает члены нулевой частоты в начало массива.

Примечания

См. numpy.fft для определений и соглашений, используемых в функции.

Нулевое заполнение, аналогично ifft, выполняется путем добавления нулей к входным данным вдоль заданной оси. Хотя это и обычный подход, он может привести к неожиданным результатам. Если требуется другой вид нулевого заполнения, его необходимо выполнить до вызова ifftn.

Примеры

>>> a = np.eye(4)
>>> np.fft.ifftn(np.fft.fftn(a, axes=(0,)), axes=(1,))
array([[ 1.+0.j,  0.+0.j,  0.+0.j,  0.+0.j],
       [ 0.+0.j,  1.+0.j,  0.+0.j,  0.+0.j],
       [ 0.+0.j,  0.+0.j,  1.+0.j,  0.+0.j],
       [ 0.+0.j,  0.+0.j,  0.+0.j,  1.+0.j]])

Создать и отобразить изображение с ограниченным по полосе частотам содержанием:

>>> import matplotlib.pyplot as plt
>>> n = np.zeros((200,200), dtype=complex)
>>> n[60:80, 20:40] = np.exp(1j*np.random.uniform(0, 2*np.pi, (20, 20)))
>>> im = np.fft.ifftn(n).real
>>> plt.imshow(im)
<matplotlib.image.AxesImage object at 0x...>
>>> plt.show()

(Исходный код, png, pdf)

../../_images/numpy-fft-ifftn-1.png

© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.11.0/reference/generated/numpy.fft.ifftn.html

Spec-Zone.ru

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