fPlantex

The function M_\mathrm{ex}=fplantex(M,io,options) extends the plant M to M_\mathrm{ex} by adding new outputs to the plant in the following sense.

Given the original plant M=(M_{ij}) with realization

\left(\!\!\begin{array}{cccc}M_{11}&M_{12}&\cdots&M_{1n}\\ M_{21}&M_{22}&\cdots&M_{2n}\\ \vdots&\vdots&\ddots&\vdots\\  M_{m1}&M_{m2}&\cdots&M_{mn}\end{array} \!\! \right)\!=\!\left[ \!\! \begin{array}{c|cccc}A&B_1&B_2&\cdots&B_n\\ \hline C_1&D_{11}&D_{12}&\cdots&D_{1n}\\C_2& D_{21}&D_{22}&\cdots&D_{2n}\\  \vdots&\vdots&\vdots&\ddots&\vdots\\  C_{m}&D_{m1}&D_{m2}&\cdots&D_{mn}\end{array}\!\!\right]

the function creates the extended plant M_\mathrm{ex} with realization

\left(\!\!\begin{array}{cccc}M_{11}&M_{12}&\cdots&M_{1n}\\I&0&\cdots&0\\ M_{21}&M_{22}&\cdots&M_{2n}\\ 0&I&\cdots&0\\ \vdots&\vdots&\ddots&\vdots\\ \vdots&\vdots&\ddots&\vdots\\   M_{m1}&M_{m2}&\cdots&M_{mn}\\0&0&\cdots&I\end{array}\!\!\right)\!=\!\left[ \!\! \begin{array}{c|cccc}A&B_1&B_2&\cdots&B_n\\ \hline C_1&D_{11}&D_{12}&\cdots&D_{1n}\\0&I&0&\cdots&0\\C_2& D_{21}&D_{22}&\cdots&D_{2n}\\ 0&0&I&\cdots&0\\  \vdots&\vdots&\vdots&\ddots&\vdots\\   \vdots&\vdots&\vdots&\ddots&\vdots\\   C_{m}&D_{m1}&D_{m2}&\cdots&D_{mn}\\ 0&0&0&\cdots&I\end{array}\!\!\right]

If the option options.pd=’dual_augm’ is specified (default: options.pd=’primal_augm’), then the conjugate system (i.e., -M^*)

\left(\!\!\begin{array}{cccc}-M_{11}^T& -M_{21}^T&\cdots&-M_{m1}^T\\ -M_{12}^T&-M_{22}^T&\cdots&-M_{m2}^T\\ \vdots&\vdots&\ddots&\vdots\\  -M_{1n}^T&-M_{2m}^T &\cdots&-M_{mn}^T\end{array} \!\! \right)\!=\!\left[ \!\! \begin{array}{c|cccc}-A^T&-C_1^T&-C_2^T&\cdots&C_m^T\\ \hline -B_1^T&-D_{11}^T&-D_{21}^T&\cdots&-D_{m1}^T\\-B_2^T&-D_{12}^T&-D_{22}^T&\cdots&-D_{m2}^T\\  \vdots&\vdots&\vdots&\ddots&\vdots\\  -B_{n}^T &-D_{1n}^T &-D_{2n}^T& \cdots&-D_{mn}^T\end{array}\!\!\right]

is extended as

\left(\!\!\begin{array}{cccc}I&0&\cdots&0\\-M_{11}^T& -M_{21}^T&\cdots&-M_{m1}^T\\0&I&\cdots&0\\ -M_{12}^T&-M_{22}^T&\cdots&-M_{m2}^T\\ \vdots&\vdots&\ddots&\vdots\\ \vdots&\vdots&\ddots&\vdots\\ 0&0&\cdots&I\\  -M_{1n}^T&-M_{2m}^T &\cdots&-M_{mn}^T\end{array} \!\! \right)\!=\!\left[ \!\! \begin{array}{c|cccc}-A^T&-C_1^T&-C_2^T&\cdots&C_m^T\\ \hline 0&I&0&\cdots&0\\-B_1^T&-D_{11}^T&-D_{21}^T&\cdots&-D_{m1}^T\\0&0&I&\cdots&0\\-B_2^T&-D_{12}^T&-D_{22}^T&\cdots&-D_{m2}^T\\  \vdots&\vdots&\vdots&\ddots&\vdots \\  \vdots&\vdots&\vdots&\ddots&\vdots \\0&0&0&\cdots&I\\  -B_{n}^T &-D_{1n}^T &-D_{2n}^T& \cdots&-D_{mn}^T\end{array}\!\!\right]

