Spec-Zone.ru › NumPy 1.21

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.

См. также

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–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/generated/numpy.fft.irfft.html

Spec-Zone.ru

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