2026a

# ss


将离散时间滤波器系统对象转换为状态空间表示

函数库: TyDSPSystem

# 语法

A, B, C, D = ss(sysobj)

# 说明

A, B, C, D = ss(sysobj) 转换滤波器系统对象状态空间表示由下式给出:

其中 x 是状态向量,u 是输入向量,y 是输出向量。

# 示例

二阶滤波器的状态空间表示

设计一个归一化截止频率为 0.4 的四阶低通 SOS 滤波器对象。

using TyDSPSystem
using TySignalProcessing

z, p, k = ellip(4, 1, 60, 0.4; otype="zpk")
s, g = zp2sos(z, p, k)
biquad = dsp_BiquadFilter(; Structure="Direct form I", SOSMatrix=s, ScaleValues=g)

使用 ss 函数将设计的滤波器转换为状态空间形式。

A, B, C, D = ss(biquad)
A = 8×8 Matrix{Float64}:
 0.0     0.0  0.0       0.0       0.0      0.0  0.0        0.0
 1.0     0.0  0.0       0.0       0.0      0.0  0.0        0.0
 1.8116  1.0  1.00951  -0.395388  0.0      0.0  0.0        0.0
 0.0     0.0  1.0       0.0       0.0      0.0  0.0        0.0
 1.8116  1.0  1.00951  -0.395388  0.0      0.0  0.0        0.0
 0.0     0.0  0.0       0.0       1.0      0.0  0.0        0.0
 1.8116  1.0  1.00951  -0.395388  1.14843  1.0  0.558137  -0.782321
 0.0     0.0  0.0       0.0       0.0      0.0  1.0        0.0

B = 8×1 Matrix{Float64}:
 0.0350827739916215
 0.0
 0.0350827739916215
 0.0
 0.0350827739916215
 0.0
 0.0350827739916215
 0.0

C = 1×8 Matrix{Float64}:
 1.8116  1.0  1.00951  -0.395388  1.14843  1.0  0.558137  -0.782321

D = 0.0350827739916215

# 输入参数

sysobj-输入滤波器
滤波器系统对象

输入滤波器,指定为以下滤波器系统对象之一:

  • dsp_BiquadFilter
  • dsp_FIRFilter
  • dsp_FourthOrderSectionFilter
  • dsp_IIRFilter
  • dsp_Differentiator
  • dsp_SOSFilter

# 输出参数

A - 状态矩阵
矩阵

状态矩阵,作为 矩阵返回,其中 N 是滤波器阶数。

B - 输入矩阵
列向量

输入矩阵,以 列向量返回,表示线性系统的输入数为 1。N 是滤波器阶数。

C - 输出矩阵
行向量

输出矩阵,作为 行向量返回,表示线性系统的输出数为 1。N 是滤波器阶数。

D - 馈通矩阵
标量

馈通矩阵,作为标量返回,表示线性系统的输入和输出数为 1。