+++
title = "Tensor methods for mimo decoupling and control design using frequency response functions"
author = ["Thomas Dehaeze"]
draft = false
+++

Tags
: [Decoupled Control](decoupled_control.md), [Multivariable Control](multivariable_control.md)

Reference
: ([Stoev et al. 2017](#org29c5c20))

Author(s)
: Stoev, J., Ertveldt, J., Oomen, T., & Schoukens, J.

Year
: 2017


## Introduction {#introduction}

By appropriate system design, most systems are either decoupled or can be decoupled using static input-output transformations.
Hence, most motion system and their motion software architecture use SISO control design method and solutions.

The first step typically involves a FRF identification using specific excitation signals.
Once the FRF is available, the controller \\(K\\) can be designed directly based on the FRF data.
Many classical MIMO control design methods aim at decoupling the open loop function at some location in the feedback loop.
Because their are strong non-intuitive aspect of MIMO loop-shaping, the following step-by-step approach is proposed, in which the design complexity is only increased if justified by the problem at hand:

-   **[Interaction Analysis](interaction_analysis.md)**.
    The goal is to identify two sided interactions in the plant dynamics.
    If there is no two sided interaction, then feedback design becomes a standard multi-loop SISO design problem.
    Two measured of the plant interaction are [Relative Gain Array](relative_gain_array.md) and [Structured Singular Value](structured_singular_value.md).
-   **Decoupling transformations**.
    To reduce interaction, one may redefine the input and output of the plant using a decoupling transformation.
    For motion systems, most transformations are found on the basis of **kinematic model**.
    Herein, combinations of the actuators are defined so that actuator variables act in independent (orthogonal) directions at the center of gravity.
    Similarly, combinations of the sensors are defined so that each translation and rotation of the center of gravity can be measured independently.
    This, this basically amounts to the **inversion of a kinematic model** of the plant.
-   Independent feedback control design
-   Sequential feedback control design
-   Norm based control design

All steps, except for the last, can be performed with a non-parametric model of the plant (i.e. an identified FRF).


## MIMO frequency response decomposition {#mimo-frequency-response-decomposition}

The problem addressed in this paper is to decouple a given set of MIMO FRF.
Such decoupled representation, if existing, would permit the MIMO FRF to be written as a linear combination of parallel SISO FRFs.
The existing methods to convert the MIMO FRF into equivalent combination of SISO FRF fall into two groups:

-   **matrix decomposition methods** use linear algebra based on eigen-value, or singular value decomposition which are able to diagonalize the FRF at a single frequency.
-   **optimization methods** formulate the problem of simultaneous diagonalization of the FRF at multiple frequencies as an optimization problem.

At each frequency \\(\omega\_i, i = 1 \dots N\_f\\), we have a square matrix \\(H(\omega\_i) \in \mathbb{C}^{N \times N}\\) with the complex response of the system relating the inputs and outputs.

**MIMO decoupling of dyadic system**:

\begin{align}
H(\omega\_i) &= T\_y S(\omega\_i) T\_u + E(\omega\_i), \ i = 1 \dots N\_f \label{eq:decomposition} \\\\\\
S(\omega\_i) &= \begin{bmatrix}
S\_1(\omega\_i) & 0 & 0 \\\\\\
0 & \ddots & 0 \\\\\\
0 & 0 & S\_N(\omega\_i)
\end{bmatrix}
\end{align}

where \\(S(\omega\_i)\\) is a diagonal matrix containing SISO FRFs \\(S\_k(\omega\_i) \in \mathbb{C}\\) on the main diagonal, \\(T\_y \in \mathbb{R}^{N \times N}\\), \\(T\_u \in \mathbb{R}^{N \times N}\\), \\(E(\omega\_i)\\) is the error.

The approximate MIMO system decoupling is shown in Figure [1](#org3f61a67).

In practical cases, the matrix \\(\hat{S}(\omega\_i) = T\_y^{-1} H(\omega\_i) T\_u^{-1}\\) will not be purely diagonal, but rather diagonally dominated.

<a id="org3f61a67"></a>

{{< figure src="/ox-hugo/stoev17_decoupled_system_schematic.png" caption="Figure 1: MIMO FRF decomposition in parallel branches" >}}

The array \\(H(\omega\_i), i = 1 \dots N\_f\\) of complex matrices can be represented as a 3-dimensional sensor \\(\underline{H}\\).

<div class="important">
  <div></div>

The core result of this paper is that the decomposition can be found by rephrasing \eqref{eq:decomposition} as a "Canonical Polyadic Decomposition" (CPD).
This is shown in Figure [2](#org58ed38e), where \\(T\_y,T\_u,S\_d\\) can be directly computed using a single Matlab function.

</div>

Mathematically equivalent form of CPD is shown in the lower part of Figure [2](#org58ed38e), where the tensor \\(\underline{S}\\) contains the rows of the matrix \\(S\_d\\) on each of its diagonals in the third dimension, which is exactly the problem of simultaneous diagonalization.

The transformation effectively diagonalises the original frequency response tensor \\(\underline{H}\\) using two transformation matrices \\(T\_y, T\_u\\).
This operation is closely related to the SVD on a single matrix, however in this case the diagonalisation occurs for a set of matrices, each describing the MIMO FRF at different frequency.

<a id="org58ed38e"></a>

{{< figure src="/ox-hugo/stoev17_decompos_3d_tensor.png" caption="Figure 2: Decomposition of 3D tensor" >}}

The direct application of a CPD procedure on the above complex data tensor would result in complex solutions, including complex matrices \\(T\_y \in \mathbb{C}^{N \times N}\\), \\(T\_u \in \mathbb{C}^{N \times N}\\).
This is not useful for a practical decoupling of physical systems as we require real solutions for \\(T\_y,T\_u\\).
The direct solution we use for this is to take the imaginary and real part of the complex tensor \\(\underline{H} \in \mathbb{C}^{N \times N \times N\_f}\\), each of them a real tensor by itself, and stack them one behind the other in the dimension of the frequencies, thus getting an augmented real-valued tensor \\(\underline{\breve{H}} \in \mathbb{R}^{N \times N \times 2N\_f}\\).


## Numerical Example {#numerical-example}

Let's now make a Matlab example using the [Tensorlab](https://www.tensorlab.net/) toolbox.

Let's define a 2x2 diagonal system:

```matlab
S = [4e3/(s^2 + 25*s + 4e3) 0
     0 4e5/(s^2 + 250*s + 4e5)];
```

And coupled this system with two random matrices:

```matlab
Ty = [0.13 0.003
      0.43 0.51];

Tu = [0.32 0.67
      0.95 0.006];
```

The couple system is defined:

```matlab
H = Ty * S * Tu;
```

Then, suppose with have the frequency response function of the coupled plant:

```matlab
freqs = logspace(0,3,1000);
H_frf = freqresp(H, freqs, 'Hz');
```

<a id="orgba720df"></a>

{{< figure src="/ox-hugo/stoev17_coupled_diagonal_plants.png" caption="Figure 3: Diagonal and coupled plants" >}}

We take the real and imaginary part of the FRF and concatenate the two along the frequency dimension.

```matlab
H_frf_real = cat(3, real(H_frf), imag(H_frf));
```

Then random matrices are initialize the the CPD.

```matlab
U = cpd_rnd(size(H_frf_real), size(H_frf_real,1));
```

And the CPD is performed.

```matlab
[T, ~] = cpd3_sd(H_frf_real, U);
```

The obtained decoupling matrices are:

```matlab
Ty_est = T{1};
```

```text
Ty_est =
        -0.289402459385387      -0.00647742171539879
        -0.957207509228524         -1.10111369041218
```

```matlab
Tu_est = T{2};
```

```text
Tu_est =
         0.430893809258741         0.999980044721872
         0.902402640256826       0.00631744869723862
```

And the decoupled plant using the estimated optimal decoupling matrices is:

```matlab
H_dec = inv(Ty_est) * H * inv(Tu_est);
```

<a id="orgcb9fe2a"></a>

{{< figure src="/ox-hugo/stoev17_results_decoupling_example.png" caption="Figure 4: Diagonal, coupled and decoupled plants" >}}


## Conclusion {#conclusion}

The paper presents an application for the tensor decomposition for the design of a static decoupling of a MIMO system.
The results in this paper are obtained on a _non-parametric_ frequency domain model of the plant and indicate that the procedure is more robust that the eigen-value based decoupling.
The advantages of this method with respect to some of th existing methods can be found when the FRF data available is disturbed by noise.



## Bibliography {#bibliography}

<a id="org29c5c20"></a>Stoev, Julian, Julien Ertveldt, Tom Oomen, and Johan Schoukens. 2017. “Tensor Methods for Mimo Decoupling and Control Design Using Frequency Response Functions.” _Mechatronics_ 45:71–81. <https://doi.org/https://doi.org/10.1016/j.mechatronics.2017.05.009>.
