kopia lustrzana https://github.com/Dsplib/libdspl-2.0
200 wiersze
8.9 KiB
Plaintext
200 wiersze
8.9 KiB
Plaintext
/*! ****************************************************************************
|
||
\ingroup IIR_FILTER_DESIGN_GROUP
|
||
\fn int low2high (double* b, double* a, int ord, double w0, double w1,
|
||
double* beta, double* alpha)
|
||
\brief Частотное преобразование ФНЧ-ФВЧ
|
||
|
||
Функция производит перобразование передаточной функции \f$ H(s) \f$
|
||
аналогового ФНЧ с частотой среза `w0` рад/c
|
||
в передаточную функцию \f$ F(s) \f$ аналоговго ФВЧ с частотой среза `w1` рад/c.
|
||
|
||
Неравномерность АЧХ в полосе пропускания, уровень подавления в полосе
|
||
заграждения и порядок фильтра остаются неизменными.
|
||
|
||
\param[in] b Указатель на вектор коэффициентов
|
||
числителя передаточной функции \f$H(s)\f$
|
||
исходного аналогового ФНЧ.<BR>
|
||
Размер вектора `[ord+1 x 1]`.<BR>
|
||
Память должна быть выделена.<BR><BR>
|
||
|
||
\param[in] a Указатель на вектор коэффициентов знаменателя
|
||
передаточной функции \f$H(s)\f$
|
||
исходного аналогового ФНЧ.<BR>
|
||
Размер вектора `[ord+1 x 1]`.<BR>
|
||
Память должна быть выделена.<BR><BR>
|
||
|
||
\param[in] ord Порядок исходного фильтра и
|
||
фильтра после переобразования.<BR><BR>
|
||
|
||
\param[in] w0 Частота среза исходного ФНЧ.<BR><BR>
|
||
|
||
\param[in] w1 Требуемая частота среза ФВЧ
|
||
после преобразования.<BR><BR>
|
||
|
||
|
||
\param[in,out] beta Указатель на вектор коэффициентов
|
||
числителя передаточной функции \f$F(s)\f$
|
||
ФВЧ после преобразования.<BR>
|
||
Размер вектора `[ord+1 x 1]`.<BR>
|
||
Память должна быть выделена.<BR><BR>
|
||
|
||
\param[in,out] alpha Указатель на вектор коэффициентов знаменателя
|
||
передаточной функции \f$F(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 low2low(double* b, double* a, int ord, double w0, double w1,
|
||
double* beta, double* alpha)
|
||
\brief Частотное преобразование ФНЧ-ФНЧ
|
||
|
||
Функция производит перобразование передаточной функции \f$ H(s) \f$
|
||
аналогового ФНЧ с частотой среза `w0` рад/c
|
||
в передаточную функцию \f$ F(s) \f$ аналоговго ФНЧ с частотой среза `w1` рад/c.
|
||
|
||
Неравномерность АЧХ в полосе пропускания, уровень подавления в полосе
|
||
заграждения и порядок фильтра остаются неизменными.
|
||
|
||
\param[in] b Указатель на вектор коэффициентов
|
||
числителя передаточной функции \f$H(s)\f$
|
||
исходного аналогового ФНЧ.<BR>
|
||
Размер вектора `[ord+1 x 1]`.<BR>
|
||
Память должна быть выделена.<BR><BR>
|
||
|
||
\param[in] a Указатель на вектор коэффициентов знаменателя
|
||
передаточной функции \f$H(s)\f$
|
||
исходного аналогового ФНЧ.<BR>
|
||
Размер вектора `[ord+1 x 1]`.<BR>
|
||
Память должна быть выделена.<BR><BR>
|
||
|
||
\param[in] ord Порядок исходного фильтра и
|
||
фильтра после переобразования.<BR><BR>
|
||
|
||
\param[in] w0 Частота среза исходного ФНЧ.<BR><BR>
|
||
|
||
\param[in] w1 Требуемая частота среза ФНЧ
|
||
после преобразования.<BR><BR>
|
||
|
||
|
||
\param[in,out] beta Указатель на вектор коэффициентов
|
||
числителя передаточной функции \f$F(s)\f$
|
||
ФНЧ после преобразования.<BR>
|
||
Размер вектора `[ord+1 x 1]`.<BR>
|
||
Память должна быть выделена.<BR><BR>
|
||
|
||
\param[in,out] alpha Указатель на вектор коэффициентов знаменателя
|
||
передаточной функции \f$F(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 ratcompos( double* b, double* a, int n,
|
||
double* c, double* d, int p,
|
||
double* beta, double* alpha)
|
||
\brief Рациональная композиця
|
||
|
||
Функция рассчитывает композицию вида \f$Y(s) = (H \circ F)(s) = H(F(s))\f$, где
|
||
|
||
\f[
|
||
H(s) = \frac{\sum\limits_{m = 0}^{n} b_m s^m}
|
||
{\sum\limits_{k = 0}^{n} a_k s^k}, \ \ \ \
|
||
F(s) = \frac{\sum\limits_{m = 0}^{p} d_m s^m}
|
||
{\sum\limits_{k = 0}^{p} с_k s^k}, \ \ \ \
|
||
Y(s) = \frac{\sum\limits_{m = 0}^{n \cdot p} \beta_m s^m}
|
||
{\sum\limits_{k = 0}^{n \cdot p} \alpha_k s^k}
|
||
\f]
|
||
|
||
Функция рациональной композиции необходима для произведения частотных
|
||
преобразований передаточных характеристик аналоговых и цифровых фильтров,
|
||
а также для билинейного преобразования передаточных характеристик аналоговых
|
||
фильтров в соответствующие передаточные характеристики цифровых фильтров.
|
||
|
||
\param[in] b Указатель на вектор коэффициентов
|
||
числителя функции \f$H(s)\f$.<BR>
|
||
Размер вектора `[n+1 x 1]`.<BR>
|
||
Память должна быть выделена.<BR><BR>
|
||
|
||
\param[in] a Указатель на вектор коэффициентов знаменателя
|
||
функции \f$H(s)\f$.<BR>
|
||
Размер вектора `[n+1 x 1]`.<BR>
|
||
Память должна быть выделена.<BR><BR>
|
||
|
||
\param[in] n Порядок полиномов рациональной
|
||
функции \f$H(s)\f$.<BR><BR>
|
||
|
||
|
||
\param[in] c Указатель на вектор коэффициентов
|
||
числителя функции \f$F(s)\f$.<BR>
|
||
Размер вектора `[p+1 x 1]`.<BR>
|
||
Память должна быть выделена.<BR><BR>
|
||
|
||
\param[in] d Указатель на вектор коэффициентов знаменателя
|
||
функции \f$F(s)\f$.<BR>
|
||
Размер вектора `[p+1 x 1]`.<BR>
|
||
Память должна быть выделена.<BR><BR>
|
||
|
||
\param[in] p Порядок полиномов рациональной
|
||
функции \f$F(s)\f$.<BR><BR>
|
||
|
||
\param[in,out] beta Указатель на вектор коэффициентов
|
||
числителя функции \f$Y(s) = (H \circ F)(s)\f$.<BR>
|
||
Размер вектора `[n*p+1 x 1]`.<BR>
|
||
Память должна быть выделена.<BR><BR>
|
||
|
||
\param[in,out] alpha Указатель на вектор коэффициентов знаменателя
|
||
функции \f$Y(s) = (H \circ F)(s)\f$.<BR>
|
||
Размер вектора `[n*p+1 x 1]`.<BR>
|
||
Память должна быть выделена.<BR><BR>
|
||
|
||
|
||
\return
|
||
`RES_OK` Рациональная композиция рассчитана успешно.<BR><BR>
|
||
В противном случае
|
||
\ref ERROR_CODE_GROUP "код ошибки".<BR>
|
||
|
||
\author
|
||
Бахурин Сергей
|
||
www.dsplib.org
|
||
***************************************************************************** */
|
||
|