Spec-Zone.ru › NumPy 1.20

numpy.fft.irfft

fft.irfft(a, n=None, axis=-1, norm=None) [source]

Вычисляет обратное преобразование rfft.

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

Входной массив ожидается в формате, возвращаемом функцией rfft, т.е. вещественная нулевая частота, за которой следуют комплексные положительные частотные составляющие в порядке возрастания частоты. Поскольку дискретное преобразование Фурье вещественного входного сигнала является эрмитово-симметричным, комплексные отрицательные частотные составляющие считаются комплексными сопряжёнными соответствующим положительным частотным составляющим.

Parameters
aarray_like

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

nint, optional

Длина преобразованной оси выходного массива. Для n выходных точек необходимо n//2+1 входных точек. Если входной массив длиннее, он обрезается. Если он короче, он дополняется нулями. Если n не указано, оно принимается равным 2*(m-1), где m — длина входного массива вдоль оси, заданной axis.

axisint, optional

Ось, по которой вычисляется обратное преобразование Фурье. Если не указано, используется последняя ось.

norm{“backward”, “ortho”, “forward”}, optional

Новая в версии 1.10.0.

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

Новая в версии 1.20.0: Добавлены значения «обратное», «прямое».

Returns
outndarray

Обрезанный или дополненный нулями входной массив, преобразованный вдоль оси, указанной axis, или по последней оси, если axis не указано. Длина преобразованной оси равна n, или, если n не задано, 2*(m-1), где m — длина преобразованной оси входного массива. Чтобы получить нечётное количество выходных точек, необходимо указать n.

Raises
IndexError

Если axis больше, чем последняя ось a.

См. также

numpy.fft

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

rfft

Одномерное ПФ вещественного входного сигнала, обратной к которому является irfft.

fft

Одномерное ПФ.

irfft2

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

irfftn

Обратное n-мерное ПФ вещественного входного сигнала.

Примечания

Возвращает вещественное n-точковое обратное дискретное преобразование Фурье a, где a содержит неотрицательные частотные составляющие эрмитово-симметричной последовательности. n — длина результата, а не входного массива.

Если вы указываете n таким образом, что a необходимо дополнить нулями или обрезать, дополнительные/удаленные значения будут добавлены/удалены на высоких частотах. Таким образом, можно передискретизировать последовательность до m точек с помощью интерполяции Фурье, используя: a_resamp = irfft(rfft(a), m).

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

Примеры

>>> np.fft.ifft([1, -1j, -1, 1j])
array([0.+0.j,  1.+0.j,  0.+0.j,  0.+0.j]) # may vary
>>> np.fft.irfft([1, -1j, -1])
array([0.,  1.,  0.,  0.])

Обратите внимание, что последний элемент в входном массиве для обычного ifft является комплексным сопряжённым второго элемента, а выходной массив имеет нулевую мнимую часть везде. При вызове irfft отрицательные частоты не указываются, и выходной массив является чисто вещественным.

© 2005–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/generated/numpy.fft.irfft.html

Spec-Zone.ru

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