Абсолютная стабильность для квантованной системы

Этот пример показывает, как обеспечить абсолютную стабильность, когда линейная инвариантная по времени система находится в соединении с обратной связью со статической нелинейностью, которая принадлежит коническому сектору.

Подключение с обратной связью

Рассмотрите подключение с обратной связью, как показано на фигуре 1.

Фигура 1: Подключение обратной связи

$G$ является линейной инвариантной по времени системой и$N(y)$ является статической нелинейностью, которая принадлежит коническому сектору ($[\alpha,\beta]$где); $\alpha<\beta$то есть,

$$ \alpha y^2<~yN(y)<~\beta y^2$$

В данном примере$G$ является следующей системой дискретного времени.

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);

Ограниченная сектор нелинейность

В этом примере нелинейность$N(y)$ является логарифмическим квантователем, который определяется следующим образом:

$$N(y) = \left\{ \begin{array}{ll} \rho^j, &#38; \mbox{if~ $&#xA;\frac{1+\rho}{2}\rho^j < y \leq \frac{1+\rho}{2\rho}\rho^j$};\\0, &#38;&#xA;\mbox{if ~$y = 0$}; \\ -N(-y), &#38; \mbox{if~ $y < 0$} \end{array} \right.&#xA;$$

где,. $j\in \{0,\pm1,\pm2,\dots \}$Этот квантователь принадлежит сектору, связанному между собой. $[\frac{2\rho}{1+\rho},\frac{2}{1+\rho}]$Например, если, $\rho = 0.1$то квантователь принадлежит к коническому сектору [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)

$\rho$ представляет плотность квантования, где. $0<\rho<1$Если$\rho$ больше, то квантованное значение более точно. Для получения дополнительной информации об этом квантователе см. [1].

Условие конического сектора для абсолютной устойчивости

Коническая матрица сектора для квантователя задается как

$$ Q = \left(\begin{array}{cc} 1 &#38; -\frac{\alpha+\beta}{2} \\&#xA;-\frac{\alpha+\beta}{2} &#38; \alpha\beta \end{array}\right). $$

Чтобы гарантировать стабильность соединения с обратной связью на фигуре 1, линейная система$G$ должна удовлетворять

$$\int_0^T \left(\begin{array}{c} u(t)\\-y(t)\end {array} \right)^T Q&#xA;\left(\begin{array}{c} u(t)\\-y(t)\end {array} \right) &#62; 0$$

где,$u$ и$y$ являются входом и выходом, $G$соответственно.

Это условие можно проверить, проверяя, $R$меньше ли индекс сектора 1.

Задайте коническую матрицу сектора для квантователя с.$\rho = 0.1$

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

Получите индекс сектора для Q и G.

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

    1.8247

Поскольку $R&#62;1$система с обратной связью не является стабильной. Чтобы увидеть эту нестабильность, используйте следующую модель Simulink.

mdl = 'DTQuantization';
open_system(mdl)

Запустите модель Simulink.

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

По выходу траектории видно, что система с обратной связью не стабильна. Это связано с тем, что квантователь с$\rho = 0.1$ слишком грубым.

Увеличьте плотность квантования, позволяя. $\rho = 0.25$Квантователь относится к коническому сектору [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)

Задайте коническую матрицу сектора для квантователя с.$\rho = 0.25$

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

Получите индекс сектора для Q и G.

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

    0.9702

Квантователь с$\rho = 0.25$ удовлетворяет коническому секторному условию устойчивости соединения с обратной связью с момента.$R<1$

Запустите модель Simulink с.$\rho = 0.25$

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

Как указывает индекс сектора, система с обратной связью является стабильной.

Ссылка

[1] M. Fu and L. Xie, «Секторальный подход к квантованному контролю обратной связи», Транзакции IEEE по автоматическому управлению 50 (11), 2005, 1698-1711.

bdclose(mdl);
rmpath(fullfile(matlabroot,'examples','control','main')) % remove example data
Для просмотра документации необходимо авторизоваться на сайте