Spec-Zone.ru › NumPy 2.0

numpy.fft.irfft

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

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

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

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

Параметры:
aarray_like

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

nint, необязательно

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

axisint, необязательно

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

norm{“backward”, “ortho”, “forward”}, необязательно

Добавлена в версии 1.10.0.

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

Добавлена в версии 1.20.0: Добавлены значения “backward”, “forward”.

outndarray, необязательно

Если предоставлен, результат будет помещён в этот массив. Он должен быть соответствующей формы и типа.

Добавлена в версии 2.0.0.

Возвращаемое значение:
outndarray

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

Исключения:
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–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.fft.irfft.html

Spec-Zone.ru

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