Main Content

ss

デジタル フィルターの状態空間表現への変換

説明

[A,B,C,D] = ss(d)は、デジタル フィルターdをその状態空間表現に変換します。

フィルターの状態空間表現は、次の式で与えられます。

x ( k + 1 ) = A x ( k ) + B u ( k ) , y ( k ) = C x ( k ) + D u ( k ) ,

ここで、x は状態ベクトル、u は入力ベクトル、y は出力ベクトルです。

すべて折りたたむ

次数 6 のローパス IIR フィルターを設計します。正規化された通過帯域周波数、 0 . 2 π ラジアン/サンプルを指定します。このフィルターの状態空間表現を計算します。

d = designfilt('lowpassiir',“FilterOrder',6,'PassbandFrequency',0.2); [A,B,C,D] = ss(d)
A =6×61.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×10.0913 0 0.0046 0 0.0001 0
C =1×60.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π ラジアン/サンプルをもつ 3 次のバタワース フィルターを指定します。

出力引数

すべて折りたたむ

状態行列。行列として返される。

データ型:double

状態への入力行列。行列として返される。

データ型:double

出力への状態行列。行列として返される。

データ型:double

行列として返される直達行列。

データ型:double

バージョン履歴

R2014a で導入