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