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

Функции

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

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

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

Функции

◆ dspl_freqs()

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

◆ dspl_freqz()

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_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).

Аргументы
[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.

Возвращает
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_frac_delay.c и resample_spline_filter_frac_delay.c.

Oбнаружили ошибку в тексте? Выделите ее мышкой и нажмите
Описание (необязательно)
Закрыть Х