AnyMath 文档

sos2ss

将数字滤波器的二阶段的参数变换为状态空间的形式。

库::`工程师`

语法

函数调用

* [参数:A],[参数:B],[参数:C],[参数:D]=sos2ss([参数:sos]) -转换数字滤波器的表示 [参数:sos] 二阶段的形式转换成其在状态空间中的等效形式。

* [参数:A],[参数:B],[参数:C],[参数:D]=sos2ss(<参数:sos>>,[参数:g]) -转换数字滤波器的表示 [参数:sos] 二阶段的形式在状态空间中以其等效形式具有增益因子 [参数:g].

争论

输入参数

# *sos* — 二阶段形式的表示

+ 矩阵

Details

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

为了正确变换到状态空间,矩阵的元素 sos 它们必须是有形的。

# *g*是 系统的总增益

+ 标量,标量

Details

系统的总增益,作为实标量给出。 功能 *sos2ss* 将增益应用于系统,如下所示:

输出参数

# *A*是 国家矩阵

+ 矩阵

Details

作为大小矩阵返回的状态矩阵 .

# *B* 是输入状态向量

+ 向量资料

Details

作为大小向量返回的输入状态向量 .

# *C* 是输出状态向量

+ 向量资料

Details

作为大小向量返回的输出状态向量 .

# *D*是终点- 端传输矩阵

+ 标量,标量

Details

作为标量返回的端到端传输矩阵。

例子:

状态空间中二阶段系统的表示

Details

让我们计算具有增益因子的二阶段的简单系统的状态空间中的表示 2.

import EngeeDSP.Functions: sos2ss

sos = [1  1  1  1   0  -1; -2  3  1  1  10   1]
A, B, C, D = sos2ss(sos, 2)
println("A = ", A, "\nB = ", B, "\nC = ", C, "\nD = ", D)
A = [-10.0 -0.0 10.0 1.0; 1.0 0.0 0.0 0.0; 0.0 1.0 0.0 0.0; 0.0 0.0 1.0 0.0]
B = [1.0, 0.0, 0.0, 0.0]
C = [42.0 4.0 -32.0 -2.0]
D = -4.0

此外

传递函数

Details

二阶段形式的离散传递函数给出如下:

算法

功能 *sos2ss* 首先,它使用函数将二阶段转换为传递函数 *sos2tf*,然后从传递函数到使用该函数的状态空间的形式 *tf2ss*.

具有一个输入和一个输出的状态空间的表示如下所示: