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

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

#include <dspl.h>

Поля данных

complex_tw
 
complex_tt0
 
complex_tt1
 
complex_t w32 [32]
 
complex_t w64 [64]
 
complex_t w128 [128]
 
complex_t w256 [256]
 
complex_t w512 [512]
 
complex_tw1024
 
complex_tw2048
 
complex_tw4096
 
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.

w32Статический вектор поворотных коэффициентов 32-точечного БПФ.

w64Статический вектор поворотных коэффициентов 64-точечного БПФ.

w128Статический вектор поворотных коэффициентов 128-точечного БПФ.

w256Статический вектор поворотных коэффициентов 256-точечного БПФ.

w512Статический вектор поворотных коэффициентов 512-точечного БПФ.

w1024Статический вектор поворотных коэффициентов 1024-точечного БПФ.

w2048Статический вектор поворотных коэффициентов 2048-точечного БПФ.

w4096Статический вектор поворотных коэффициентов 4096-точечного БПФ.

Структура заполняется функцией 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 строка 277

Поля

◆ n

int fft_t::n

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

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

◆ t0

complex_t* fft_t::t0

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

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

◆ t1

complex_t* fft_t::t1

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

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

◆ w

complex_t* fft_t::w

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

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

◆ w1024

complex_t* fft_t::w1024

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

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

◆ w128

complex_t fft_t::w128[128]

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

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

◆ w2048

complex_t* fft_t::w2048

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

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

◆ w256

complex_t fft_t::w256[256]

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

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

◆ w32

complex_t fft_t::w32[32]

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

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

◆ w4096

complex_t* fft_t::w4096

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

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

◆ w512

complex_t fft_t::w512[512]

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

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

◆ w64

complex_t fft_t::w64[64]

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

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

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