Digital and analog filters analysis

## Functions

int dspl_freqs (double *b, double *a, int ord, double *w, int n, double *hR, double *hI)
Analog filter frequency response $H(j \omega)$ calculation. More...

int dspl_freqz (double *b, double *a, int ord, double *w, int n, double *hR, double *hI)
Digital filter frequency response $H \left(e^{j \omega} \right)$ calculation. More...

int dspl_freqz_resp (double *b, double *a, int ord, double *w, int n, double *h, double *phi, double *gd)
Расчет амплитудно-частотной (АЧХ), фазочастотной характеристик (ФЧХ), а также группового времени запаздывания (ГВЗ) цифрового фильтра. More...

## Detailed Description

Digital and analog filters analysis

## ◆ dspl_freqs()

 int dspl_freqs ( double * b, double * a, int ord, double * w, int n, double * hR, double * hI )

Analog filter frequency response $H(j \omega)$ calculation.

Function calculates frequency response $H(j \omega)$ of an analog filter with transfer function $H(s)$:

$H(s) = \frac{\sum_{k = 0}^{N} b_k \cdot s^k}{\sum_{m = 0}^{N} a_m \cdot s^m},$

here $N$ - filter order (parameter ord).

Parameters
 [in] b Transfer function $H(s)$ numerator coefficients vector pointer. Vector size is [ord+1 x 1]. [in] a Transfer function $H(s)$ denominator coefficients vector pointer. Vector size is [ord+1 x 1]. [in] ord Filter order [in] w Angular frequency (rad/s) vector pointer for transfer function $H(j \omega)$ calculation. Vector size is [n x 1]. [in] n Angular frequency vector size. [out] hR Frequency response $H(j \omega)$ real part pointer. Frequency response is calculated corresponds to the angular frequency w. Vector size is [n x 1]. Memory must be allocated. [out] hI Frequency response $H(j \omega)$ image part pointer. Frequency response is calculated corresponds to the angular frequency w. Vector size is [n x 1]. Memory must be allocated.
Returns
DSPL_OK Frequency response vector is calculated successfully.
DSPL_ERROR_FILTER_ORD Filter order must be positive.
DSPL_ERROR_PTR Pointer error. Pointers b, a, w, hR and hI cannot to be as NULL.
DSPL_ERROR_SIZE Parameter n must be positive.

## ◆ dspl_freqz()

 int dspl_freqz ( double * b, double * a, int ord, double * w, int n, double * hR, double * hI )

Digital filter frequency response $H \left(e^{j \omega} \right)$ calculation.

Function calculates frequency response $H \left(e^{j \omega} \right)$ of a digital filter with transfer function $H(z)$:

$H(z) = \frac{\sum_{k = 0}^{N} b_k \cdot z^{-k}}{\sum_{m = 0}^{N} a_m \cdot z^{-m}},$

here $N$ - filter order (parameter ord).

Parameters
 [in] b Transfer function $H(z)$ numerator coefficients vector pointer. Vector size is [ord+1 x 1]. [in] a Transfer function $H(z)$ denominator coefficients vector pointer. Vector size is [ord+1 x 1]. [in] ord Filter order [in] w Normalized angular frequency (rad/s) vector pointer for transfer function $H \left(e^{j \omega} \right)$ calculation. Vector size is [n x 1]. [in] n Normalized angular frequency vector size. [out] hR Frequency response $H \left(e^{j \omega} \right)$ real part pointer. Frequency response is calculated corresponds to the angular frequency w. Vector size is [n x 1]. Memory must be allocated. [out] hI Frequency response $H \left(e^{j \omega} \right)$ image part pointer. Frequency response is calculated corresponds to the angular frequency w. Vector size is [n x 1]. Memory must be allocated.
Returns
DSPL_OK Frequency response vector is calculated successfully.
DSPL_ERROR_FILTER_ORD Filter order must be positive.
DSPL_ERROR_PTR Pointer error. Pointers b, a, w, hR and hI cannot to be as NULL.
DSPL_ERROR_SIZE Parameter n must be positive.
Examples:
resample_lagrange_filter_interp.c, and resample_spline_filter_interp.c.

## ◆ dspl_freqz_resp()

 int dspl_freqz_resp ( double * b, double * a, int ord, double * w, int n, double * h, double * phi, double * gd )

Расчет амплитудно-частотной (АЧХ), фазочастотной характеристик (ФЧХ), а также группового времени запаздывания (ГВЗ) цифрового фильтра.

Функция рассчитывает значения АЧХ $\left| H \left(e^{j \omega} \right) \right|^2$, дБ, ФЧХ $/ \Phi (\omega) = \textrm{arg}\left( H \left(e^{j \omega} \right) \right)$, а также ГВЗ $/ \tau (\omega) = - \frac{d \Phi(\omega)}{d \omega}$ цифрового фильтра, заданного коэффициентами передаточной функции $H(z)$:

$H(z) = \frac{\sum_{k = 0}^{N} b_k \cdot z^{-k}}{\sum_{m = 0}^{N} a_m \cdot z^{-m}},$

где $N$ - порядок фильтра (параметр ord).

Parameters
 [in] b Указатель на вектор коэффициентов числителя передаточной функции $H(z)$. Размер вектора [ord+1 x 1]. [in] a Указатель на вектор коэффициентов знаменателя передаточной функции $H(z)$. Размер вектора [ord+1 x 1]. [in] ord Порядок фильтра. Количество коэффициентов числителя и знаменателя передаточной функции $H(z)$ равно ord+1. [in] w Указатель на вектор значений нормированной циклической частоты $\omega$ от 0 до $2\pi$, для которого будет рассчитаны характеристики фильтра. Размер вектора [n x 1]. [in] n Размер вектора нормированной циклической частоты w. [out] h Указатель на вектор АЧХ, рассчитанного для циклической частоты w. Размер вектора [n x 1]. Если АЧХ не требуется, то данный указатель может быть NULL. [out] phi Указатель на вектор ФЧХ, рассчитанного для циклической частоты w. Размер вектора [n x 1]. Если ФЧХ не требуется, то данный указатель может быть NULL. [out] gd Указатель на вектор ГВЗ, рассчитанного для циклической частоты w. Размер вектора [n x 1]. Если ГВЗ не требуется, то данный указатель может быть NULL.
Returns
DSPL_OK Характеристики фильтра расчитаны успешно передачи расчитан успешно.
DSPL_ERROR_FILTER_ORD Порядок фильтра должен быть положительным.
DSPL_ERROR_PTR Ошибка указателя. Указатели b, a, w, hR и hI не должны быть NULL.
DSPL_ERROR_SIZE Размер n должен быть положительным.
Examples:
resample_lagrange_filter_frac_delay.c, and resample_spline_filter_frac_delay.c.