scipy.fft.

ihfftn#

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

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

Эта функция вычисляет N-мерное обратное дискретное преобразование Фурье по любому количеству осей в M-мерном вещественном массиве с помощью быстрого преобразования Фурье (БПФ). По умолчанию преобразуются все оси, при этом вещественное преобразование выполняется по последней оси, а остальные преобразования являются комплексными.

Параметры:
xarray_like

Входной массив, принимаемый как вещественный.

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

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

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

Оси, по которым вычисляется БПФ. Если не заданы, последние 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[-1]//2+1, в то время как оставшиеся преобразованные оси будут иметь длины в соответствии с s, или без изменений от входных данных.

Вызывает:
ValueError

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

IndexError

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

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

hfftn

Прямое N-D преобразование Фурье эрмитового входа.

hfft

Одномерное БПФ эрмитового входа.

fft

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

fftn

N-мерное БПФ.

hfft2

2-мерное БПФ эрмитового входа.

Примечания

Преобразование для вещественного входа выполняется по последней оси преобразования, как в ihfft, тогда преобразование по оставшимся осям выполняется как с помощью ifftn. Порядок вывода — положительная часть эрмитова выходного сигнала, в том же формате, что и rfft.

Примеры

>>> import scipy.fft
>>> import numpy as np
>>> x = np.ones((2, 2, 2))
>>> scipy.fft.ihfftn(x)
array([[[1.+0.j,  0.+0.j], # may vary
        [0.+0.j,  0.+0.j]],
       [[0.+0.j,  0.+0.j],
        [0.+0.j,  0.+0.j]]])
>>> scipy.fft.ihfftn(x, axes=(2, 0))
array([[[1.+0.j,  0.+0.j], # may vary
        [1.+0.j,  0.+0.j]],
       [[0.+0.j,  0.+0.j],
        [0.+0.j,  0.+0.j]]])