**5. Noise attenuation of DE-MOMI method**

As already mentioned in the previous sub-chapter, the output noise of disturbance estimator (*dF*) depends on the selection of disturbance filter *TFD*. However, according to **Figure 3**, some noise is also present at the output of the PID controller block (signal *uC*). In this sub-chapter we will give some guidelines regarding the noise attenuation in practical realisation of DE-MOMI controller.

In practice, it is important to keep the controller output noise within some limits. Namely, if the controller's and the estimator's filter time constants are too low, the DE-MOMI controller output noise can be so high that the controller would be useless in practice.

The controller noise is mainly caused by the process output noise *n* (see **Figure 3**). The noise power at the controller output (*u*) depends on the power of *Improving Disturbance-Rejection by Using Disturbance Estimator DOI: http://dx.doi.org/10.5772/intechopen.95615*

measurement noise *n* and the frequency properties of noise, PID controller and disturbance estimator. The relation between the filters (*TF* and *TFD*) time constants and the controller output noise is rather complex, but can be calculated according to Parseval's theorem if the measurement noise frequency characteristics are known. However, this relation is higher-order and non-linear. Therefore, the search for adequate filter time constants *TF* and *TFD* would require optimisation procedure, which would significantly complicate the otherwise simple method.

In practice, on the other side, it is enough to keep the noise sufficiently low at some sufficiently high frequency. The definition of "high frequency" is arguable. In discrete-realisation of the controller, the sampling frequency is

$$f\_S = \frac{1}{T\_S} \tag{25}$$

where *TS* is the controller's sampling time. The highest signal, which may be sent to discrete function is, due to Shannon's theorem, *fS*/2. Therefore, any frequency close to *fS*/2 can be considered as high frequency. In this research we have arbitrarily decided that the "high frequency" *fHF* is the quarter of controller's sampling frequency *fS*:

$$f\_{HF} = 0.25f\_{\mathcal{S}}$$

$$\alpha\_{HF} = 2\pi f\_{HF} = \frac{0.5\pi}{T\_{\mathcal{S}}}\tag{26}$$

As already mentioned above, the source of controller noise is the process output noise *n* (**Figure 3**). In DE-MOMI controller, the overall high-frequency control noise consists of the PID controller (*uPIDn*) and the disturbance estimator (*uDEn*) high-frequency noise:

$$
\mu\_{PID\mathfrak{n}}(o\_{HF}) = K\_{PID\mathfrak{n}}\mathfrak{n}(o\_{HF})
$$

$$
\mathfrak{u}\_{D\text{En}}(o\_{HF}) = K\_{Den}\mathfrak{n}(o\_{HF}),
\tag{27}
$$

where *KPIDn* and *KDEn* are the high-frequency gains (around frequency *ωHF*) of the PID controller and the disturbance estimator, respectively.

In practical applications of the DE-MOMI method, the noise specifications (limitations) should be given in as simple form as possible for the user (operator). We decided that the actual parameters, given by the user should be the high-frequency gains of the controller (*KPIDn*) and the disturbance estimator (*KDEn*). Therefore, in practice, by selecting the mentioned two gains, the user would limit the amount of controller noise at high frequencies.

The actual gain of the PID controller around the chosen high frequency *ωHF* can be calculated from the controller transfer function (2):

$$K\_{PIDn} = \frac{\sqrt{\left(K\_I - K\_D a\_{HF}^2\right)^2 + K\_P^2 a\_{HF}^2}}{a\_{HF}\sqrt{1 + T\_F^2 a\_{HF}^2}}\tag{28}$$

The controller filter time constant can then be calculated as:

$$T\_F = \frac{\sqrt{\alpha\_{\rm HF}^4 K\_D^2 + \alpha\_{\rm HF}^2 \left(K\_P^2 - 2K\_I K\_D - K\_{\rm PIDn}^2\right) + K\_I^2}}{\alpha\_{\rm HF}^2 K\_{\rm PIDn}} \tag{29}$$

