主要内容

ss

将离散时间滤波器 System object 转换为状态空间表示

说明

[A,B,C,D] = ss(sysobj) 将滤波器 System object™ 转换为由下式给出的状态空间表示:

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

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

示例

[A,B,C,D] = ss(sysobj,Arithmetic=arithType) 根据 arithType 中指定的算术分析滤波器 System object。

有关更多输入选项,请参阅 Signal Processing Toolbox™ 中的 ss

示例

全部折叠

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

[z,p,k] = ellip(4,1,60,.4);    % Set up the filter
[sosMatrix,scaleValues] = zp2sos(z,p,k);
[num,den] = sos2ctf(sosMatrix);
sosFilt = dsp.SOSFilter(Structure='Direct form I',...
    Numerator=num,Denominator=den,...
    ScaleValues=scaleValues)
sosFilt = 
  dsp.SOSFilter with properties:

            Structure: 'Direct form I'
    CoefficientSource: 'Property'
            Numerator: [2×3 double]
          Denominator: [2×3 double]
       HasScaleValues: true
          ScaleValues: [0.0351 1 1]

  Show all properties

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

[A,B,C,D] = ss(sosFilt)
A = 8×8

         0         0         0         0         0         0         0         0
    1.0000         0         0         0         0         0         0         0
    1.8116    1.0000    1.0095   -0.3954         0         0         0         0
         0         0    1.0000         0         0         0         0         0
    1.8116    1.0000    1.0095   -0.3954         0         0         0         0
         0         0         0         0    1.0000         0         0         0
    1.8116    1.0000    1.0095   -0.3954    1.1484    1.0000    0.5581   -0.7823
         0         0         0         0         0         0    1.0000         0

B = 8×1

    0.0351
         0
    0.0351
         0
    0.0351
         0
    0.0351
         0

C = 1×8

    1.8116    1.0000    1.0095   -0.3954    1.1484    1.0000    0.5581   -0.7823

D = 
0.0351

输入参数

全部折叠

滤波器分析中使用的算术,指定为 'double''single''Fixed'。当未指定算术输入且滤波器 System object 未锁定时,分析工具假定为双精度滤波器。当未指定算术输入且 System object 锁定时,该函数基于锁定输入的数据类型执行分析。

'Fixed' 值仅适用于具有定点属性的滤波器 System object。

'Arithmetic' 输入参量指定为 'Fixed' 且滤波器对象的系数数据类型设置为 'Same word length as input' 时,算术分析取决于 System object 是未锁定还是锁定。

  • 未锁定 - 分析对象函数无法确定系数数据类型。该函数假定系数数据类型为有符号,具有 16 位字长,并且是自动定标的。该函数基于此假设执行定点分析。

  • 锁定 - 当输入数据类型为 'double''single' 时,分析对象函数无法确定系数数据类型。该函数假定系数的数据类型为有符号,具有 16 位字长,并且是自动定标的。该函数基于此假设执行定点分析。

要检查 System object 是锁定还是未锁定,请使用 isLocked 函数。

当算术输入指定为 'Fixed' 且滤波器对象的系数数据类型设置为自定义数值类型时,对象函数基于自定义数值数据类型执行定点分析。

输出参量

全部折叠

状态矩阵,以 N×N 矩阵形式返回,其中 N 是滤波器阶数。

数据类型: double

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

数据类型: double

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

数据类型: double

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

数据类型: double

版本历史记录

在 R2011a 中推出

全部展开