libdspl-2.0

Структура данных объекта быстрого преобразования Фурье Подробнее...

#include <dspl.h>

Поля данных

complex_tw
 
complex_tt0
 
complex_tt1
 
int n
 
int p2
 

Подробное описание

Структура данных объекта быстрого преобразования Фурье


Структура хранит указатели на массивы поворотных коэффициентов и массивов промежуточных данных алгоритма быстрого преобразования Фурье с прореживанием по времени.

Аргументы
nРазмер вектора БПФ, для которого выделена память в массивах структуры.
Парметр n должен быть равен целой степени двойки.

p2Целая степень двойки, образующая размер БПФ.

Так $2^{p2} = n$.
wУказатель на вектор поворотных коэффициентов алгоритма БПФ.
Размер вектора [n x 1].
Память должна быть выделена и массив поворотных коэффициентов должен быть заполнен функцией fft_create.

t0Указатель на вектор промежуточных вычислений алгоритма БПФ.
Размер вектора [n x 1].
Память должна быть выделена функцией fft_create.

t1Указатель на вектор промежуточных вычислений алгоритма БПФ.
Размер вектора [n x 1].
Память должна быть выделена функцией fft_create.

Структура заполняется функцией fft_create один раз до использования алгоритма БПФ.
Указатель на объект данной структуры может быть многократно использован при вызвове функций БПФ.
Перед выходом из программы выделенную память под поворотные коэффициенты и массивы промежуточных данных необходимо очистить функцией fft_free. Например:

fft_t pfft; // объявляем объект fft_t
int n = 64; // Размер БПФ
// обнуляем все поля и указатели.
// Данные шаг рекомендуется ввиду того, что некоторые
// при создании переменной не инициализируют ее нулем.
memset(&pfft, 0, sizeof(fft_t));
int err;
//создаем объект для 64-точечного БПФ
err = fft_create(&pfft, n);
// Вызов БПФ функции
// Еще раз вызов БПФ функции
// ....
//очистить память объекта БПФ
fft_free(&pfft);

Важно отметить, что если объект fft_t был создан для размера БПФ равного n, то он может быть использован для любого размера БПФ k меньшего размера.

Например, если мы создали fft_t для БПФ размера n = 64, то мы можем использовать этот же объект для 32, 16, 8, 4 -точечных БПФ без необходимости пересчета поворотных коэффициентов.

Также необходимо заметить, что функции БПФ самостоятельно контроллируют размер, и самостоятельно выделяют память объекта БПФ при необходимости.

Автор
Бахурин Сергей. www.dsplib.org

См. определение в файле dspl.h строка 45

Поля

◆ n

int fft_t::n

См. определение в файле dspl.h строка 50

Используется в fft_create().

◆ p2

int fft_t::p2

См. определение в файле dspl.h строка 51

Используется в fft_create().

◆ t0

complex_t* fft_t::t0

См. определение в файле dspl.h строка 48

Используется в fft_create() и fft_free().

◆ t1

complex_t* fft_t::t1

См. определение в файле dspl.h строка 49

Используется в fft_create() и fft_free().

◆ w

complex_t* fft_t::w

См. определение в файле dspl.h строка 47

Используется в fft_create() и fft_free().