kopia lustrzana https://github.com/Dsplib/libdspl-2.0
doc for filter_zp2ba
rodzic
c7dae9b642
commit
82c6976380
|
@ -14,7 +14,7 @@
|
|||
|
||||
Комплексный коэффициент передачи рассчитывается путем подстановки \f$s = j \omega \f$.
|
||||
|
||||
\param[in] b Указатель на вектор коэффициентов числителя передаточной функции \f$H(s)\f$.<BR>
|
||||
\param[in] b Указатель на вектор коэффициентов числителя передаточной функции \f$H(s)\f$.<BR>
|
||||
Размер вектора `[ord+1 x 1]`.<BR><BR>
|
||||
|
||||
\param[in] a Указатель на вектор коэффициентов знаменателя передаточной функции \f$H(s)\f$.<BR>
|
||||
|
|
|
@ -1,37 +1,39 @@
|
|||
|
||||
/*! *************************************************************************************************
|
||||
\ingroup IIR_FILTER_DESIGN_GROUP
|
||||
\fn int butter_ap(double Rp, int ord, double* b, double* a)
|
||||
\brief Аналоговый ФНЧ прототип фильтра Баттерворта.
|
||||
|
||||
Функция рассчитывает коэффициенты передаточной характеристики \f$H(s)\f$
|
||||
аналогового ФНЧ Баттерворта порядка `ord` с частотой среза 1 рад/с по уровню \f$-R_p\f$ дБ.
|
||||
|
||||
\param[in] Rp Неравномерность АЧХ в полосе пропускания (дБ).<BR>
|
||||
Параметр задает уровень искажений в полосе от 0 до 1 рад/с.<BR>
|
||||
Значение должно быть положительным.<BR><BR>
|
||||
|
||||
\param[in] ord Порядок фильтра.<BR>
|
||||
Количество коэффициентов числителя и знаменателя передаточной
|
||||
функции \f$H(s)\f$ равно `ord+1`.<BR><BR>
|
||||
|
||||
\param[out] b Указатель на вектор коэффициентов числителя передаточной функции \f$H(s)\f$.<BR>
|
||||
Размер вектора `[ord+1 x 1]`.<BR>
|
||||
Память должна быть выделена.<BR><BR>
|
||||
|
||||
\param[out] a Указатель на вектор коэффициентов знаменателя передаточной функции \f$H(s)\f$.<BR>
|
||||
Размер вектора `[ord+1 x 1]`.<BR>
|
||||
Память должна быть выделена.<BR><BR>
|
||||
|
||||
\return
|
||||
`RES_OK` Фильтр рассчитан успешно.<BR><BR>
|
||||
В противном случае \ref ERROR_CODE_GROUP "код ошибки".<BR>
|
||||
\ingroup IIR_FILTER_DESIGN_GROUP
|
||||
\fn int butter_ap(double Rp, int ord, double* b, double* a)
|
||||
\brief Расчет передаточной характеристики \f$ H(s) \f$ аналогового
|
||||
нормированного ФНЧ Баттерворта.
|
||||
|
||||
Функция рассчитывает коэффициенты передаточной характеристики \f$H(s)\f$
|
||||
аналогового нормированного ФНЧ Баттерворта порядка `ord` с частотой среза
|
||||
1 рад/с по уровню \f$ -R_p \f$ дБ.
|
||||
|
||||
\param[in] Rp Неравномерность АЧХ в полосе пропускания (дБ).<BR>
|
||||
Параметр задает уровень искажений в полосе от 0 до 1 рад/с.<BR>
|
||||
Значение должно быть положительным.<BR><BR>
|
||||
|
||||
\param[in] ord Порядок фильтра.<BR>
|
||||
Количество коэффициентов числителя и знаменателя передаточной
|
||||
функции \f$H(s)\f$ равно `ord+1`.<BR><BR>
|
||||
|
||||
\param[out] b Указатель на вектор коэффициентов числителя передаточной функции \f$H(s)\f$.<BR>
|
||||
Размер вектора `[ord+1 x 1]`.<BR>
|
||||
Память должна быть выделена.<BR><BR>
|
||||
|
||||
\param[out] a Указатель на вектор коэффициентов знаменателя передаточной функции \f$H(s)\f$.<BR>
|
||||
Размер вектора `[ord+1 x 1]`.<BR>
|
||||
Память должна быть выделена.<BR><BR>
|
||||
|
||||
\return
|
||||
`RES_OK` Фильтр рассчитан успешно.<BR><BR>
|
||||
В противном случае \ref ERROR_CODE_GROUP "код ошибки".<BR>
|
||||
|
||||
|
||||
|
||||
\author
|
||||
Бахурин Сергей
|
||||
www.dsplib.org
|
||||
|
||||
\author
|
||||
Бахурин Сергей
|
||||
www.dsplib.org
|
||||
**************************************************************************************************** */
|
||||
|
||||
|
||||
|
@ -43,40 +45,91 @@
|
|||
|
||||
|
||||
/*! *************************************************************************************************
|
||||
\ingroup IIR_FILTER_DESIGN_GROUP
|
||||
\fn int cheby1_ap(double Rp, int ord, double* b, double* a)
|
||||
|
||||
\brief Аналоговый ФНЧ прототип фильтра Чебышёва первого рода.
|
||||
|
||||
Функция рассчитывает коэффициенты передаточной характеристики \f$H(s)\f$
|
||||
аналогового ФНЧ Чебышёва первого рода порядка `ord` с частотой среза 1 рад/с
|
||||
по уровню \f$-R_p\f$ дБ.<BR>
|
||||
Особенностью фильтра Чебышёва первого рода являются равноволновые пульсации
|
||||
АЧХ в полосе пропускания.
|
||||
|
||||
\param[in] Rp Неравномерность АЧХ в полосе пропускания (дБ).<BR>
|
||||
Параметр задает уровень искажений в полосе от 0 до 1 рад/с.<BR>
|
||||
Значение должно быть положительным.<BR><BR>
|
||||
|
||||
\param[in] ord Порядок фильтра.<BR>
|
||||
\ingroup IIR_FILTER_DESIGN_GROUP
|
||||
\fn int cheby1_ap(double Rp, int ord, double* b, double* a)
|
||||
|
||||
\brief Расчет передаточной характеристики \f$ H(s) \f$ аналогового
|
||||
нормированного ФНЧ Чебышёва первого рода.
|
||||
|
||||
Функция рассчитывает коэффициенты передаточной характеристики \f$H(s)\f$
|
||||
аналогового нормированного ФНЧ Чебышёва первого рода порядка `ord` с частотой
|
||||
среза 1 рад/с по уровню \f$-R_p\f$ дБ.<BR>
|
||||
|
||||
Особенностью фильтра Чебышёва первого рода являются равноволновые пульсации
|
||||
АЧХ в полосе пропускания.
|
||||
|
||||
\param[in] Rp Неравномерность АЧХ в полосе пропускания (дБ).<BR>
|
||||
Параметр задает уровень искажений в полосе от 0 до 1 рад/с.<BR>
|
||||
Значение должно быть положительным.<BR><BR>
|
||||
|
||||
\param[in] ord Порядок фильтра.<BR>
|
||||
Количество коэффициентов числителя и знаменателя передаточной
|
||||
функции \f$H(s)\f$ равно `ord+1`.<BR><BR>
|
||||
|
||||
\param[out] b Указатель на вектор коэффициентов числителя передаточной функции \f$H(s)\f$.<BR>
|
||||
Размер вектора `[ord+1 x 1]`.<BR>
|
||||
Память должна быть выделена.<BR><BR>
|
||||
|
||||
\param[out] a Указатель на вектор коэффициентов знаменателя передаточной функции \f$H(s)\f$.<BR>
|
||||
Размер вектора `[ord+1 x 1]`.<BR>
|
||||
Память должна быть выделена.<BR><BR>
|
||||
|
||||
\return
|
||||
`RES_OK` Фильтр рассчитан успешно.<BR><BR>
|
||||
В противном случае \ref ERROR_CODE_GROUP "код ошибки".<BR>
|
||||
|
||||
\author
|
||||
Бахурин Сергей
|
||||
www.dsplib.org
|
||||
**************************************************************************************************** */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*! *************************************************************************************************
|
||||
\ingroup IIR_FILTER_DESIGN_GROUP
|
||||
\fn int cheby2_ap(double Rs, int ord, double *b, double *a)
|
||||
|
||||
\brief Расчет передаточной характеристики \f$ H(s) \f$ аналогового
|
||||
нормированного ФНЧ Чебышёва второго рода.
|
||||
|
||||
Функция рассчитывает коэффициенты передаточной характеристики \f$H(s)\f$
|
||||
аналогового нормированного ФНЧ Чебышёва второго рода порядка `ord`
|
||||
с частотой заграждения 1 рад/с по уровню \f$-R_s\f$ дБ.<BR>
|
||||
|
||||
Особенностью фильтра Чебышёва второго рода являются: <BR>
|
||||
1) равноволновые пульсации АЧХ в полосе заграждения.<BR>
|
||||
2) уровень АЧХ \f$H(j\cdot 1) = -R_s\f$ дБ.<BR>
|
||||
|
||||
\param[in] Rs Уровень подавления в полосе пропускания (дБ).<BR>
|
||||
Значение должно быть положительным.<BR><BR>
|
||||
|
||||
\param[in] ord Порядок фильтра. <BR>
|
||||
Количество коэффициентов числителя и знаменателя передаточной
|
||||
функции \f$H(s)\f$ равно `ord+1`.<BR><BR>
|
||||
|
||||
\param[out] b Указатель на вектор коэффициентов числителя передаточной функции \f$H(s)\f$.<BR>
|
||||
Размер вектора `[ord+1 x 1]`.<BR>
|
||||
Память должна быть выделена.<BR><BR>
|
||||
|
||||
\param[out] a Указатель на вектор коэффициентов знаменателя передаточной функции \f$H(s)\f$.<BR>
|
||||
Размер вектора `[ord+1 x 1]`.<BR>
|
||||
Память должна быть выделена.<BR><BR>
|
||||
|
||||
\return
|
||||
`RES_OK` Фильтр рассчитан успешно.<BR><BR>
|
||||
В противном случае \ref ERROR_CODE_GROUP "код ошибки".<BR>
|
||||
|
||||
\author
|
||||
Бахурин Сергей
|
||||
www.dsplib.org
|
||||
функции \f$H(s)\f$ равно `ord+1`.<BR><BR>
|
||||
|
||||
\param[out] b Указатель на вектор коэффициентов числителя передаточной функции \f$H(s)\f$.<BR>
|
||||
Размер вектора `[ord+1 x 1]`.<BR>
|
||||
Память должна быть выделена.<BR><BR>
|
||||
|
||||
\param[out] a Указатель на вектор коэффициентов знаменателя передаточной функции \f$H(s)\f$.<BR>
|
||||
Размер вектора `[ord+1 x 1]`.<BR>
|
||||
Память должна быть выделена.<BR><BR>
|
||||
|
||||
\return
|
||||
`RES_OK` Фильтр рассчитан успешно.<BR>
|
||||
В противном случае \ref ERROR_CODE_GROUP "код ошибки".<BR>
|
||||
|
||||
|
||||
|
||||
\author
|
||||
Бахурин Сергей
|
||||
www.dsplib.org
|
||||
|
||||
**************************************************************************************************** */
|
||||
|
||||
|
||||
|
@ -87,41 +140,56 @@
|
|||
|
||||
|
||||
/*! *************************************************************************************************
|
||||
\ingroup IIR_FILTER_DESIGN_GROUP
|
||||
\fn int cheby2_ap(double Rs, int ord, double *b, double *a)
|
||||
|
||||
\brief Аналоговый ФНЧ прототип фильтра Чебышёва второго рода.
|
||||
|
||||
Функция рассчитывает коэффициенты передаточной характеристики \f$H(s)\f$
|
||||
аналогового ФНЧ Чебышёва второго рода порядка `ord` с частотой заграждения
|
||||
1 рад/с по уровню \f$-R_s\f$ дБ.<BR>
|
||||
Особенностью фильтра Чебышёва второго рода являются: <BR>
|
||||
1) равноволновые пульсации АЧХ в полосе заграждения.<BR>
|
||||
2) уровень АЧХ \f$H(j\cdot 1) = -R_s\f$ дБ.<BR>
|
||||
|
||||
\param[in] Rs Уровень подавления в полосе пропускания (дБ).<BR>
|
||||
Значение должно быть положительным.<BR><BR>
|
||||
|
||||
\param[in] ord Порядок фильтра. <BR>
|
||||
\ingroup IIR_FILTER_DESIGN_GROUP
|
||||
\fn int filter_zp2ab(complex_t *z, int nz, complex_t *p, int np, int ord, double* b, double* a)
|
||||
\brief Функция пересчета нулей и полюсов аналогового фильтра в коэффициенты передаточной
|
||||
характеристики \f$ H(s) \f$
|
||||
|
||||
\f[
|
||||
H(s) =
|
||||
\frac{\sum_{n = 0}^{N_z} b_n \cdot s^n}{\sum_{m = 0}^{N_p} a_m \cdot s^m} =
|
||||
\frac{\prod_{n = 0}^{N_z}(s-z_n)}{\prod_{m = 0}^{N_p} (s-p_m)}
|
||||
\f]
|
||||
|
||||
\param[in] z Указатель на массив нулей передаточной характеристики.<BR>
|
||||
Размер вектора `[nz x 1]`.<BR>
|
||||
Указатель может быть `NULL` если фильтр не имеет конечных нулей (`nz=0`).<BR><BR>
|
||||
|
||||
\param[in] nz Размер вектора нулей передаточной характеристики (может быть равен 0).<BR><BR>
|
||||
|
||||
\param[in] p Указатель на массив полюсов передаточной характеристики.<BR>
|
||||
Размер вектора `[np x 1]`.<BR>
|
||||
Указатель не может быть `NULL`.<BR>
|
||||
Память должна быть выделена.<BR><BR>
|
||||
|
||||
\param[in] np Размер вектора полюсов передаточной характеристики (не может быть равен 0).<BR><BR>
|
||||
|
||||
\param[in] ord Порядок фильтра для которого рассчитаны нули и полюса. <BR>
|
||||
Количество коэффициентов числителя и знаменателя передаточной
|
||||
функции \f$H(s)\f$ равно `ord+1`.<BR><BR>
|
||||
|
||||
\param[out] b Указатель на вектор коэффициентов числителя передаточной функции \f$H(s)\f$.<BR>
|
||||
Размер вектора `[ord+1 x 1]`.<BR>
|
||||
Память должна быть выделена.<BR><BR>
|
||||
|
||||
\param[out] a Указатель на вектор коэффициентов знаменателя передаточной функции \f$H(s)\f$.<BR>
|
||||
Размер вектора `[ord+1 x 1]`.<BR>
|
||||
Память должна быть выделена.<BR><BR>
|
||||
|
||||
\return
|
||||
`RES_OK` Фильтр рассчитан успешно.<BR>
|
||||
В противном случае \ref ERROR_CODE_GROUP "код ошибки".<BR>
|
||||
функции \f$H(s)\f$ равно `ord+1`.<BR><BR>
|
||||
|
||||
\param[out] b Указатель на вектор коэффициентов числителя передаточной функции \f$H(s)\f$.<BR>
|
||||
Размер вектора `[ord+1 x 1]`.<BR>
|
||||
Память должна быть выделена.<BR><BR>
|
||||
|
||||
|
||||
\author
|
||||
Бахурин Сергей
|
||||
www.dsplib.org
|
||||
\param[out] a Указатель на вектор коэффициентов знаменателя передаточной функции \f$H(s)\f$.<BR>
|
||||
Размер вектора `[ord+1 x 1]`.<BR>
|
||||
Память должна быть выделена.<BR><BR>
|
||||
|
||||
**************************************************************************************************** */
|
||||
\return
|
||||
`RES_OK` пересчет произведен успешно.<BR>
|
||||
В противном случае \ref ERROR_CODE_GROUP "код ошибки".<BR>
|
||||
|
||||
\note Функция возвращает вещественные значения коэффициентов `b` и `a` передаточной функции.
|
||||
Это означает, что вектора нулей и полюсов должны хранить вещественные значения или
|
||||
комплексно-сопряженные пары нулей и полюсов, потому что мнимая часть коэффициентов `b` и `a`
|
||||
игнорируется и не сохраняется.
|
||||
|
||||
|
||||
\author
|
||||
Бахурин Сергей
|
||||
www.dsplib.org
|
||||
|
||||
**************************************************************************************************** */
|
||||
|
||||
|
Ładowanie…
Reference in New Issue