Spec-Zone.ru › NumPy 1.20

numpy.fft.irfftn

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

Вычисляет обратное преобразование rfftn.

Эта функция вычисляет обратное N-мерное дискретное преобразование Фурье для вещественного входного массива по любому числу осей в M-мерном массиве с помощью быстрого преобразования Фурье (FFT). Другими словами, irfftn(rfftn(a), a.shape) == a с точностью до погрешности округления. (Это a.shape необходимо, как и len(a) для irfft, и по той же причине.)

Входные данные должны быть упорядочены так же, как возвращает rfftn, т.е. как для irfft для последней оси преобразования и как для ifftn по всем другим осям.

Parameters
aarray_like

Входной массив.

ssequence of ints, optional

Форма (длина каждой оси преобразования) выходного массива (s[0] относится к оси 0, s[1] к оси 1 и т. д.). s также является количеством точек входных данных, используемых вдоль этой оси, за исключением последней оси, где используется s[-1]//2+1 точек входных данных. Вдоль любой оси, если форма, указанная s, меньше, чем форма входных данных, входные данные обрезаются. Если она больше, входные данные дополняются нулями. Если s не задано, используется форма входных данных вдоль осей, указанных 2*(m-1), или m длина входных данных вдоль этой оси.

axessequence of ints, optional

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

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

New in version 1.10.0.

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

New in version 1.20.0: Значения «обратное», «прямое» были добавлены.

Returns
outndarray

Усечённые или дополненные нулями входные данные, преобразованные вдоль осей, указанных axes, или комбинацией s или a, как объяснено в разделе параметров выше. Длина каждой оси преобразования задаётся соответствующим элементом s, или длиной входных данных на каждой оси, за исключением последней, если s не задано. На последней оси длина выходных данных, если s не задано, равна 2*(m-1), где m — длина последней оси преобразования входных данных. Чтобы получить нечётное количество выходных точек на конечной оси, необходимо задать s.

Raises
ValueError

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

IndexError

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

См. также

rfftn

Прямое N-мерное преобразование Фурье вещественного массива, обратное к которому — ifftn.

fft

Одномерное преобразование Фурье с определениями и соглашениями.

irfft

Обратное одномерное преобразование Фурье вещественного массива.

irfft2

Обратное двумерное преобразование Фурье вещественного массива.

Примечания

См. fft для определений и соглашений.

См. rfft для определений и соглашений для вещественного ввода.

Правильная интерпретация эрмитова ввода зависит от формы исходных данных, как задано s. Это связано с тем, что каждая форма ввода может соответствовать как сигналу чётной, так и нечётной длины. По умолчанию irfftn предполагает чётную длину выходных данных, что размещает последний элемент на частоте Найквиста; с алиасингом с его симметричным аналогом. При выполнении последнего преобразования комплексного числа в вещественное число, последнее значение рассматривается как чисто вещественное. Чтобы избежать потери информации, необходимо указать правильную форму вещественного входного массива.

Примеры

>>> a = np.zeros((3, 2, 2))
>>> a[0, 0, 0] = 3 * 2 * 2
>>> np.fft.irfftn(a)
array([[[1.,  1.],
        [1.,  1.]],
       [[1.,  1.],
        [1.,  1.]],
       [[1.,  1.],
        [1.,  1.]]])

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

Spec-Zone.ru

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