最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

量子化されたシステムの絶対的な安定性

この例では、線形時不変システムが円錐セクターに属する静的な非線形性とのフィードバック相互接続にある場合、絶対的な安定性を強制する方法を示します。

フィードバック接続

図 1 に示すフィードバック接続について考えます。

図 1: フィードバック接続

は線形時不変システム、 は次を満たす円錐セクター (ここで ) に属する静的な非線形性です。

この例では、 は次の離散時間システムです。

addpath(fullfile(matlabroot,'examples','control','main')) % add example data


A = [0.9995, 0.0100, 0.0001;
    -0.0020, 0.9995, 0.0106;
          0,      0, 0.9978];
B = [0, 0.002, 0.04]';
C = [2.3948, 0.3303, 2.2726];
D = 0;
G = ss(A,B,C,D,0.01);

セクター境界のある非線形性

この例では、非線形性 が対数量子化器となります。これは次のように定義されます。

ここで、 です。この量子化器はセクター境界 に属します。たとえば、 の場合、量子化器は円錐セクター [0.1818,1.8182] に属します。

% Quantizer parameter
rho = 0.1;
% Lower bound
alpha = 2*rho/(1+rho)
% Upper bound
beta = 2/(1+rho)
alpha =

    0.1818


beta =

    1.8182

量子化器のセクター境界をプロットします。

PlotSectorBound(rho)

は量子化の密度を表します。ここで です。 が大きいほど、量子化された値はより正確になります。この量子化器の詳細については、[1] を参照してください。

絶対的な安定性の円錐セクター条件

量子化器の円錐セクター行列は次によって与えられます。

図 1 のフィードバック接続の安定性を保証するには、線形システム が次を満たす必要があります。

ここで、 は、それぞれ の入力と出力です。

この条件は、セクター インデックス 1 より小さいかどうかを確認することで検証できます。

である量子化器の円錐セクター行列を定義します。

Q = [1,-(alpha+beta)/2;-(alpha+beta)/2,alpha*beta];

QG のセクター インデックスを取得します。

R = getSectorIndex([1;-G],-Q)
R =

    1.8245

であるため、閉ループ システムは安定していません。この不安定性を確認するには、次の Simulink モデルを使用します。

mdl = 'DTQuantization';
open_system(mdl)

Simulink モデルを実行します。

sim(mdl)
open_system('DTQuantization/output')

出力軌跡から、閉ループ システムが不安定であることがわかります。これは、 の量子化器では粗すぎるためです。

として、量子化の密度を濃くします。量子化器は円錐セクター [0.4,1.6] に属します。

% Quantizer parameter
rho = 0.25;
% Lower bound
alpha = 2*rho/(1+rho)
% Upper bound
beta = 2/(1+rho)
alpha =

    0.4000


beta =

    1.6000

量子化器のセクター境界をプロットします。

PlotSectorBound(rho)

である量子化器の円錐セクター行列を定義します。

Q = [1,-(alpha+beta)/2;-(alpha+beta)/2,alpha*beta];

QG のセクター インデックスを取得します。

R = getSectorIndex([1;-G],-Q)
R =

    0.9702

なので、 である量子化器は、フィードバック接続の安定性の円錐セクター条件を満たします。

として Simulink モデルを実行します。

sim(mdl)
open_system('DTQuantization/output')

セクター インデックスに示されるように、閉ループ システムは安定しています。

参考文献

[1] M. Fu and L. Xie,"The sector bound approach to quantized feedback control," IEEE Transactions on Automatic Control 50(11), 2005, 1698-1711.

bdclose(mdl);
rmpath(fullfile(matlabroot,'examples','control','main')) % remove example data