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

sos2zp

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

Библиотека

EngeeDSP

Синтаксис

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

  • z,p,k = sos2zp(sos) — возвращает нули, полюса и коэффициент усиления системы, представление которой в секциях второго порядка задано аргументом sos.

  • z,p,k = sos2zp(sos,g) — возвращает нули, полюса и коэффициент усиления системы, представление которой в секциях второго порядка задано аргументом sos с коэффициентом усиления g.

Аргументы

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

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

Details

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

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

Типы данных

Float32, Float64

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

Да

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

Details

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

Типы данных

Float32, Float64

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

# z — нули
вектор

Details

Нули системы, возвращаемые в виде вектора.

# p — полюса
вектор

Details

Полюса системы, возвращаемые в виде вектора.

# k — скалярный коэффициент усиления
скаляр

Details

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

Примеры

Нули, полюса и коэффициент усиления системы

Details

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

import EngeeDSP.Functions: sos2zp

sos = [1  1  1  1  0 -1; -2  3  1  1  10  1]
z, p, k = sos2zp(sos)
println("z = ", z, "\np = ", p, "\nk = ", k)
z = ComplexF64[-0.5 - 0.8660254037844385im, -0.5 + 0.8660254037844385im, -0.28077640640441515 + 0.0im, 1.7807764064044151 + 0.0im]
p = [-1.0, 1.0, -9.898979485566356, -0.10102051443364381]
k = -2

Алгоритмы

Функция sos2zp находит полюса и нули каждой секции второго порядка путем многократного вызова функции tf2zp.