Матричная лаборатория MatLab

         

Функции одномерного прямого преобразования Фурье



Функции одномерного прямого преобразования Фурье

В описанных ниже функциях реализован особый метод быстрого преобразования Фурье — Fast Fourier Transform (FFT, или БПФ), позволяющий резко уменьшить число арифметических операций в ходе приведенных выше преобразований. Он особенно эффективен, если число обрабатываемых элементов (отсчетов) составляет 2 т , где т — целое положительное число. Используется следующая функция:


  • fft(X) — возвращает для вектора X дискретное преобразование Фурье, по возможности используя алгоритм быстрого преобразования Фурье. Если X — матрица, функция fft возвращает преобразование Фурье для каждого столбца матрицы;

  • fft(X.n) — возвращает n-точечное преобразование Фурье. Если длина вектора X меньше n, то недостающие элементы заполняются нулями. Если длина X больше п, то лишние элементы удаляются. Когда X — матрица, длина столбцов корректируется аналогично;

  • fft(X,[ Ldirn) и fft(X,n,dim) — применяют преобразование Фурье к одной из размерностей массива в зависимости от значения параметра dim.

Для иллюстрации применения преобразования Фурье создадим трехчастотный сигнал на фоне сильного шума, создаваемого генератором случайных чисел:

»t=0:0.0005:1;

»x=sin(2*pi*200*t)+0.4*sin(2*pi*150*t)

+0.4*sin(2*pi*250*t);

» y=x+2*randn(size(t)); 

» plot(y(1:100),'b')



Содержание раздела