主要内容

本页翻译不是最新的。点击此处可查看最新英文版本。

ss

将数字滤波器转换为状态空间表示

说明

[A,B,C,D] = ss(d) 将数字滤波器 d 转换为其状态空间表示。

滤波器的状态空间表示由下式给出:

x(k+1)=Ax(k)+Bu(k),y(k)=Cx(k)+Du(k),

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

示例

示例

全部折叠

设计一个 6 阶低通 IIR 滤波器。指定归一化通带频率为 0.2π 弧度/采样点。计算滤波器的状态空间表示。

d = designfilt('lowpassiir','FilterOrder',6,'PassbandFrequency',0.2);
[A,B,C,D] = ss(d)
A = 6×6

    1.5640   -0.9294         0         0         0         0
    1.0000         0         0         0         0         0
    0.1795    0.0036    1.6097   -0.8112         0         0
         0         0    1.0000         0         0         0
    0.0020    0.0000    0.0408    0.0021    1.6956   -0.7409
         0         0         0         0    1.0000         0

B = 6×1

    0.0913
         0
    0.0046
         0
    0.0001
         0

C = 1×6

    0.0020    0.0000    0.0408    0.0021    3.6956    0.2591

D = 
5.2030e-05

输入参数

全部折叠

数字滤波器,指定为 digitalFilter 对象。使用 designfilt 根据频率响应设定生成数字滤波器。

示例: d = designfilt('lowpassiir','FilterOrder',3,'HalfPowerFrequency',0.5) 用于指定归一化 3 dB 频率为 0.5π 弧度/采样点的三阶巴特沃斯滤波器。

输出参量

全部折叠

状态矩阵,以矩阵形式返回。

数据类型: double

输入-状态矩阵,以矩阵形式返回。

数据类型: double

状态-输出矩阵,以矩阵形式返回。

数据类型: double

馈通矩阵,以矩阵形式返回。

数据类型: double

版本历史记录

在 R2014a 中推出

另请参阅

| | |