РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
280 of 769 menu

Функция ifft

Функция ifft выполняет одномерное обратное быстрое преобразование Фурье над входным тензором, возвращая комплексный тензор, содержащий исходный сигнал во временной области. Первым параметром передаётся тензор в частотной области. Вторым параметром n можно задать размер выходного сигнала. Третьим параметром dim указывается размерность, вдоль которой выполняется преобразование. Четвертым параметром norm задаётся режим нормализации ('backward' - по умолчанию, 'forward' или 'ortho').

Синтаксис

torch.fft.ifft(input, n=None, dim=-1, norm='backward')

Пример

Давайте выполним обратное преобразование Фурье над комплексным тензором, полученным после прямого преобразования:

import torch # Создаем сигнал во временной области t = torch.tensor([1, 2, 3, 4], dtype=torch.float) # Прямое преобразование Фурье fft_res = torch.fft.fft(t) print(fft_res) # Обратное преобразование Фурье ifft_res = torch.fft.ifft(fft_res) print(ifft_res)

Результат выполнения кода:

tensor([10.+0.j, -2.+2.j, -2.+0.j, -2.-2.j]) tensor([1.+0.j, 2.+0.j, 3.+0.j, 4.+0.j])

Пример

Давайте выполним обратное преобразование с изменением размера выходного сигнала с помощью параметра n:

import torch t = torch.tensor([1, 2, 3, 4], dtype=torch.float) fft_res = torch.fft.fft(t) # Обратное преобразование с размером 8 ifft_res = torch.fft.ifft(fft_res, n=8) print(ifft_res)

Результат выполнения кода:

tensor([1.0000+0.j, 2.0000+0.j, 3.0000+0.j, 4.0000+0.j, 0.0000+0.j, 0.0000+0.j, 0.0000+0.j, 0.0000+0.j])

Пример

Давайте выполним обратное преобразование с ортогональной нормализацией с помощью параметра norm='ortho':

import torch t = torch.tensor([1, 2, 3, 4], dtype=torch.float) fft_res = torch.fft.fft(t, norm='ortho') # Обратное преобразование с ортогональной нормализацией ifft_res = torch.fft.ifft(fft_res, norm='ortho') print(ifft_res)

Результат выполнения кода:

tensor([1.0000+0.j, 2.0000+0.j, 3.0000+0.j, 4.0000+0.j])

Смотрите также

  • функцию fft,
    которая выполняет прямое одномерное преобразование Фурье
  • функцию fft2,
    которая выполняет двумерное прямое преобразование Фурье
  • функцию ifft2,
    которая выполняет двумерное обратное преобразование Фурье
  • функцию fftn,
    которая выполняет n-мерное прямое преобразование Фурье
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить