libdspl-2.0
Библиотека алгоритмов цифровой обработки сигналов

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

#include <dspl.h>

Поля данных

complex_tw
 
complex_tt0
 
complex_tt1
 
int n
 

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

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


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

Библиотека libdspl-2.0 использует для БПФ алгоритм для составной длины

Аргументы
nРазмер вектора БПФ, для которого выделена память в массивах структуры.
Парметр 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 = {0}; // объявляем объект fft_t и обнуляем все поля
int n = 64; // Размер БПФ
int err;
// создаем объект для 64-точечного БПФ
err = fft_create(&pfft, n);
// Вызов БПФ функции
// Еще раз вызов БПФ функции
// ...
// очистить память объекта БПФ
fft_free(&pfft);
Заметки
Важно отметить, что если объект fft_t был создан для размера БПФ равного n, то он может быть использован только для БПФ размера n.

Также необходимо заметить, что функции БПФ самостоятельно контролируют размер, и самостоятельно выделяют память объекта БПФ при необходимости. Так если вызвать любую функцию использующую структуру fft_t с заполненными данными для длины БПФ k для расчета БПФ длины n, то массивы структуры будут автоматически пересозданы для длины n.
Автор
Бахурин Сергей. www.dsplib.org

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

Поля

◆ n

int fft_t::n

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

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

◆ t0

complex_t* fft_t::t0

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

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

◆ t1

complex_t* fft_t::t1

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

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

◆ w

complex_t* fft_t::w

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

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

int n
Definition: dspl.h:231
int fft_create(fft_t *pfft, int n)
Заполнение структуры fft_t для алгоритма БПФ
Definition: fft.c:892
void fft_free(fft_t *pfft)
Очистить структуру fft_t алгоритма БПФ
Definition: fft.c:1009
Структура данных объекта быстрого преобразования Фурье
Definition: dspl.h:227