Функции

int dspl_ap2bpass (double *b, double *a, int n, double wp0, double wp1, double *beta, double *alpha)
 Частотное преобразование аналогового ФНЧ прототипа в полосовой фильтр с полосой пропускания [wp0...wp1]. Подробнее...
 
int dspl_ap2bstop (double *b, double *a, int n, double ws0, double ws1, double *beta, double *alpha)
 Частотное преобразование аналогового ФНЧ прототипа в режекторный фильтр с полосой заграждения [wp0...wp1]. Подробнее...
 
int dspl_ap2high (double *b, double *a, int n, double wp, double *beta, double *alpha)
 Частотное преобразование аналогового ФНЧ прототипа в фильтр верхних частот с частой среза wp рад/с. Подробнее...
 
int dspl_ap2low (double *b, double *a, int n, double wp, double *beta, double *alpha)
 Частотное преобразование аналогового ФНЧ прототипа в фильтр нижних частот с частой среза wp рад/с. Подробнее...
 
int dspl_butter_ap (double Rp, int ord, double *b, double *a)
 Аналоговый ФНЧ прототип фильтра Баттерворта. Подробнее...
 
int dspl_cheby1_ap (double Rp, int ord, double *b, double *a)
 Аналоговый ФНЧ прототип фильтра Чебышёва первого рода. Подробнее...
 
int dspl_cheby2_ap (double Rs, int ord, double *b, double *a)
 Аналоговый ФНЧ прототип фильтра Чебышёва второго рода. Подробнее...
 

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

Функции расчета цифровых БИХ-фильтров.

Функции

int dspl_ap2bpass ( double *  b,
double *  a,
int  n,
double  wp0,
double  wp1,
double *  beta,
double *  alpha 
)

Частотное преобразование аналогового ФНЧ прототипа в полосовой фильтр с полосой пропускания [wp0...wp1].

Функция преобразует передаточную функцию \( H_{\text{ap}}(s) \) в передаточную характеристику полосового фильтра \( H(s) \) путем подстановки:

\[ H(s) = H_{\text{ap}} \left(\frac{s^2 + w^2_0}{B \cdot s} \right), \]

где \(w^2_0 = \) wp0 * wp1, \(wB = \)wp1 - wp0.

В результате получается полосовой фильтр порядка 2*n.

Аргументы
[in]bУказатель на вектор коэффициентов числителя передаточной характеристики аналогового ФНЧ прототипа \( H_{\text{ap}}(s) \).
Размер вектора [n+1 x 1].

[in]aУказатель на вектор коэффициентов знаменателя передаточной характеристики аналогового ФНЧ прототипа \( H_{\text{ap}}(s) \).
Размер вектора [n+1 x 1].

[in]nПорядок аналогового фильтра прототипа.

[in]wp0Нижняя частота среза (рад/с) полосового фильтра после преобразования.

[in]wp1Верхняя частота среза (рад/c) полосового фильтра после преобразования.

[out]betaУказатель на вектор коэффициентов числителя передаточной характеристики полосового фильтра \( H(s) \).
Размер вектора [2n+1 x 1].

[out]alphaУказатель на вектор коэффициентов числителя передаточной характеристики полосового фильтра \( H(s) \).
Размер вектора [2n+1 x 1].

Возвращает
DSPL_OK Если преобразование было произведено успешно.
В противном случае код ошибки.

Автор
Бахурин Сергей. www.dsplib.org
int dspl_ap2bstop ( double *  b,
double *  a,
int  n,
double  wp0,
double  wp1,
double *  beta,
double *  alpha 
)

Частотное преобразование аналогового ФНЧ прототипа в режекторный фильтр с полосой заграждения [wp0...wp1].

Функция преобразует передаточную функцию \( H_{\text{ap}}(s) \) в передаточную характеристику режекторный фильтра \( H(s) \) путем подстановки:

\[ H(s) = H_{\text{ap}} \left(\frac{B \cdot s}{s^2 + w^2_0} \right), \]

где \(w^2_0 = \) wp0 * wp1, \(wB = \)wp1 - wp0.

В результате получается режекторный фильтр порядка 2*n.

Аргументы
[in]bУказатель на вектор коэффициентов числителя передаточной характеристики аналогового ФНЧ прототипа \( H_{\text{ap}}(s) \).
Размер вектора [n+1 x 1].

[in]aУказатель на вектор коэффициентов знаменателя передаточной характеристики аналогового ФНЧ прототипа \( H_{\text{ap}}(s) \).
Размер вектора [n+1 x 1].

[in]nПорядок аналогового фильтра прототипа.

[in]wp0Нижняя частота среза (рад/с) режекторного фильтра после преобразования.

[in]wp1Верхняя частота среза (рад/c) режекторного фильтра после преобразования.

[out]betaУказатель на вектор коэффициентов числителя передаточной характеристики режекторного фильтра \( H(s) \).
Размер вектора [2n+1 x 1].

[out]alphaУказатель на вектор коэффициентов числителя передаточной характеристики режекторного фильтра \( H(s) \).
Размер вектора [2n+1 x 1].

Возвращает
DSPL_OK Если преобразование было произведено успешно. В противном случае код ошибки.

Автор
Бахурин Сергей. www.dsplib.org
int dspl_ap2high ( double *  b,
double *  a,
int  n,
double  wp,
double *  beta,
double *  alpha 
)

Частотное преобразование аналогового ФНЧ прототипа в фильтр верхних частот с частой среза wp рад/с.

Функция преобразует передаточную функцию \( H_{\text{ap}}(s) \) в передаточную характеристику ФВЧ \( H(s) \) путем подстановки:

