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 или выше. Однако поддерживает только длину сигнала, являющуюся степенью двойки, в каждой преобразуемой размерности.
- Параметры:
-
- input (Тензор) – входной тензор
- n (int, необязательно) – Длина сигнала. Если указано, вход будет дополнен нулями или обрезан до этой длины перед вычислением БПФ.
- dim (int, необязательно) – Размерность, по которой вычисляется одномерное БПФ.
-
norm (строка, необязательно) –
Режим нормализации. Для прямого преобразования (
fft()), они соответствуют:-
"forward"- нормализация на1/n -
"backward"- без нормализации -
"ortho"- нормализация на1/sqrt(n)(делающая БПФ ортогональным)
Вызов обратного преобразования (
ifft()) с тем же режимом нормализации применит общую нормализацию1/nмежду двумя преобразованиями. Это необходимо, чтобыifft()было точным обратным преобразованием.По умолчанию
"backward"(без нормализации). -
- Ключевые аргументы:
-
out (Тензор, необязательно) – выходной тензор.
Пример
>>> 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])
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/generated/torch.fft.fft.html