Skip to content
/ FFT Public

Fast Fourier Transform. Быстрое преобразование Фурье

Notifications You must be signed in to change notification settings

gl-ser/FFT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

FFT - Fast Fourier Transform

Класс быстрого преобразования Фурье


Публичные типы

//Тип описывает комплексное число
typedef std::complex<double> TComplex;

//Тип описывает массив комплексных чисел
typedef std::vector<TComplex> TArrComplex;

TFFT

Публичные методы

  1. MultiplicityOfTwoBig вычисляет размер массива сигнала кратный степеням двойки

и больший (на одну степень двойки) либо равный длине входного массива сигнала

На вход подается:

  • исходная длина массива сигнала.

На выходе можно получить:

  • длина массива сигнала кратная степени двойки

Синтаксис:

unsigned int MultiplicityOfTwoBig(unsigned int Size)
  1. PreCalcEXP предварительный расчет массивов экспонент

Вызывать до DirectFFT и InverseFFT

На вход подается:

  • размер массива сигнала кратный степени двойки (после коррекции методом MultiplicityOfTwoBig)

Синтаксис:

void PreCalcEXP(unsigned int N)
  1. DirectFFT вычисляет прямое БПФ

Вызывать после PreCalcEXP

Длина входного массива сигнала должна быть кратна степеням двойки

На вход подается:

  • массив сигнала во временной области.

На выходе можно получить:

  • массив сигнала в частотной области

Синтаксис:

TArrComplex DirectFFT(const TArrComplex &In)
  1. InverseFFT вычисляет обратное БПФ

Вызывать после PreCalcEXP

Длина входного массива сигнала должна быть кратна степеням двойки

На вход подается:

  • массив сигнала в частотной области.

На выходе можно получить:

  • массив сигнала во временной области

Синтаксис:

TArrComplex InverseFFT(const TArrComplex &In)