fft
Функция вычисления прямого дискретного преобразования Фурье.
Синтаксис
Y = fft(X);
Аргументы
| Имя | Тип данных | Описание |
|---|---|---|
| X | array/carray |
Входное значение |
Описание
fft – функция вычисления дискретного
преобразования Фурье вектора X, вычисленного по алгоритму быстрого
преобразования Фурье.
где: ωN = e(-2πi)/N , N - размерность вектора. Размер вектора X должен быть степенью числа 2. Входной вектор может быть как массивом вещественных, так и массивом комплексных чисел. Комплексное число задается выражением a + bi, где a и b вещественные и мнимые части числа соответственно. Входной массив X может задаваться:
- как переменные типа массив, определенные ранее:
Y = fft(X); - как массивы, состоящие из переменных, определенных ранее:
Y = fft([x1,x2,x3,x4]); - как постоянные массивы:
Y = fft([1, 6, 4, 2]);
Результат
| Имя | Тип данных | Описание |
|---|---|---|
| Y | array/carray |
Вектор значений дискретного преобразования Фурье вектора X |
Пример
var Fs = 1000,// Частота
Tt = 1/Fs,//Время
L = 1024; //Размер буфера
var t:array = 1024#0; //Вектор значения времени
var f:array = 1024#0; //Вектор значения частоты
var xn:array =1024#0;
for(i=0, L-1) t[i+1] = i*Tt; //заполним вектор времени
for(i=0, L-1) f[i+1] = i; //заполним вектор частоты
//Сумма синусоид 50 Гц и 120 Гц
x = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);
//Добавим к сигналу случайный шум
for (i=0, L-1) xn[i+1]=x[i+1]+2*randg(0,1);
//дискретное преобразование Фурье
y = fft(xn);
y1 = abs(y);


По виду сигнала сложно определить частотные составляющие сигнала. При помощи быстрого преобразования Фурье выделяются частотные составляющие спектра сигнала (50 Гц и 120 Гц).
Дополнительные материалы
Нет.