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

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 исходно вычисляет в одинарной точности и X также имеет тип single. В противном случае, X возвращен как тип double.

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

Обратная длина преобразования, заданная как [] или неотрицательный целочисленный скаляр. Дополнение Y с нулями путем определения длины преобразования, больше, чем длина Y может улучшать производительность ifft. Длина обычно задается как степень 2 или продукт маленьких простых чисел. Если n меньше длины сигнала, затем ifft игнорирует остающиеся значения сигналов мимо nзапись th и возвращает усеченный результат. Если 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