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

Функция fft.fftshift

Функция fft.fftshift выполняет перестановку половинок многомерного массива, перемещая компоненту с нулевой частотой из угла в центр. Это удобно при визуализации спектра сигнала, так как большинство спектральных графиков показывают нулевую частоту в центре. Первым параметром функция принимает тензор с частотным представлением сигнала. Вторым параметром можно указать размерность, по которой выполнять сдвиг.

Синтаксис

torch.fft.fftshift(x, [dim])

Пример

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

import torch x = torch.tensor([1, 2, 3, 4]) res = torch.fft.fftshift(x) print(res)

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

tensor([3, 4, 1, 2])

Пример

Рассмотрим двумерный случай, где сдвиг выполняется по обеим осям:

import torch x = torch.tensor([ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]) res = torch.fft.fftshift(x) print(res)

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

tensor([ [9, 7, 8], [3, 1, 2], [6, 4, 5] ])

Пример

Выполним сдвиг только по одной размерности в двумерном массиве:

import torch x = torch.tensor([ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]) res = torch.fft.fftshift(x, dim=0) print(res)

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

tensor([ [7, 8, 9], [1, 2, 3], [4, 5, 6] ])

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

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