**Figure 3**) is also amplified via block *GMIGFD*, so small *TFD* can cause excessive noise of signal *dF*. The selection of *TFD* is, therefore, important in practical realisation of

*Control Based on PID Framework - The Mutual Promotion of Control and Identification…*

*The website layout for the calculation of the controller and the DE parameters.*

Calculating the controller and DE parameters is a relatively simple process. However, to simplify it even further, all Matlab/Octave scripts are available on the OctaveOnline Bucket website [25]. The layout of the website is shown in **Figure 8**. To calculate the controller and DE parameters, the user must 1) change the process and filter parameters, 2) press the "Save" button, and 3) press the "Run" button. The script will be executed and on the right side of the web screen all calculated parameters will be displayed. Note that users can change the content of the script

As already mentioned in the previous sub-chapter, the output noise of disturbance estimator (*dF*) depends on the selection of disturbance filter *TFD*. However, according to **Figure 3**, some noise is also present at the output of the PID controller block (signal *uC*). In this sub-chapter we will give some guidelines regarding the

In practice, it is important to keep the controller output noise within some limits. Namely, if the controller's and the estimator's filter time constants are too low, the DE-MOMI controller output noise can be so high that the controller would be

The controller noise is mainly caused by the process output noise *n* (see **Figure 3**). The noise power at the controller output (*u*) depends on the power of

the DE-MOMI method.

**Figure 8.**

only temporarily.

useless in practice.

**54**

**5. Noise attenuation of DE-MOMI method**

noise attenuation in practical realisation of DE-MOMI controller.

*Control Based on PID Framework - The Mutual Promotion of Control and Identification…*

Since the PID controller parameters depend on the filter time constant *TF*, the *TF* should be calculated by an iterative procedure given in **Figure 9**.

The calculation of the disturbance filter high-frequency gain *KDEn* is similar as for the PID controller:

$$K\_{DEn} = \sqrt{\frac{K\_{FD}^2 \left(1 + \alpha\_{HF}^2 \left(a\_{1m}^2 - 2a\_{2m}\right) + \alpha\_{HF}^4 a\_{2m}^2\right)}{K\_{PRM}^2 \left(1 + \alpha\_{HF}^2 T\_{FD}^2\right)^3}}\tag{30}$$

The initially chosen filter time constants were (the values are not critical):

*Improving Disturbance-Rejection by Using Disturbance Estimator*

*DOI: http://dx.doi.org/10.5772/intechopen.95615*

The characteristic areas are calculated from (5). For the given high-frequency gain *KPIDn* = 4, the filter and controller parameters are calculated according to procedure given in **Figure 9**. The calculated filter time constants (after 2 iterations)

*TF*<sup>3</sup> ¼ 0*:*119 *s*

Note that indexes 3 and 4 in above filter time constants stand for the processes

The areas are given in **Table 3** and the controller parameters are given in

*GM*<sup>3</sup> <sup>¼</sup> *<sup>e</sup>*�0*:*2*<sup>s</sup>*

*GM*<sup>4</sup> <sup>¼</sup> *<sup>e</sup>*�1*:*94*<sup>s</sup>*

