1
$\begingroup$

I have been working my way through the paper "Iterative feedback tuning: theory and applications" (Hjalmarsson, Gevers et al IEEE Control Systems Magazine , vol. 18, no. 4, pp. 26-41, Aug. 1998) (link to PDF) which seems to be fairly widely cited.

I'm struggling a bit with the notation and I’d appreciate a little confirmation as to whether I’m on the right track.

The paper involves minimising a quadratic criterion function $J(\boldsymbol\rho)$ for a closed-loop system with a (known) controller parameterised by a vector $\boldsymbol\rho$, through an iterative solution of:

$ \frac{\partial J}{\partial\boldsymbol\rho}(\boldsymbol\rho)=\tfrac1N\Bigg(\sum_{t=1}^N\tilde y_t(\boldsymbol\rho)\,\frac{\partial\tilde y_t}{\partial\boldsymbol\rho}(\boldsymbol\rho)\ +\ \lambda\sum_{t=1}^Nu_t(\boldsymbol\rho)\,\frac{\partial u_t}{\partial\boldsymbol\rho}(\boldsymbol\rho)\Bigg)=0 $$\phantom{tab}$(eq 11 of ref.)

where $\tilde y_t(\boldsymbol\rho)$ and $u_t(\boldsymbol\rho)$ are the discrete time values of the error signal and controller output for some parameters $\boldsymbol\rho$.

Later the paper derives approximations of the partial derivatives at the current iteration, such as:

$ \frac{\partial\tilde y}{\partial\boldsymbol\rho}(\boldsymbol\rho_i) \approx \frac1{C_r(\boldsymbol\rho_i)}\Bigg(\bigg(\frac{\partial C_r}{\partial\boldsymbol\rho}(\boldsymbol\rho_i)-\frac{\partial C_y}{\partial\boldsymbol\rho}(\boldsymbol\rho_i)\bigg)\,y_3(\boldsymbol\rho_i)\,+\,\frac{\partial C_y}{\partial\boldsymbol\rho}(\boldsymbol\rho_i)\,y_2(\boldsymbol\rho_i)\Bigg) $$\phantom{tab}$(eq 19 of ref.)

where $y_2(\boldsymbol\rho_i)$ and $y_3(\boldsymbol\rho_i)$ are discrete time signals measured at $\boldsymbol\rho=\boldsymbol\rho_i$, and $C_r(\boldsymbol\rho_i)$, $C_y(\boldsymbol\rho_i)$ are the known transfer functions of the controller.

My current interpretation of these expressions is as follows:

  1. Discrete time signals such as $y_2(\boldsymbol\rho_i)$ can be viewed as ordered sets of sample values.
  2. Multiplying a signal by a function such as $C_r(\boldsymbol\rho_i)$ corresponds to a mapping of the ordered set (e.g. via a difference equation).
  3. A term such as $\frac{\partial C_r}{\partial\boldsymbol\rho}(\boldsymbol\rho_i)$ is a vector of functions composed of the partial derivatives of $C_r$ with respect to the components of $\boldsymbol\rho$, evaluated at $\boldsymbol\rho=\boldsymbol\rho_i$. That is: $ \frac{\partial C_r}{\partial\boldsymbol\rho}(\boldsymbol\rho_i)= \begin{bmatrix} \tfrac{\partial C_r}{\partial\rho_1}(\boldsymbol\rho_i)\\ \tfrac{\partial C_r}{\partial\rho_2}(\boldsymbol\rho_i)\\ \vdots\\ \tfrac{\partial C_r}{\partial\rho_{n_\rho}}(\boldsymbol\rho_i)\\ \end{bmatrix} $
  4. Multiplying a signal by a partial derivative, as in $\frac{\partial C_y}{\partial\boldsymbol\rho}(\boldsymbol\rho_i)\,y_2(\boldsymbol\rho_i)$, results in a vector of ordered sets (signals) due to applying each of the partial derivative functions to the signal. That is: $\frac{\partial C_r}{\partial\boldsymbol\rho}(\boldsymbol\rho_i)\,y(\boldsymbol\rho_i)= \begin{bmatrix} \Big\{\tfrac{\partial C_r}{\partial\rho_1}(\boldsymbol\rho_i)\,y(\boldsymbol\rho_i,t)\Big\}_{1\,\le\,t\,\le\,N}\\ \Big\{\tfrac{\partial C_r}{\partial\rho_2}(\boldsymbol\rho_i)\,y(\boldsymbol\rho_i,t)\Big\}_{1\,\le\,t\,\le\,N}\\ \vdots\\ \Big\{\tfrac{\partial C_r}{\partial\rho_{n_\rho}}(\boldsymbol\rho_i)\,y(\boldsymbol\rho_i,t)\Big\}_{1\,\le\,t\,\le\,N}\\ \end{bmatrix}$
  5. In the expression for the criterion, quantities such as the one above are summed over $t$ to produce a vector of real values.

Does this look right?

$\endgroup$

1 Answer 1

1
$\begingroup$

I think you're mostly right.

I am not sure what you mean in (4).
You may look at $C, {y}_{i}$ as multivariate functions.
Their input is a vector and output is a scalar.

A simple rule for matrix calculus is the gradient dimension must match the input dimensions.
Hence all gradients with respect to $\boldsymbol{\rho}$ are vectors.

Now, if $\boldsymbol{y}$ is a vector matrix, namely the input is a vector and the output is a vector its "Gradient" is actually the Jacobian where each row is the gradient of the specific multi variate function.

I guess this is what you meant in the matrix in (4).

The minimization happens where each gradient is zero.

A great resource for Matrix Calculus is given by: MIT - 18.S096 - Matrix Calculus for Machine Learning and Beyond.

$\endgroup$
2
  • $\begingroup$ Thanks for the pointers @Royi, I'll go and read up a bit on multivariate functions and matrix calculus. Indeed (4) is the part I've been struggling to get my head round: I've been thinking of it as a vector of ordered sets but maybe that makes it a matrix... $\endgroup$
    – Martin CR
    Commented Jul 6 at 9:53
  • 1
    $\begingroup$ @MartinCR, I added a great resource which will assist you learning about matrix calculus. $\endgroup$
    – Royi
    Commented Jul 6 at 12:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.