Документация Engee

sos2tf

Преобразование данных секций второго порядка цифрового фильтра в передаточную функцию.

Библиотека

EngeeDSP

Синтаксис

Вызов функции

  • b,a = sos2tf(sos) — возвращает коэффициенты передаточной функции дискретной системы, описываемой в форме секции второго порядка sos.

  • b,a = sos2tf(sos,g) — возвращает коэффициенты передаточной функции дискретной системы, описываемой в форме секции второго порядка sos с коэффициентом усиления g.

Аргументы

Входные аргументы

# sos — представление секции второго порядка
матрица

Details

Представление секции второго порядка, заданное как матрица. Аргумент sos — это матрица размером

строки которой содержат коэффициенты числителя и знаменателя и секций второго порядка функции :

Типы данных

Float64

Поддержка комплексных чисел

Да

# g — общий коэффициент усиления системы
скаляр

Details

Общий коэффициент усиления системы, заданный как вещественный скаляр.

Типы данных

Float64

Выходные аргументы

# b,a — коэффициенты передаточной функции
векторы

Details

Коэффициенты передаточной функции, возвращаемые в виде векторов-строк. Выходные аргументы b и a содержат коэффициенты числителя и знаменателя функции , хранящиеся в порядке убывания степеней :

Примеры

Представление системы секций второго порядка с помощью передаточной функции

Details

Вычислим представление простой системы секций второго порядка с помощью передаточной функции.

import EngeeDSP.Functions: sos2tf

sos = [1  1  1  1  0 -1; -2  3  1  1 10  1]
b, a = sos2tf(sos)
println("b = ", b, "\na = ", a)
b = [-2.0 1.0 2.0 4.0 1.0]
a = [1.0 10.0 0.0 -10.0 -1.0]

Алгоритмы

В sos2tf используется функция conv для перемножения всех многочленов второго порядка в числителе и знаменателе. Для фильтров более высокого порядка (возможно, начиная с 8-го порядка) могут возникать численные проблемы из-за ошибок округления при формировании передаточной функции.