Engee 文档

zp2ss

将零增益和极点增益滤波器参数转换为状态空间的形式。

库::`工程师`

语法

函数调用

争论

输入参数

# z — 零

+ 向量资料

Details

系统的零,设置为向量。 零必须是实数或表示复共轭对。

价值 资讯 可以用作占位符 z 如果某些列中的零比其他列少。

数据类型

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

# p — 电线杆

+ 向量资料

Details

系统的极点,定义为矢量。 极点必须是实数或表示复共轭对。

数据类型

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

# k — 线性增益

+ 标量,标量

Details

系统的线性增益,设置为标量。

数据类型

漂浮64</无翻译>

输出参数

# *A*是 国家矩阵

+ 矩阵

Details

作为矩阵返回的状态矩阵。 如果系统描述 态变量,则 A 有尺寸吗? .

数据类型

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

# *B*是 用于将输入数据转换为状态的矩阵

+ 矩阵

Details

用于将输入数据转换为状态的矩阵,作为矩阵返回。 如果系统描述 态变量,则 B 有尺寸吗? .

数据类型

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

# *C*是 用于将状态转换为输出数据的矩阵

+ 矩阵

Details

将状态转换为输出数据的矩阵,作为矩阵返回。 如果系统有 输出和描述 态变量,则 C 有尺寸吗? .

数据类型

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

# *D*是 输入信号的矩阵

+ 矩阵

Details

作为矩阵返回的输入信号的矩阵。 如果系统有 输出,则 D 有尺寸吗? .

数据类型

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

例子:

状态空间中质量弹簧系统的表示

Details

让我们创建一个在状态空间中具有阻尼的质量弹簧系统的表示,它服从微分方程:

测量值为加速度 ,而 -驱动力。 在拉普拉斯空间中,系统表示如下:

该系统具有一个单一的增益因子,双零在 和两个复共轭极点。

z = [0, 0]
p = roots([1, 0.01, 1])
p = reshape(p, :)
2-element Vector{ComplexF64}:
 -0.0050000000000000044 + 0.999987499921874im
  -0.004999999999999977 - 0.999987499921874im
k = 1

使用函数 zp2ss 求状态空间的矩阵。

import EngeeDSP.Functions: zp2ss

A,B,C,D = zp2ss(z,p,k)
println("A = ", A, "\nB = ", B, "\nC = ", C, "\nD = ", D)
A = [-0.010000000000000009 -1.0; 0.9999999999999998 0.0]
B = [1.0; 0.0;;]
C = [-0.010000000000000009 -1.0]
D = [1.0;;]

算法

功能 zp2ss 对于具有一个输入的系统,它沿着矩阵的对角线将复数对分组为两乘两个块。 [参数:A]. 为此,零点和极点必须是实数或复共轭对。