Spec-Zone.ru › NumPy 1.21

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 не указан, используется размер входного массива по осям, указанным в axes. За исключением последней оси, которая принимается равной 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). По умолчанию — “backward”. Указывает, какая из направлений прямого/обратного преобразования масштабируется и с каким нормализационным множителем.

New in version 1.20.0: Значения “backward”, “forward” были добавлены.

Returns
outndarray

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

Raises
ValueError

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

IndexError

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

См. также

rfftn

Прямое N-мерное FFT для вещественного входного сигнала, обратное преобразование которого — ifftn.

fft

Одномерное FFT, с определениями и соглашениями.

irfft

Обратное одномерное FFT вещественного входного сигнала.

irfft2

Обратное двумерное FFT вещественного входного сигнала.

Примечания

См. 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–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/generated/numpy.fft.irfftn.html

Spec-Zone.ru

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