Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

## Absolute Stability for Quantized System

This example shows how to enforce absolute stability when a linear time-invariant system is in feedback interconnection with a static nonlinearity that belongs to a conic sector.

### Feedback Connection

Consider the feedback connection as shown in Figure 1.

Figure 1: Feedback connection

is a linear time invariant system, and is a static nonlinearity that belongs to a conic sector (where ); that is,

For this example, is the following discrete-time system.

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

### Sector Bounded Nonlinearity

In this example, the nonlinearity is the logarithmic quantizer, which is defined as follows:

where, . This quantizer belongs to a sector bound . For example, if , then the quantizer belongs to the conic sector [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 ```

Plot the sector bounds for the quantizer.

```PlotSectorBound(rho) ```

represents the quantization density, where . If is larger, then the quantized value is more accurate. For more details about this quantizer, see [1].

### Conic Sector Condition for Absolute Stability

The conic sector matrix for the quantizer is given by

To guarantee stability of the feedback connection in Figure 1, the linear system needs to satisfy

where, and are the input and output of , respectively.

This condition can be verified by checking if the sector index, , is less than `1`.

Define the conic sector matrix for a quantizer with .

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

Get the sector index for `Q` and `G`.

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

Since , the closed-loop system is not stable. To see this instability, use the following Simulink model.

```mdl = 'DTQuantization'; open_system(mdl) ```

Run the Simulink model.

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

From the output trajectory, it can be seen that the closed-loop system is not stable. This is because the quantizer with is too coarse.

Increase the quantization density by letting . The quantizer belongs to the conic sector [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 ```

Plot the sector bounds for the quantizer.

```PlotSectorBound(rho) ```

Define the conic sector matrix for a quantizer with .

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

Get the sector index for `Q` and `G`.

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

The quantizer with satisfies the conic sector condition for stability of the feedback connection since .

Run the Simulink model with .

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

As indicated by the sector index, the closed-loop system is stable.

### Reference

[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 ```

#### Learn how to automatically tune PID controller gains

Download code examples