\[ H(s) = H_{\text{ap}} \left(\frac{w_p}{s} \right), \]

В результате получается ФВЧ порядка n.

Аргументы
[in]bУказатель на вектор коэффициентов числителя передаточной характеристики аналогового ФНЧ прототипа \( H_{\text{ap}}(s) \).
Размер вектора [n+1 x 1].

[in]aУказатель на вектор коэффициентов знаменателя передаточной характеристики аналогового ФНЧ прототипа \( H_{\text{ap}}(s) \).
Размер вектора [n+1 x 1].

[in]nПорядок аналогового фильтра прототипа.

[in]wpЧастота среза (рад/с) ФВЧ после преобразования.

[out]betaУказатель на вектор коэффициентов числителя передаточной характеристики ФВЧ \( H(s) \).
Размер вектора [n+1 x 1].

[out]alphaУказатель на вектор коэффициентов числителя передаточной характеристики ФВЧ \( H(s) \).
Размер вектора [n+1 x 1].

Возвращает
DSPL_OK Если преобразование было произведено успешно.
В противном случае код ошибки.
Автор
Бахурин Сергей. www.dsplib.org
int dspl_ap2low ( double *  b,
double *  a,
int  n,
double  wp,
double *  beta,
double *  alpha 
)

Частотное преобразование аналогового ФНЧ прототипа в фильтр нижних частот с частой среза wp рад/с.

Функция преобразует передаточную функцию \( H_{\text{ap}}(s) \) в передаточную характеристику ФНЧ \( H(s) \) путем подстановки:

\[ H(s) = H_{\text{ap}} \left(\frac{s}{w_p} \right), \]

В результате получается ФНЧ порядка n.

Аргументы
[in]bУказатель на вектор коэффициентов числителя передаточной характеристики аналогового ФНЧ прототипа \( H_{\text{ap}}(s) \).
Размер вектора [n+1 x 1].

[in]aУказатель на вектор коэффициентов знаменателя передаточной характеристики аналогового ФНЧ прототипа \( H_{\text{ap}}(s) \).
Размер вектора [n+1 x 1].

[in]nПорядок аналогового фильтра прототипа.

[in]wpЧастота среза (рад/с) ФНЧ после преобразования.

[out]betaУказатель на вектор коэффициентов числителя передаточной характеристики ФНЧ \( H(s) \) после преобразования.
Размер вектора [n+1 x 1].

[out]alphaУказатель на вектор коэффициентов числителя передаточной характеристики ФНЧ \( H(s) \) после преобразования.
Размер вектора [n+1 x 1].

Возвращает
DSPL_OK Если преобразование было произведено успешно.
В противном случае код ошибки.

Автор
Бахурин Сергей. www.dsplib.org
int dspl_butter_ap ( double  Rp,
int  ord,
double *  b,
double *  a 
)

Аналоговый ФНЧ прототип фильтра Баттерворта.

Функция рассчитывает коэффициенты передаточной характеристики \(H(s)\) аналогового ФНЧ Баттерворта порядка ord с частотой среза 1 рад/с по уровню \(-R_p\) дБ.

Аргументы
[in]RpНеравномерность АЧХ в полосе пропускания (дБ).
Параметр задает уровень искажений в полосе от 0 до 1 рад/с.
Значение должно быть положительным.

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

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

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

Возвращает
DSPL_OK Фильтр рассчитан успешно.

В противном случае код ошибки:
DSPL_ERROR_FILTER_RP Неверно задан параметр Rp. Параметр Rp должен быть больше нуля.
DSPL_ERROR_FILTER_ORD Порядок фильтра должен быть положительным.
DSPL_ERROR_PTR Ошибка указателя. Указатели b и a не должны быть NULL.
Автор
Бахурин Сергей www.dsplib.org
int dspl_cheby1_ap ( double  Rp,
int  ord,
double *  b,
double *  a 
)

Аналоговый ФНЧ прототип фильтра Чебышёва первого рода.

Функция рассчитывает коэффициенты передаточной характеристики \(H(s)\) аналогового ФНЧ Чебышёва первого рода порядка ord с частотой среза 1 рад/с по уровню \(-R_p\) дБ.
Особенностью фильтра Чебышёва первого рода являются равноволновые пульсации АЧХ в полосе пропускания.

Аргументы
[in]RpНеравномерность АЧХ в полосе пропускания (дБ).
Параметр задает уровень искажений в полосе от 0 до 1 рад/с.
Значение должно быть положительным.

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

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

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

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

Аналоговый ФНЧ прототип фильтра Чебышёва второго рода.

Функция рассчитывает коэффициенты передаточной характеристики \(H(s)\) аналогового ФНЧ Чебышёва второго рода порядка ord с частотой заграждения 1 рад/с по уровню \(-R_s\) дБ.
Особенностью фильтра Чебышёва второго рода являются:
1) равноволновые пульсации АЧХ в полосе заграждения.
2) уровень АЧХ \(H(j\cdot 1) = -R_s\) дБ.

Аргументы
[in]RsУровень подавления в полосе пропускания (дБ).
Значение должно быть положительным.

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

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

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

Возвращает
DSPL_OK Фильтр рассчитан успешно.
В противном случае код ошибки:
DSPL_ERROR_FILTER_RS Неверно задан параметр Rs. Параметр Rp должен быть больше нуля.
DSPL_ERROR_FILTER_ORD Порядок фильтра должен быть положительным.
DSPL_ERROR_PTR Ошибка указателя. Указатели b и a не должны быть NULL.
Автор
Бахурин Сергей www.dsplib.org