torch.fft.ihfft
-
torch.fft.ihfft(input, n=None, dim=-1, norm=None, *, out=None) → Tensor -
Вычисляет обратное преобразование
hfft().inputдолжно быть вещественным сигналом, интерпретируемым в частотной области. Обратное преобразование Фурье вещественного сигнала является эрмитово-симметричным,X[i] = conj(X[-i]).ihfft()представляет это в односторонней форме, где включены только положительные частоты ниже частоты Найквиста. Для вычисления полного выходного сигнала используйтеifft().Примечание
Поддерживает torch.half на CUDA с архитектурой GPU SM53 или выше. Однако он поддерживает только длину сигнала, являющуюся степенью двойки, в каждой преобразуемой размерности.
- Параметры
-
- input (Tensor) – вещественный входной тензор
- n (int, optional) – Длина сигнала. Если указано, входной сигнал будет либо дополнен нулями, либо обрезан до этой длины перед вычислением обратного эрмитова преобразования Фурье.
- dim (int, optional) – Размерность, по которой выполняется одномерное обратное эрмитово преобразование Фурье.
-
norm (str, optional) –
Режим нормализации. Для обратного преобразования (
ihfft()) они соответствуют:-
"forward"- без нормализации -
"backward"- нормализуется на1/n -
"ortho"- нормализуется на1/sqrt(n)(что делает обратное преобразование ортогональным)
Вызов прямого преобразования (
hfft()) со тем же режимом нормализации применит общую нормализацию1/nмежду двумя преобразованиями. Это необходимо, чтобыihfft()было точным обратным преобразованием.По умолчанию
"backward"(нормализуется на1/n). -
- Ключевые аргументы
-
out (Tensor, optional) – выходной тензор.
Пример
>>> t = torch.arange(5) >>> t tensor([0, 1, 2, 3, 4]) >>> torch.fft.ihfft(t) tensor([ 2.0000-0.0000j, -0.5000-0.6882j, -0.5000-0.1625j])
Сравните с полным выходом от
ifft():>>> torch.fft.ifft(t) tensor([ 2.0000-0.0000j, -0.5000-0.6882j, -0.5000-0.1625j, -0.5000+0.1625j, -0.5000+0.6882j])
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.fft.ihfft.html