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.19/reference/generated/numpy.fft.irfft.html