exponenta event banner

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 игнорирует оставшиеся значения сигнала после 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 (j 1) (k 1) X (j) =1n∑k=1nY (k) Wn − (j − 1) (k − 1),

где

Wn = e (2οi )/n

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

Алгоритмы

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

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

..

См. также

| | | |

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