Файл dspl.h

Заголовочный файл с прототипами функций DSPL. Подробнее...

#include <math.h>

См. исходные тексты.

Макросы

#define DSPL_OK   0
 Функция завершилась корректно. Ошибки отсутствуют.
 
#define DSPL_ERROR_ELLIP_K   0x00050100
 Модуль эллиптического интеграла Якоби должен быть от 0 до 1. Данная ошибка возникает при расчете эллиптических функций Якоби при неверном задании параметра эллиптического модуля. Функция завершает работу и возвращает данный код ошибки.
 
#define DSPL_ERROR_FFT_SIZE   0x00060100
 Неверно задан размер БПФ.
 
#define DSPL_ERROR_FILTER_A0   0x00060200
 Коэффициент $a_0$ знаменателя передаточной функции фильтра равен нулю. Необходимо задать параметр $a_0$ отличным от нуля.
 
#define DSPL_ERROR_FILTER_ORD   0x00060300
 Порядок фильтра задан не верно. Порядок фильтра должен быть задан положительным целым значением.
 
#define DSPL_ERROR_FILTER_RP   0x00060400
 Параметр неравномерности фильтра в полосе пропускания задан не верно. Данный параметр задается в дБ и должен быть положительным числом.
 
#define DSPL_ERROR_FILTER_RS   0x00060500
 Параметр подавления фильтра в полосе заграждения задан не верно. Данный параметр задается в дБ и должен быть положительным числом.
 
#define DSPL_ERROR_FILTER_WP   0x00060600
 Параметр частоты среза фильтра задан не верно.
 
#define DSPL_ERROR_FNAME   0x00060700
 Ошибка в имени файла. Необходимо задать корректное имя файла.
 
#define DSPL_ERROR_FOPEN   0x00060800
 Ошибка открытия файла. Файл с заданным именем не может быть открыт для записи и чтения.
 
#define DSPL_ERROR_FS   0x00060900
 Частота дискретизации задана неверно. Частота дискретизации должна быть положительным числом.
 
#define DSPL_ERROR_PTR   0x00160200
 Ошибка указателя. Данная ошибка означает, что один из обязательных указателей (память под который должна быть выделена) передан как NULL. При возникновении данной ошибки, функция завершает работу и возвращает данный код ошибки.
 
#define DSPL_ERROR_SIZE   0x00190100
 Ошибка при передаче размера массива. Данная ошибка возникает когда помимо указателя на массив входных или выходных данных передается неверный размер массива (меньше или равный нулю). При возникновении данной ошибки, функция завершает работу и возвращает данный код ошибки.
 

Функции

int dspl_acos_cmplx (double *xR, double *xI, int n, double *yR, double *yI)
 Арккосинус комплексного векторного аргумента. Подробнее...
 
int dspl_ap2bpass (double *b, double *a, int n, double wp0, double wp1, double *beta, double *alpha)
 Частотное преобразование аналогового ФНЧ прототипа в полосовой фильтр с полосой пропускания [wp0...wp1]. Подробнее...
 
int dspl_ap2bstop (double *b, double *a, int n, double ws0, double ws1, double *beta, double *alpha)
 Частотное преобразование аналогового ФНЧ прототипа в режекторный фильтр с полосой заграждения [wp0...wp1]. Подробнее...
 
int dspl_ap2high (double *b, double *a, int n, double wp, double *beta, double *alpha)
 Частотное преобразование аналогового ФНЧ прототипа в фильтр верхних частот с частой среза wp рад/с. Подробнее...
 
int dspl_ap2low (double *b, double *a, int n, double wp, double *beta, double *alpha)
 Частотное преобразование аналогового ФНЧ прототипа в фильтр нижних частот с частой среза wp рад/с. Подробнее...
 
int dspl_asin_cmplx (double *xR, double *xI, int n, double *yR, double *yI)
 Арксинус комплексного векторного аргумента Подробнее...
 
double dspl_asinh (double x)
 Обратный гиперболический синус Подробнее...
 
int dspl_butter_ap (double Rp, int ord, double *b, double *a)
 Аналоговый ФНЧ прототип фильтра Баттерворта. Подробнее...
 
int dspl_cheby1_ap (double Rp, int ord, double *b, double *a)
 Аналоговый ФНЧ прототип фильтра Чебышёва первого рода. Подробнее...
 
int dspl_cheby2_ap (double Rs, int ord, double *b, double *a)
 Аналоговый ФНЧ прототип фильтра Чебышёва второго рода. Подробнее...
 
int dspl_conv_cmplx (double *aR, double *aI, int na, double *bR, double *bI, int nb, double *cR, double *cI)
 Линейная свертка двух комплексных векторов Подробнее...
 
int dspl_cos_cmplx (double *xR, double *xI, int n, double *yR, double *yI)
 Косинус комплексного векторного аргумента Подробнее...
 
double dspl_cosh (double x)
 Гиперболический косинус вещественного аргумента. Подробнее...
 
int dspl_dft (double *xR, double *xI, int n, double *yR, double *yI)
 Дискретное преобразование Фурье. Подробнее...
 
int dspl_ellip_cd_cmplx (double *uR, double *uI, int nu, double k, double *cdR, double *cdI)
 Эллиптическая функция Якоби \( \operatorname{cd}(u \cdot K(k), k)\) вещественного или комплексного аргумента \( u\). Подробнее...
 
