Документация Engee

ifft2

Двумерное обратное быстрое преобразование Фурье.

Библиотека

EngeeDSP

Синтаксис

Вызов функции

  • X = ifft2(Y) — возвращает двумерное дискретное обратное преобразование Фурье матрицы, используя алгоритм быстрого преобразования Фурье. Если Y — многомерный массив, то функция ifft2 выполняет двумерное обратное преобразование для каждого измерения, большего 2. Выходной аргумент X имеет тот же размер, что и Y.

  • X = ifft2(Y,m,n) — усекает Y или дополняет Y нулями до конца, формируя матрицу размером m на n, перед вычислением обратного преобразования. X также имеет размер m на n. Если Y — многомерный массив, то функция ifft2 формирует первые два измерения Y в соответствии с m и n.

  • X = ifft2(___,symflag) — определяет симметричность Y в дополнение к любым комбинациям входных аргументов в предыдущих синтаксисах. Например, ifft2(Y,"symmetric") рассматривает аргумент Y как сопряженно-симметричный.

Аргументы

Входные аргументы

# Y — входной массив
матрица | многомерный массив

Details

Входной массив, заданный как матрица или многомерный массив. Если Y имеет тип Float32, то функция ifft2 вычисляется с одинарной точностью, и X также имеет тип Float32. В противном случае X возвращается как Float64.

Типы данных

Float64, Float32, Int8, Int16, Int32, UInt8, UInt16, UInt32, Bool

Поддержка комплексных чисел

Да

# m — количество строк обратного преобразования
положительный целочисленный скаляр

Details

Количество строк обратного преобразования, заданное как положительное целое число.

Типы данных

Float64, Float32, Int8, Int16, Int32, UInt8, UInt16, UInt32, Bool

# n — количество столбцов обратного преобразования
положительный целочисленный скаляр

Details

Количество столбцов обратного преобразования, заданное как положительное целое число.

Типы данных

Float64, Float32, Int8, Int16, Int32, UInt8, UInt16, UInt32, Bool

# symflag — тип симметрии
"nonsymmetric" (по умолчанию) | "symmetric"

Details

Тип симметрии, определяемый как "nonsymmetric" или "symmetric". Если аргмуент Y не является точно сопряженно-симметричным из-за ошибки округления, ifft2(Y,"symmetric") трактует Y как сопряженно-симметричный, игнорируя вторую половину его элементов (находящихся в отрицательном частотном спектре). Подробнее о сопряженной симметрии см. в разделе Алгоритмы.

Выходные аргументы

# X — выходной массив
матрица | многомерный массив

Details

Выходной массив, возвращаемый в виде матрицы или многомерного массива.

Дополнительно

Двумерное обратное преобразование Фурье

Details

Данная формула определяет дискретное обратное преобразование Фурье матрицы размером на :

Здесь и — комплексные корни из единицы:



где — мнимая единица. изменяется от до , а — от до .

Алгоритмы

  • Функция ifft2 проверяет, является ли матрица Y сопряженно-симметричной. Если Y сопряженно-симметричная, то вычисление обратного преобразования выполняется быстрее, а выходной сигнал — вещественный.

    Функция является сопряженно-симметричной, если . Однако быстрое преобразование Фурье двумерного сигнала во временной области имеет половину спектра в положительных частотах, а другую половину — в отрицательных, причем первые строка и столбец зарезервированы для нулевых частот. По этой причине матрица Y является сопряженно-симметричной, если выполняются все следующие условия:

    • Y(1,2:end) является сопряженно-симметричной, или Y(1,2:end) = conj(Y(1,end:-1:2));

    • Y(2:end,1) является сопряженно-симметричной, или Y(2:end,1) = conj(Y(end:-1:2,1));

    • Y(2:end,2:end) является сопряженно-центросимметричной, или Y(2:end,2:end) = conj(Y(end:-1:2,end:-1:2)).