Класс быстрого преобразования Фурье
//Тип описывает комплексное число
typedef std::complex<double> TComplex;
//Тип описывает массив комплексных чисел
typedef std::vector<TComplex> TArrComplex;
- MultiplicityOfTwoBig вычисляет размер массива сигнала кратный степеням двойки
и больший (на одну степень двойки) либо равный длине входного массива сигнала
На вход подается:
- исходная длина массива сигнала.
На выходе можно получить:
- длина массива сигнала кратная степени двойки
Синтаксис:
unsigned int MultiplicityOfTwoBig(unsigned int Size)
- PreCalcEXP предварительный расчет массивов экспонент
Вызывать до DirectFFT и InverseFFT
На вход подается:
- размер массива сигнала кратный степени двойки (после коррекции методом MultiplicityOfTwoBig)
Синтаксис:
void PreCalcEXP(unsigned int N)
- DirectFFT вычисляет прямое БПФ
Вызывать после PreCalcEXP
Длина входного массива сигнала должна быть кратна степеням двойки
На вход подается:
- массив сигнала во временной области.
На выходе можно получить:
- массив сигнала в частотной области
Синтаксис:
TArrComplex DirectFFT(const TArrComplex &In)
- InverseFFT вычисляет обратное БПФ
Вызывать после PreCalcEXP
Длина входного массива сигнала должна быть кратна степеням двойки
На вход подается:
- массив сигнала в частотной области.
На выходе можно получить:
- массив сигнала во временной области
Синтаксис:
TArrComplex InverseFFT(const TArrComplex &In)