scipy.fft.

rfftn#

scipy.fft.rfftn(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 соответствует n для rfft(x, n), в то время как для остальных осей это соответствует n для fft(x, n). По любой оси, если заданная форма меньше, чем у входных данных, входные данные обрезаются. Если она больше, входные данные дополняются нулями. если 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.

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

irfftn

Обратная величина rfftn, т.е. обратное N-мерное преобразование Фурье для действительного входа.

fft

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

rfft

Одномерное БПФ для вещественного входа.

fftn

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

rfft2

2-D БПФ реального входного сигнала.

Примечания

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

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

Примеры

>>> import scipy.fft
>>> import numpy as np
>>> x = np.ones((2, 2, 2))
>>> scipy.fft.rfftn(x)
array([[[8.+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.rfftn(x, axes=(2, 0))
array([[[4.+0.j,  0.+0.j], # may vary
        [4.+0.j,  0.+0.j]],
       [[0.+0.j,  0.+0.j],
        [0.+0.j,  0.+0.j]]])