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

Функция ifftshift

Функция ifftshift выполняет обратный сдвиг нулевой частоты в спектре сигнала. Она применяется для восстановления исходного порядка элементов массива после применения функции fftshift. В качестве первого параметра функция принимает массив данных. Вторым необязательным параметром можно указать ось, вдоль которой будет выполняться сдвиг. Если ось не указана, сдвиг выполняется по всем осям одновременно.

Синтаксис

np.ifftshift(x, axes=None)

Пример

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

import numpy as np arr = np.array([1, 2, 3, 4, 5]) res = np.ifftshift(arr) print(res)

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

[3 4 5 1 2]

Пример

Давайте применим ifftshift для восстановления порядка элементов после использования fftshift:

import numpy as np arr = np.array([10, 20, 30, 40, 50]) shifted = np.fftshift(arr) restored = np.ifftshift(shifted) print("Original:", arr) print("Shifted:", shifted) print("Restored:", restored)

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

Original: [10 20 30 40 50] Shifted: [40 50 10 20 30] Restored: [10 20 30 40 50]

Пример

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

import numpy as np arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]) res = np.ifftshift(arr) print(res)

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

[[11 12 9 10] [15 16 13 14] [3 4 1 2] [7 8 5 6]]

Пример

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

import numpy as np arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]) res = np.ifftshift(arr, axes=0) print(res)

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

[[9 10 11 12] [13 14 15 16] [1 2 3 4] [5 6 7 8]]

Пример

Давайте восстановим двумерный массив после применения fftshift по обеим осям:

import numpy as np arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]) shifted = np.fftshift(arr) restored = np.ifftshift(shifted) print("Original:") print(arr) print("\nShifted:") print(shifted) print("\nRestored:") print(restored)

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

Original: [[1 2 3 4] [5 6 7 8] [9 10 11 12] [13 14 15 16]] Shifted: [[11 12 9 10] [15 16 13 14] [3 4 1 2] [7 8 5 6]] Restored: [[1 2 3 4] [5 6 7 8] [9 10 11 12] [13 14 15 16]]

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

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