Spec-Zone.ru › NumPy 1.18

numpy.fft.irfftn

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

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

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

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

Параметры
aarray_like

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

ssequence of ints, optional

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

axessequence of ints, optional

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

norm{None, “ortho”}, optional

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

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

Возвращает
outndarray

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

Возбуждает
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–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.18/reference/generated/numpy.fft.irfftn.html

Spec-Zone.ru

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