I am trying to find a discrete adaptive law and prove stability in an analogous way to a well-known case in continuous time. Let me give a rough explanation of the background.
In continuous time, let us consider a LTI system: $$ \frac{\mathrm{d}x}{\mathrm{d}t} = Ax + Bu(t)\label{1}\tag{1} $$ where $x$ is a $n \times 1$ vector; $A$ is $n \times n$ matrix, whose elements are unknown; $B$ is a known $n \times m$ matrix; $u$ (control input) is a $m \times 1$ vector. If all states are accessible, and if a so-called matching condition exists, it is possible to design the control input $u$ such as to force system \eqref{1} to behave like a desired reference model. Let this reference model be written as : $$ \frac{\mathrm{d}x_m}{\mathrm{d}t} = A_mx_m + Br(t)\label{2}\tag{2} $$ where dimensions of $x_m, A_m, r$ are similarly defined. To force system \eqref{1} to behave like system \eqref{2}, we select $u$ as follows: $$ u(t) = \Theta^*x(t) + r(t)\label{3}\tag{3} $$ where $\Theta^*$ is m x n matrix. It is easy to check that substituting \eqref{3} into \eqref{1} gives exactly \eqref{2} if $A_m = A + B\Theta^*$ (this is the so-called matching condition). Since we don't know the entries of $A$ (that is the whole point of adaptive control), we do not know $\Theta^*$ exactly a priori. We only know it exists. It will be the job of the adaptive controller to compute this using an adaptive law. So it is more appropriate to re-write \eqref{3} as: $$ u(t) = \big(\Theta^* + \Theta(t)\big)x(t) + r(t)\label{4}\tag{4} $$ Where $\Theta$ is $m \times n$ matrix representing the error in estimating $\Theta^*$, which adaptive controller should eventually force to 0. A suitable adaptive law is: $$ \frac{\mathrm{d}\Theta(t)}{\mathrm{d}t} = -B^T\!Pe(t)x(t)^T \label{5}\tag{5} $$ Where $e(t) = x(t) - x_m(t) $ is $n \times 1$ error vector; $P$ is a $n \times n$ symmetric positive definite matrix (sometimes also called Lyapunov matrix). The adaptive law \eqref{5} can be shown to be valid by checking the stability of the whole system. A lyapunov candidate is selected: $$ V = e^T\!Pe + \mathrm{Trace}(\Theta^T\Theta)\label{6}\tag{6} $$ It can be shown (I will not write the proof here for the sake of brevity) that $\mathrm{d}V/\mathrm{d}t < 0$ and with Barbalat's lemma, conclude that the system consisting of \eqref{1}, \eqref{2}, \eqref{5}, and $e$ is asymptotically stable.
I am attempting a similar derivation in discrete time. Re-write the LTI system \eqref{1} as: $$ x(k+1) = Ax(k) + Bu(k)\label{7}\tag{7} $$ Let the reference model be: $$ x_m(k+1) = A_mx_m(k) + B_mr(k)\label{8}\tag{8} $$ Where $A, B, A_m, B_m$ are discretized matrices with same dimensions as before. Let the input be chosen as: $$ u(k) = (\Theta^* + \Theta(k))x(k) + r(k)\label{9}\tag{9} $$ The error vector is: $$ e(k) = x(k) - x_m(k)\label{10}\tag{10} $$ $$ \implies e(k+1) = x(k+1) - x_m(k+1) = A_me(k) + B\Theta(k)x(k)\label{11}\tag{11} $$ Before I pick the adaptive law, I want to point out something on the Lyapunov candidate function. I picked a function: $$ V(k) = e^T(k)Pe(k) + \mathrm{Trace}\big(\Theta(k)^T\Theta(k)\big)\label{12}\tag{12} $$ $$ \implies V(k+1) = e^T(k+1)Pe(k+1) + \mathrm{Trace}\big(\Theta(k+1)^T\Theta(k+1)\big)\label{13}\tag{13} $$ The discrete 'derivative' of $V$ is: $$ \begin{split} \Delta V &= V(k+1)-V(k) \\ & = e^T(k+1)Pe(k+1) + \mathrm{Trace}\big(\Theta(k+1)^T\Theta(k+1)\big) \\ &\qquad - e^T(k)Pe(k) - \mathrm{Trace}\big(\Theta(k)^T\Theta(k)\big) \end{split}\label{14}\tag{14} $$ A few manipulations will lead to: $$ \begin{split} \Delta V & = e^T(k)(A_m^TPA_m - P)e(k) + 2e^T(k)A_m^TPB\Theta(k)x(k) \\ & \;\;+ x(k)^T\Theta^T(k)B^TPB\Theta(k)x(k) + \mathrm{Trace}(\Theta(k+1)^T\Theta(k+1) - \Theta(k)^T\Theta(k)) \end{split}\label{15}\tag{15} $$ The goal is to show that $\Delta V < 0$. The first term in \eqref{15} is equivalent to $-e^T(k)Qe(k) < 0$ where $Q$ is Positive Definite. So the 1st term is good. So I must pick an adaptive law such that the rest of the terms also add up to $< 0$. Several tries later, the closest I was able to get to cancel those terms is with the adaptive law: $$ \Theta(k+1) = \Theta(k) - B^TPA_me(k)x(k)^T\label{16}\tag{16} $$ Substituting into \eqref{15}, and after a few manipulations, we get (I'll drop the $k$ since it adds no new information): $$ \Delta V = -e^TQe + x^T\Theta^TB^TPB\Theta x + x^Txe^TA_m^TPBB^TPA_me\label{17}\tag{17} $$ Alas, the gods of Lyapunov functions have not been kind to me because I am unable to eliminate the 2nd and 3rd terms in \eqref{17} above. For now I have run out of adaptive law candidates. Or maybe I picked a bad Lyapunov function? Does anyone have experience with discrete time state feedback adaptive control? Any pointers to picking the adaptive law and/or Lyapunov function? I've looked at Gang Tao's Adaptive Control Design and Analysis book. Chapter 4 deals with continuous time adaptive state feedback, but it falls short of the discrete analysis, instead going for discrete output feedback.
Thanks, Ed.