Spec-Zone.ru › NumPy 1.18

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.

См. также

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

Spec-Zone.ru

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