int dspl_ellip_sn_cmplx (double *uR, double *uI, int nu, double k, double *snR, double *snI)
 Эллиптическая функция Якоби \( \operatorname{sn}(u \cdot K(k), k)\) вещественного или комплексного аргумента \( u\). Подробнее...
 
int dspl_ellipk (double *pk, int k, double *pK)
 Полный эллиптический интеграл первого рода. Подробнее...
 
int dspl_fft (double *xR, double *xI, int n, void *pdspl, double *yR, double *yI)
 Быстрое преобразование Фурье Подробнее...
 
int dspl_filter_iir (double *b, double *a, int ord, double *x, int n, double *y)
 Фильтрация вещественного сигнала вещественным БИХ-фильтром Подробнее...
 
int dspl_freqs (double *b, double *a, int ord, double *w, int n, double *hR, double *hI)
 Расчет комплексного коэффициента передачи \( H(j \omega)\) аналогового фильтра. Подробнее...
 
int dspl_freqz (double *b, double *a, int ord, double *w, int n, double *hR, double *hI)
 Расчет комплексного коэффициента передачи \( H \left(e^{j \omega} \right)\) цифрового фильтра. Подробнее...
 
int dspl_get_version (int printFlag)
 Функция возвращает версию библиотеки DSPL. Подробнее...
 
int dspl_goertzel (double *xR, double *xI, int n, int *ind, int k, double *yR, double *yI)
 Алгоритм Герцеля для расчета отдельных спектральных отсчетов дискретного преобразования Фурье. Подробнее...
 
int dspl_hilbert (double *x, int n, void *pdspl, double *y)
 Функция преобразования Гильберта Подробнее...
 
int dspl_histogram (double *x, int n, int nh, double *pedges, double *ph)
 Расчет гистограммы распределения случайной величины Подробнее...
 
int dspl_histogram_norm (double *y, int n, int nh, double *x, double *w)
 Расчет нормированной гистограммы распределения случайной величины Подробнее...
 
int dspl_ifft (double *xR, double *xI, int n, void *pdspl, double *yR, double *yI)
 Обратное Быстрое преобразование Фурье Подробнее...
 
int dspl_linspace (double x0, double x1, int n, int type, double *x)
 Функция заполняет массив линейно-нарастающими, равноотстоящими значениями от x0 до x1 Подробнее...
 
int dspl_log_cmplx (double *xR, double *xI, int n, double *yR, double *yI)
 Натуральный логарифм комплексного векторного аргумента Подробнее...
 
int dspl_logspace (double x0, double x1, int n, int type, double *x)
 Функция заполняет массив значениями логарифмической шкале Подробнее...
 
int dspl_minmax (double *x, int n, double *xmin, double *xmax)
 Поиск минимального и максимального значения. Подробнее...
 
int dspl_obj_create (void **obj)
 
int dspl_obj_free (void **obj)
 
int dspl_polyval (double *a, int ord, double *x, int n, double *y)
 Расчет вещественного полинома Подробнее...
 
int dspl_polyval_cmplx (double *aR, double *aI, int ord, double *xR, double *xI, int n, double *yR, double *yI)
 Расчет комплексного полинома Подробнее...
 
int dspl_pwelch (double *xR, double *xI, int n, int win_type, double win_param, int npsd, int noverlap, void *pdspl, double fs, double *ppsd, double *pfrq)
 
int dspl_rand (double *x, int n)
 Генерация вектора равномерно-распределенных в интервале от 0 до 1 случайных чисел. Подробнее...
 
int dspl_randn (double *x, int n, double mu, double sigma)
 Генерация вектора нормально распределенных случайных чисел с заданным математическим ожиданием и среднеквадратическим отклонением. Подробнее...
 
int dspl_resample_lagrange (double *x, int n, int p, int q, double frd, double **y, int *ny)
 Передискретизация вещественного сигнала на основе полиномиальной Лагранжевой интерполяции. Подробнее...
 
int dspl_resample_spline (double *s, int n, int p, int q, double frd, double **y, int *ny)
 Передискретизация вещественного сигнала на основе кубической сплайн-интерполяции. Подробнее...
 
int dspl_sin_cmplx (double *xR, double *xI, int n, double *yR, double *yI)
 Cинус комплексного векторного аргумента Подробнее...
 
double dspl_sinh (double x)
 Гиперболический синус вещественного аргумента Подробнее...
 
int dspl_sqrt_cmplx (double *xR, double *xI, int n, double *yR, double *yI)
 Корень квадратный комплексного векторного аргумента Подробнее...
 
int dspl_unwrap (double *phi, int n, double lev, double mar)
 Раскрытие периодичности арктангенса при расчете фазо-частотной характеристики. Подробнее...
 
int dspl_window (double *w, int n, int win_type, double param)
 Расчет функции оконного взвешивания Подробнее...
 
int dspl_writebin (double *x, double *y, int n, char *fn)
 Сохранить вектор в бинарный файл Подробнее...
 
int dspl_writetxt (double *x, double *y, int n, char *fn)
 Сохранить вектор данных в текстовый файл Подробнее...
 

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

Заголовочный файл с прототипами функций DSPL.