calculated according to the procedure given in **Figure 10** (2 iterations were

*GMI*<sup>3</sup> ¼ 1 þ 1*:*2*s* þ 0*:*2*s*

*GMI*<sup>4</sup> ¼ 1 þ 3*:*06*s* þ 2*:*69*s*

According to the chosen high-frequency gain *KDEn* = 4, the *TFD* and *KFD* were

*TFD*<sup>3</sup> ¼ 0*:*06 *TFD*<sup>4</sup> ¼ 0*:*116 *KFD*<sup>3</sup> ¼ 0*:*69

Therefore, the complete inverse of the models with accompanying disturbance

<sup>2</sup> ð Þ ð Þ <sup>1</sup> <sup>þ</sup> <sup>0</sup>*:*06*<sup>s</sup>* <sup>3</sup>

*A0 A1 A2 A3 A4 A5*

*GMI*3*GFD*<sup>3</sup> <sup>¼</sup> <sup>0</sup>*:*69 1 <sup>þ</sup> <sup>1</sup>*:*2*<sup>s</sup>* <sup>þ</sup> <sup>0</sup>*:*2*<sup>s</sup>*

Areas *GP3* 1 1.40 1.50 1.52 1.53 1.53 Areas *GP3* with controller filter 1 1.52 1.68 1.72 1.73 1.73 Areas *GP4* 1 5.00 14.50 32.17 60.71 102.8 Areas *GP4* with controller filter 1 5.19 15.50 35.14 67.45 115.8

*The calculated areas for the processes (32) without and with the controller filter.*

The process models *GM* and inversed process models *GMI* are then calculated

1 þ 1*:*2*s* þ 0*:*2*s*<sup>2</sup>

1 þ 3*:*06*s* þ 2*:*69*s*<sup>2</sup>

2

*KFD*<sup>4</sup> ¼ 0*:*36 (37)

<sup>2</sup> (36)

were

**Table 4**.

from (14):

sufficient):

**Table 3.**

**57**

filters (see **Figure 3**) are the following:

*GP3* and *GP4*, respectively.

*TF* ¼ *TFD* ¼ 0*:*1 *s* (34)

*TF*<sup>4</sup> ¼ 0*:*192 *s* (35)

In a similar manner, the disturbance filter time constant can be derived as:

$$T\_{FD} = \frac{1}{a\_{HF}} \sqrt{\sqrt[3]{\frac{K\_{FD}^2 \left(1 + \alpha\_{HF}^2 \left(a\_{1m}^2 - 2a\_{2m}\right) + \alpha\_{HF}^4 a\_{2m}^2\right)}}} - 1\tag{31}$$

Since the calculated filter gain *KFD* depends on the filter time constant *TFD* (see expression (18)), the calculation of expression (31) is iterative as well, as given in **Figure 10**.

Illustrative example 2

Let us illustrate the calculation procedure for the following processes:

$$\mathbf{G}\_{P3} = \frac{e^{-0.2s}}{\left(\mathbf{1} + \mathbf{0}.2s\right)\left(\mathbf{1} + s\right)}$$

$$\mathbf{G}\_{P4} = \frac{e^{-s}}{\left(\mathbf{1} + s\right)^{4}}\tag{32}$$

Note that other process models were chosen as in the previous case (20) in order to test different types of processes. The chosen high-frequency gains of the PID controller and the disturbance filter are *KPIDn* = 4 and *KDEn* = 4, respectively. The chosen closed-loop sampling time was *TS* = 0.01 s. Therefore, the chosen highfrequency is:

$$
\rho\_{\rm HF} = \frac{0.5\pi}{T\_{\rm S}} = 157.1 \,\text{s}^{-1} \tag{33}
$$


#### **Figure 9.**

*Calculation of the filter and controller parameters according to the desired controller high-frequency gain* KPIDn*.*


#### **Figure 10.**

*Calculation of the disturbance filter parameters according to the desired disturbance filter high-frequency gain* KDEn*.*

Since the PID controller parameters depend on the filter time constant *TF*, the *TF*

The calculation of the disturbance filter high-frequency gain *KDEn* is similar as

*HF a*<sup>2</sup>

In a similar manner, the disturbance filter time constant can be derived as:

*HF a*<sup>2</sup>

*K*2 *PRMK*<sup>2</sup> *DEn*

Since the calculated filter gain *KFD* depends on the filter time constant *TFD* (see expression (18)), the calculation of expression (31) is iterative as well, as given in

ð Þ 1 þ 0*:*2*s* ð Þ 1 þ *s*

ð Þ 1 þ *s*

¼ 157*:*1 *s*

*Calculation of the filter and controller parameters according to the desired controller high-frequency gain* KPIDn*.*

