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//2+1выходных точек необходимоn//2+1входных точек. Если входной массив длиннее, он усекается. Если короче, он заполняется нулями. Еслиnне указано, оно равно2*(m-1), гдеm— длина входного массива вдоль оси, указанной вaxis. - axisint, optional
-
Ось, вдоль которой вычисляется обратное БПФ. Если не указано, используется последняя ось.
- norm{“backward”, “ortho”, “forward”}, optional
-
New in version 1.10.0.
Режим нормализации (см.
numpy.fft). По умолчанию “backward”. Указывает, какая часть прямого/обратного преобразования масштабируется и с каким нормировочным множителем.New in version 1.20.0: Добавлены значения “backward”, “forward”.
- 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–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/generated/numpy.fft.irfft.html