ifft

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

Описание

пример

X = ifft(Y) вычисляет обратное дискретное преобразование Фурье Y использование быстрого алгоритма преобразования Фурье. X - тот же размер, что и Y.

  • Если Y является вектором, тогда ifft(Y) возвращает обратное преобразование вектора.

  • Если Y является матрицей, тогда ifft(Y) возвращает обратное преобразование каждого столбца матрицы.

  • Если Y является многомерным массивом, затем ifft(Y) обрабатывает значения по первой размерности, размер которых не равен 1, как векторы и возвращает обратное преобразование каждого вектора.

пример

X = ifft(Y,n) возвращает n-позиционное обратное преобразование Фурье Y путем заполнения Y с конечными нулями к длине n.

пример

X = ifft(Y,n,dim) возвращает обратное преобразование Фурье вдоль размерности dim. Для примера, если Y является матрицей, тогда ifft(Y,n,2) возвращает n- обратное преобразование точек каждой строки.

пример

X = ifft(___,symflag) задает симметрию Y. Для примера, ifft(Y,'symmetric') лечит Y как сопряженный симметричный.

Примеры

свернуть все

Преобразование Фурье и его обратное преобразование между данными, дискретизированными во времени и пространстве, и данными, дискретизированными по частоте.

Создайте вектор и вычислите его преобразование Фурье.

X = [1 2 3 4 5];
Y = fft(X)
Y = 1×5 complex

  15.0000 + 0.0000i  -2.5000 + 3.4410i  -2.5000 + 0.8123i  -2.5000 - 0.8123i  -2.5000 - 3.4410i

Вычислите обратное преобразование Y, что аналогично исходному вектору X.

ifft(Y)
ans = 1×5

     1     2     3     4     5

The ifft функция позволяет вам управлять размером преобразования.

Создайте случайную матрицу 3 на 5 и вычислите 8-точечное обратное преобразование Фурье каждой строки. Каждая строка результата имеет длину 8.

Y = rand(3,5);
n = 8;
X = ifft(Y,n,2);
size(X)
ans = 1×2

     3     8

Для почти сопряженных симметричных векторов можно вычислить обратное преобразование Фурье быстрее, задав 'symmetric' опция, которая также гарантирует, что выход является реальным. Почти сопряженные симметричные данные могут возникнуть, когда расчеты вносят округление.

Создайте вектор Y это почти сопряженное симметричное и вычисляет его обратное преобразование Фурье. Затем вычислите обратное преобразование, задающее 'symmetric' опция, которая устраняет почти 0 мнимых частей.

Y = [1 2:4+eps(4) 4:-1:2]
Y = 1×7

    1.0000    2.0000    3.0000    4.0000    4.0000    3.0000    2.0000

X = ifft(Y)
X = 1×7 complex

   2.7143 + 0.0000i  -0.7213 + 0.0000i  -0.0440 - 0.0000i  -0.0919 + 0.0000i  -0.0919 - 0.0000i  -0.0440 + 0.0000i  -0.7213 - 0.0000i

Xsym = ifft(Y,'symmetric')
Xsym = 1×7

    2.7143   -0.7213   -0.0440   -0.0919   -0.0919   -0.0440   -0.7213

Входные параметры

свернуть все

Входной массив, заданный как вектор, матрица или многомерный массив. Если Y имеет тип single, затем ifft natival вычисляет в одинарной точности и X также относится к типу single. В противном случае X возвращается как тип double.

Типы данных: double | single | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical
Поддержка комплексного числа: Да

Длина обратного преобразования, заданная как [] или неотрицательный целочисленный скаляр. Заполнение Y с нулями путем задания длины преобразования, большей, чем длина Y может улучшить эффективность ifft. Длина обычно задается как степень 2 или продукт малых простых чисел. Если n меньше длины сигнала, тогда ifft игнорирует оставшиеся значения сигналов за nth и возвращает усеченный результат. Если n равен 0, тогда ifft возвращает пустую матрицу.

Типы данных: double | single | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

Размерность для работы, заданная как положительный целочисленный скаляр По умолчанию dim - первое измерение массива, не равный 1. Например, рассмотрим матрицу Y.

  • ifft(Y,[],1) возвращает обратное преобразование Фурье каждого столбца.

  • ifft(Y,[],2) возвращает обратное преобразование Фурье каждой строки.

Типы данных: double | single | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

Тип симметрии, заданный как 'nonsymmetric' или 'symmetric'. Когда Y не является точно сопряженным симметричным из-за ошибки округления, ifft(Y,'symmetric') лечит Y как если бы это были сопряженные симметричные. Для получения дополнительной информации о сопряженной симметрии см. Алгоритмы.

Подробнее о

свернуть все

Дискретное Преобразование Фурье вектора

Y = fft(X) и X = ifft(Y) реализуйте преобразование Фурье и обратное преобразование Фурье, соответственно. Для X и Y длины nэти преобразования определяются следующим образом:

Y(k)=j=1nX(j)Wn(j1)(k1)X(j)=1nk=1nY(k)Wn(j1)(k1),

где

Wn=e(2πi)/n

является одним из n корней единства.

Алгоритмы

  • ifft функция проверяет, являются ли векторы Y сопряженные симметричные. Векторное v сопряженная симметрия, когда она равна conj(v([1,end:-1:2])). Если векторы в Y являются сопряженными симметричными, тогда расчет обратного преобразования происходит быстрее, и выход является вещественным.

Расширенные возможности

..

См. также

| | | |

Представлено до R2006a