numpy.fft.irfftn#

fft.irfftn(a, s=None, оси=None, norm=None, выход=None)[источник]#

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

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

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

Параметры:
aarray_like

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

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

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

Изменено в версии 2.0: Если это -1, весь ввод используется (без заполнения/обрезки).

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

Устарело с версии 2.0: Если s не является None, оси не должно быть None любой.

Устарело с версии 2.0: s должен содержать только int s, а не None значения. None текущие значения означают, что значение по умолчанию для n используется в соответствующем 1-D преобразовании, но это поведение устарело.

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

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

Устарело с версии 2.0: Если s указан, соответствующий оси для преобразования также должен быть явно указан.

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

Режим нормализации (см. numpy.fft). По умолчанию — «backward». Указывает, какое направление пары преобразований вперёд/назад масштабируется и с каким коэффициентом нормализации.

Новое в версии 1.20.0: Значения "backward", "forward" были добавлены.

выходndarray, необязательно

Если предоставлено, результат будет помещен в этот массив. Он должен быть соответствующей формы и dtype для последнего преобразования.

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

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

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

Вызывает:
ValueError

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

IndexError

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

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

rfftn

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

fft

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

irfft

Обратное преобразование одномерного БПФ для вещественного ввода.

irfft2

Обратное двумерное преобразование Фурье для вещественного ввода.

Примечания

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

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

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

Примеры

>>> import numpy as np
>>> 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.]]])