Non-minimum phase case

It is assumed that in the figure,
,
,
, where
,
.
Setup
The following code returns a structure variable sysEnv that contains the information about the system environment that will be used later in designing the DOB.
C = tf(1, [1, 1]);
P_n = tf([1, 1, 5], [1, 3, 3, 1]);
N = {1, [-0.2, 2], 5};
D = {1, 3, 3, 1};
sysEnv = setup_sys(N, D, P_n, C)
The field nominalStab is 1 since the nominal closed-loop system is stable, but the field minPhase is 0 since a given set of uncertain plants contains some non-minimum phase systems.
Therefore, there exists a constant  such that, for all 
, 
the closed-loop system is not robustly stable.
Design of Q-filter
Then let’s see if the closed-loop system is robustly stable for a particular (sufficiently large) .
First of all, the following code informs you that the fast dynamics of the closed-loop system is robustly stable.
Qcanon = tf(1, [1, 1]);
isFastDynamicsStable(sysEnv, Qcanon)
After several trials and errors like the following code (Unfortunately, you should read the paper to understand the systematic way!), you can find out that at least  robustly stabilizes the closed-loop system.
isValidTau(sysEnv, Qcanon, 0.18)
isValidTau(sysEnv, Qcanon, 0.19)
isValidTau(sysEnv, Qcanon, 0.20)
isValidTau(sysEnv, Qcanon, 0.21)
In conclusion, DO-DAT suggests you to use the Q-filter for the robust stability of the closed-loop system as follows. Although this result does not guarantee any level of performance in terms of disturbance rejection, you can notice that DOB is still available for non-minimum phase plant.
, for 
.