scipy.fft.

irfftn#

scipy.fft.irfftn(x, s=None, оси=None, norm=None, overwrite_x=False, workers=None, *, plan=None)[источник]#

Вычисляет обратную матрицу rfftn

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

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

Параметры:
xarray_like

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

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

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

осипоследовательность целых чисел, опционально

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

norm{“backward”, “ortho”, “forward”}, опционально

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

overwrite_xbool, необязательно

Если True, содержимое x может быть уничтожен; по умолчанию False. См. fft для получения дополнительной информации.

workersint, необязательный

Максимальное количество рабочих процессов для параллельных вычислений. Если отрицательное, значение оборачивается с os.cpu_count(). См. fft для получения дополнительной информации.

planобъект, опционально

Этот аргумент зарезервирован для передачи предварительно вычисленного плана, предоставленного поставщиками FFT. В настоящее время не используется в SciPy.

Добавлено в версии 1.5.0.

Возвращает:
выходndarray

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

Вызывает:
ValueError

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

IndexError

Если элемент оси больше количества осей x.

Смотрите также

rfftn

Прямое N-D БПФ действительного входного сигнала, из которого ifftn является обратным.

fft

Одномерное БПФ с определениями и соглашениями, которые используются.

irfft

Обратное преобразование 1-D FFT для вещественного входного сигнала.

irfft2

Обратное 2-D БПФ для вещественного входа.

Примечания

См. fft для определений и используемых соглашений.

См. rfft для определений и соглашений, используемых для вещественного ввода.

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

Примеры

>>> import scipy.fft
>>> import numpy as np
>>> x = np.zeros((3, 2, 2))
>>> x[0, 0, 0] = 3 * 2 * 2
>>> scipy.fft.irfftn(x)
array([[[1.,  1.],
        [1.,  1.]],
       [[1.,  1.],
        [1.,  1.]],
       [[1.,  1.],
        [1.,  1.]]])