AnyMath 文档

sos2zp

将数字滤波器的二阶部分的参数转换为具有零、极点和增益因子的形式。

库::`工程师`

语法

函数调用

* [参数:z],[参数:p],[参数:k]=sos2zp(<参数:sos>>) -返回系统的零,极点和增益,其在二阶部分的表示由参数给出 [参数:sos].

* [参数:z],[参数:p],[参数:k]=sos2zp(<参数:sos>>,[参数:g]) -返回系统的零,极点和增益,其在二阶部分的表示由参数给出 [参数:sos] 具有增益因子 [参数:g].

争论

输入参数

# *sos* — 二阶段的表示

+ 矩阵

Details

二阶段的表示,定义为矩阵。 论点 sos —这是一个大小矩阵

其中的行包含分子和分母的系数 函数的二阶段 :

数据类型

漂浮物32, 漂浮64</无翻译> 支持复数::是

# *g*是 系统的总增益

+ 标量,标量

Details

系统的总增益,作为实标量给出。

数据类型

漂浮物32, 漂浮64</无翻译>

输出参数

# *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*.