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.
См. также
Примечания
Возвращает вещественное
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