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