The second input of the function specifies where the identity matrices should be added. This can be done by specifying the structure io, which is a structure that is automatically generated by the method in the class iqcprob that is called when generating IQC multipliers for the uncertain plant M.

To explain this in more detail, when creating IQC multipliers in IQClab, they are factorized as:

    \[\Pi^i=(\bullet)^*(\bullet)^T\left(\begin{array}{cc}P_{11}^i&P_{12}^i\\ \bullet& P_{22}^i  \end{array}\right)\left(\begin{array}{cc}T_{11}^i&T_{12}^i\\0& T_{22}^i  \end{array}\right)  \left(\begin{array}{cc}\Psi_{1}^i&0\\0&\Psi_{2}^i\end{array}\right).\]

Here

  • P^i is a symmetric matrix with LMI variables
  • T^i is an upper triangular scaling matrix
  • \Psi^i is a basis (transfer) function

This allows to construct the analysis FDI

    \[\left(\bullet\right)^*\left(\!\!\begin{array}{c|c|c|c}\Pi^1&0&\cdots&0\\ \hline 0&\Pi^2&\ddots&\vdots\\  \hline  \vdots&\ddots &\ddots &0\\  \hline  0&\cdots &0&\Pi_m\end{array}\!\!\right)\!\! \left(\!\!\begin{array}{cccc}M_{11}&M_{12}&\cdots&M_{1n}\\I&0&\cdots&0\\ \hline M_{21}&M_{22}&\cdots&M_{2n}\\ 0&I&\cdots&0\\ \hline\vdots&\vdots&\ddots&\vdots\\ \vdots&\vdots&\ddots&\vdots\\   M_{m1}&M_{m2}&\cdots&M_{mn}\\0&0&\cdots&I\end{array}\!\!\right)\prec0\]

for which we require to extend the plant M as M_\mathrm{ex} as specified above.

An IQC problem is created by means of the problem class iqcprob. This class includes the method fIO, which stores the dimensions of these matrices in the row vector as\mathrm{IO}(i,:)=\left[\begin{array}{cccccccccc}n_{\Psi_1^i}&n_{\Psi_2^i}& n_{\Psi_1^i}^\mathrm{ltvrb}&n_{\Psi_2^i}^\mathrm{ltvrb}&n_{T_{11}^i} &n_{T_{22}^i}   &n_{P_{11}^i} &n_{P_{22}^i} &n_{x_{\Psi_1}^i} &n_{x_{\Psi_2}^i}\end{array}\right].

Here:

  • n_{\Psi_1^i} denotes the number of outputs of the uncertainty block
  • n_{\Psi_2^i} denotes the number of inputs of the uncertainty block
  • n_{\Psi_1^i}^\mathrm{ltvrb} denotes the number of outputs of the uncertainty block in case of LTV rate bounded multipliers
  • n_{\Psi_2^i}^\mathrm{ltvrb} denotes the number of inputs of the uncertainty block in case of LTV rate bounded multipliers
  • n_{T_{11}^i} denotes the number of columns of T_{11}^i
  • n_{T_{22}^i} denotes the number of columns of T_{22}^i
  • n_{P_{11}^i} denotes the number of columns of P_{11}^i
  • n_{P_{22}^i} denotes the number of columns of P_{22}^i
  • n_{x_{\Psi_1}^i} denotes the number of states of \Psi_1}^i
  • n_{x_{\Psi_2}^i} denotes the number of states of \Psi_2}^i

The dimension of the identity blocks in the extended plant, M_\mathrm{ex}, correspond to the dimensions of the uncertainty block (i.e., n_{\Psi_1^i}, n_{\Psi_2^i} and n_{\Psi_1^i}^\mathrm{ltvrb}, n_{\Psi_2^i}^\mathrm{ltvrb} in case of the multiplier class for LTV rate-bounded uncertainties). Hence, the size of the identity block equals n_{\Psi_2^i}.

Notes:

  • In case the option options.n is specified, with n=[n_1,n_2], you define the start and stop criteria such that the code starts at \mathrm{IO}(n_1,:) and ends at \mathrm{IO}(n_2,:).
  • In case of of the multiplier class for LTV rate-bounded uncertainties, the plant M is extended with an extra identity block as follows:

        \[\left(\begin{array}{cc}\Psi_{1}^i&0\\0&\Psi_{2}^i\end{array}\right)\left(\begin{array}{cc}M^i&0\\I&0\\0&I\end{array}\right)\]

  • The function can also be applied independently from the problem class iqcprob, just by providing the proper inputs to the function.

Previous page