Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

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 を参照してください。

すべて折りたたむ

正規化されたカットオフ周波数 0.4 をもつ 4 次のローパス双二次フィルター オブジェクトを設計します。

[z,p,k] = ellip(4,1,60,.4);    % Set up the filter
[s,g] = zp2sos(z,p,k);
biquad = dsp.BiquadFilter(s,g,'Structure','Direct form I')
biquad = 
  dsp.BiquadFilter with properties:

                       Structure: 'Direct form I'
                 SOSMatrixSource: 'Property'
                       SOSMatrix: [2x6 double]
                     ScaleValues: 0.0351
      NumeratorInitialConditions: 0
    DenominatorInitialConditions: 0
        OptimizeUnityScaleValues: true

  Show all properties

関数 ss を使用して、設計したフィルターを状態空間形式に変換します。

[A,B,C,D] = ss(biquad)
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 で導入