Функции анализа аналоговых и цифровых фильтров

Функции

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_freqs ( double *  b,
double *  a,
int  ord,
double *  w,
int  n,
double *  hR,
double *  hI 
)

Расчет комплексного коэффициента передачи \( H(j \omega)\) аналогового фильтра.

Функция рассчитывает значения комплексного коэффициента передачи \(H(j \omega)\) аналогового фильтра, заданного коэффициентами передаточной функции \(H(s)\):

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

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

Комплексный коэффициент передачи рассчитывается путем подстановки \(s = j \omega \).

Аргументы
[in]bУказатель на вектор коэффициентов числителя передаточной функции \(H(s)\).
Размер вектора [ord+1 x 1].

[in]aУказатель на вектор коэффициентов знаменателя передаточной функции \(H(s)\).
Размер вектора [ord+1 x 1].

[in]ordПорядок фильтра. Количество коэффициентов числителя и знаменателя передаточной функции \(H(s)\) равно ord+1.

[in]wУказатель на вектор значений циклической частоты \(\omega\) (рад/с), для которого будет рассчитан комплексный коэффициент передачи \(H(j \omega)\).
Размер вектора [n x 1].

[in]nРазмер вектора циклической частоты w.

[out]hRУказатель на вектор реальной части комплексного коэффициента передачи \(H(j \omega)\), рассчитанного для циклической частоты w.
Размер вектора [n x 1].
Память должна быть выделена.

[out]hIУказатель на вектор мнимой части комплексного коэффициента передачи \(H(j \omega)\), рассчитанного для циклической частоты w.
Размер вектора [n x 1].
Память должна быть выделена.

Возвращает
DSPL_OK Фильтр рассчитан успешно.
В противном случае код ошибки:
DSPL_ERROR_FILTER_ORD Порядок фильтра должен быть положительным.
DSPL_ERROR_PTR Ошибка указателя. Указатели b, a, w, hR и hI не должны быть NULL.
DSPL_ERROR_SIZE Размер n должен быть положительным.
Автор
Бахурин Сергей www.dsplib.org
int dspl_freqz ( double *  b,
double *  a,
int  ord,
double *  w,
int  n,
double *  hR,
double *  hI 
)

Расчет комплексного коэффициента передачи \( H \left(e^{j \omega} \right)\) цифрового фильтра.

Функция рассчитывает значения комплексного коэффициента передачи \( H \left(e^{j \omega} \right)\) цифрового фильтра, заданного коэффициентами передаточной функции \(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).

Комплексный коэффициент передачи рассчитывается путем подстановки \(z = e^{j \omega} \).

Аргументы
[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\), для которого будет рассчитан комплексный коэффициент передачи \( H \left(e^{j \omega} \right)\).
Размер вектора [n x 1].

[in]nРазмер вектора нормированной циклической частоты w.

[out]hRУказатель на вектор реальной части комплексного коэффициента передачи \( H \left(e^{j \omega} \right)\), рассчитанного для циклической частоты w.
Размер вектора [n x 1].
Память должна быть выделена.

[out]hIУказатель на вектор мнимой части комплексного коэффициента передачи \( H \left(e^{j \omega} \right)\), рассчитанного для циклической частоты w.
Размер вектора [n x 1].
Память должна быть выделена.

Возвращает
DSPL_OK комплексный коэффициент передачи расчитан успешно.
В противном случае код ошибки:
DSPL_ERROR_FILTER_ORD Порядок фильтра должен быть положительным.
DSPL_ERROR_PTR Ошибка указателя. Указатели b, a, w, hR и hI не должны быть NULL.
DSPL_ERROR_SIZE Размер n должен быть положительным.
Автор
Бахурин Сергей www.dsplib.org
Примеры:
resample_lagrange_filter_interp.c и resample_spline_filter_interp.c.

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