numpy.fft.irfft
-
numpy.fft.irfft(a, n=None, axis=-1, norm=None)[source] -
Вычисление обратного n-точечного ДПФ для вещественного входа.
Эта функция вычисляет обратное одномерное n-точечное дискретное преобразование Фурье вещественного входа, вычисленное функцией
rfft. Другими словами,irfft(rfft(a), len(a)) == aс точностью до вычислительной погрешности. (См. Примечания ниже, объясняющие, почемуlen(a)необходимо здесь.)Входной массив ожидается в форме, возвращаемой функцией
rfft, т.е. действительная нулевая частота, за которой следуют комплексные положительные частоты в порядке возрастания частоты. Поскольку дискретное преобразование Фурье вещественного входа является эрмитово-симметричным, отрицательные частоты считаются комплексными сопряжёнными соответствующим положительным частотам.- Параметры
-
-
aarray_like -
Входной массив.
-
nint, optional -
Длина оси преобразования выходного массива. Для
nточек выходного массива необходимыn//2+1точек входного массива. Если входной массив длиннее, он усекается. Если он короче, он дополняется нулями. Еслиnне задано, оно принимается равным2*(m-1), гдеm— длина входного массива по оси, указаннойaxis. -
axisint, optional -
Ось, по которой вычисляется обратное БПФ. Если не указано, используется последняя ось.
-
norm{None, “ortho”}, optional -
Введено в версии 1.10.0.
Режим нормализации (см.
numpy.fft). По умолчанию None.
-
- Возвращает
-
-
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–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.18/reference/generated/numpy.fft.irfft.html