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