*Calculation of the disturbance filter parameters according to the desired disturbance filter high-frequency gain*

Note that other process models were chosen as in the previous case (20) in order to test different types of processes. The chosen high-frequency gains of the PID controller and the disturbance filter are *KPIDn* = 4 and *KDEn* = 4, respectively. The chosen closed-loop sampling time was *TS* = 0.01 s. Therefore, the chosen high-

*PRM* 1 þ *ω*<sup>2</sup>

ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi

<sup>1</sup>*<sup>m</sup>* � 2*a*2*<sup>m</sup>* � � <sup>þ</sup> *<sup>ω</sup>*<sup>4</sup>

ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi

<sup>1</sup>*<sup>m</sup>* � 2*a*2*<sup>m</sup>* � � <sup>þ</sup> *<sup>ω</sup>*<sup>4</sup>

� �

vuut (31)

� �

*HFT*<sup>2</sup> *FD* � �<sup>3</sup>

vuut (30)

*HFa*<sup>2</sup> 2*m*

> *HFa*<sup>2</sup> 2*m*

<sup>4</sup> (32)

�<sup>1</sup> (33)

� 1

should be calculated by an iterative procedure given in **Figure 9**.

*FD* <sup>1</sup> <sup>þ</sup> *<sup>ω</sup>*<sup>2</sup>

*FD* 1 þ *ω*<sup>2</sup>

Let us illustrate the calculation procedure for the following processes:

*GP*<sup>3</sup> <sup>¼</sup> *<sup>e</sup>*�0*:*2*<sup>s</sup>*

*<sup>ω</sup>HF* <sup>¼</sup> <sup>0</sup>*:*5*<sup>π</sup> TS*

*GP*<sup>4</sup> <sup>¼</sup> *<sup>e</sup>*�*<sup>s</sup>*

*K*2

*Control Based on PID Framework - The Mutual Promotion of Control and Identification…*

*K*2

*K*2

3 s

for the PID controller:

**Figure 10**.

frequency is:

**Figure 9.**

**Figure 10.**

KDEn*.*

**56**

*KDEn* ¼

*TFD* <sup>¼</sup> <sup>1</sup> *ωHF*

Illustrative example 2

The initially chosen filter time constants were (the values are not critical):

$$T\_F = T\_{FD} = \mathbf{0.1s} \tag{34}$$

The characteristic areas are calculated from (5). For the given high-frequency gain *KPIDn* = 4, the filter and controller parameters are calculated according to procedure given in **Figure 9**. The calculated filter time constants (after 2 iterations) were

$$T\_{F3} = 0.119 \text{ s}$$

$$T\_{F4} = 0.192 \text{ s} \tag{35}$$

Note that indexes 3 and 4 in above filter time constants stand for the processes *GP3* and *GP4*, respectively.

The areas are given in **Table 3** and the controller parameters are given in **Table 4**.

The process models *GM* and inversed process models *GMI* are then calculated from (14):

$$G\_{M3} = \frac{e^{-0.2s}}{1 + 1.2s + 0.2s^2}$$

$$G\_{M3} = 1 + 1.2s + 0.2s^2$$

$$G\_{M4} = \frac{e^{-1.94s}}{1 + 3.06s + 2.69s^2}$$

$$G\_{M4} = 1 + 3.06s + 2.69s^2 \tag{36}$$

According to the chosen high-frequency gain *KDEn* = 4, the *TFD* and *KFD* were calculated according to the procedure given in **Figure 10** (2 iterations were sufficient):

$$T\_{FD3} = 0.06$$

$$T\_{FD4} = 0.116$$

$$K\_{FD3} = 0.69$$

$$K\_{FD4} = 0.36\tag{37}$$

Therefore, the complete inverse of the models with accompanying disturbance filters (see **Figure 3**) are the following:

$$\mathbf{G}\_{\mathrm{MI3}}\mathbf{G}\_{\mathrm{FD3}} = \frac{\mathbf{0.69}(\mathbf{1} + \mathbf{1.2s} + \mathbf{0.2s^2})}{\left(\mathbf{1} + \mathbf{0.06s}\right)^3}$$


**Table 3.**

*The calculated areas for the processes (32) without and with the controller filter.*

*Control Based on PID Framework - The Mutual Promotion of Control and Identification…*


**Table 4.**

*The calculated controller parameters for the processes (20) for MOMI (6) and DRMO (9) method, taking into account the calculated controller filters.*

$$G\_{\rm MI4} G\_{\rm FD4} = \frac{0.36(1 + 3.06s + 2.69s^2)}{\left(1 + 0.116s\right)^3} \tag{38}$$

the parameters can be performed similarly as shown in **Figure 8**, with the difference that the name of the script is now Octave\_Calc\_GC\_GF\_Noise.m. To calculate the controller and DE parameters, the user must 1) change the process and noise gain parameters, 2) press the "Save" button, and then 3) press the "Run" button. The script will run and the right side of the web screen will display all the calculated parameters. Note that users can only temporarily change the contents of the script.

*The closed-loop responses on the process* GP4*, when using the MOMI, DRMO and DE-MOMI method.*

*Improving Disturbance-Rejection by Using Disturbance Estimator*

*DOI: http://dx.doi.org/10.5772/intechopen.95615*

In this sub-chapter the proposed method will be compared to some other tuning methods based on non-parametric description of the process. Besides the already introduced MOMI and DRMO methods, the DE-MOMI method will be compared to Åström and Hägglund's tuning method [1] (denoted as "AH") and to ADRC

The AH method [1] is based on the calculation of the maximum sensitivity index *MS*, which is the inverse of the smallest open-loop Nyquist curve distance to the critical point (1,0i). The method was developed for values *MS* = 1.4 and *MS* = 2. In this comparison we will use *MS* = 2, since it gives better disturbance-rejection performance. However, even though the process transfer function does not need to be derived, the method requires the identification of the process steady-state gain and the inflexion point along with maximum slope of the process output signal during the step-change of the process input signal. Note that those parameters usually require manual measurements and cannot be easily performed by using automatic calculation. The AH method is using the PID controller structure with adjustable reference-weighting factor *b*, and by fixing factor *c* =0(**Figure 2**).

**6. Comparison to some other methods**

method [27].

**59**

**Figure 12.**

The closed-loop responses for the MOMI, DRMO and the proposed DE-MOMI method, are given in **Figures 11** and **12**. Again, the disturbance rejection performance of the DE-MOMI method is the best (note that the unity-step process input disturbance signal was applied at the half of experiment time). The level of controller output (*u*) noise is close to the expected one taken into account that both, the PID controller (*uC*) and the disturbance estimator output (*dF*) noise should be 4 times higher than the measurement noise at high frequencies.

The disturbance rejection performance of the DE-MOMI method can be additionally improved by increasing the high-frequency gain *KDEn*. However, increased gain is associated with higher controller output noise and decreased closed-loop stability if the actual process and the process model differ.

The computation of the controller and the DE parameters can be performed similarly as before on another OctaveOnline Bucket website [26]. The calculation of

**Figure 11.** *The closed-loop responses on the process* GP3*, when using the MOMI, DRMO and DE-MOMI method.*

*Improving Disturbance-Rejection by Using Disturbance Estimator DOI: http://dx.doi.org/10.5772/intechopen.95615*

**Figure 12.** *The closed-loop responses on the process* GP4*, when using the MOMI, DRMO and DE-MOMI method.*

the parameters can be performed similarly as shown in **Figure 8**, with the difference that the name of the script is now Octave\_Calc\_GC\_GF\_Noise.m. To calculate the controller and DE parameters, the user must 1) change the process and noise gain parameters, 2) press the "Save" button, and then 3) press the "Run" button. The script will run and the right side of the web screen will display all the calculated parameters. Note that users can only temporarily change the contents of the script.
