## 4 Modified Functional Observer with Unknown Input
### Problem Statement  
Consider a linear proper system given as  
\[\dot{x}_{c}(t) =Ax_{c}(t)+Bu_{f}(t), \tag{10a}\] \[y_{c}(t) =Cx_{c}(t)+Du_{f}(t), \tag{10b}\]where \(A\in\Re^{n\times n}\), \(B\in\Re^{n\times m}\), \(C\in\Re^{p\times n}\), and \(D\in\Re^{p\times m}\) are known matrices, and the vector \(u_{f}(t)=u_{c}(t)+d_{e}(t)\in\Re^{m}\) is the unknown input vector, which affects both the state and the output of the system. It is assumed that \(\text{rank}(C)=p\) and \(p\geq m\). The objective of the reduced-order linear functional observer is to estimate a linear combination of the state or the unknown input vector. We define the augmented state vector \(\omega(t)=\left[ \begin{array}{cc}x_{e}^{T}(t)&u_{f}^{T}(t)\end{array} \right] ^{T}\in\Re^{(n+m)}\) such that Equations (10a) and (10b) can be expressed as  
\[\overline{E}_{\omega}\dot{\omega}(t)=\overline{A}_{\omega}\omega(t), \tag{11a}\] \[y_{c}(t)=\overline{C}_{\omega}\omega(t), \tag{11b}\]  
where \(\overline{E}_{\omega}=\left[ \begin{array}{cc}I_{n\times n}&0_{n\times m}\\ 0_{m\times m}&0_{m\times m}\end{array} \right]\in\Re^{(n+m)\times(n+m)}\), \(\overline{A}_{\omega}=\left[ \begin{array}{cc}A&B\\ 0_{m\times n}&0_{m\times m}\end{array} \right]\in\Re^{(n+m)\times(n+m)}\), and \(\overline{C}_{\omega}=\left[ \begin{array}{cc}C&D\end{array} \right]\in\Re^{ p\times(n+m)}\). We define the functional state vector \(z(t)\in\Re^{k}\) that must be reconstructed (or estimated) as  
\[z(t)=F\omega(t)=\left[ \begin{array}{cc}F_{1}&0\\ 0&F_{2}\end{array} \right]\left[ \begin{array}{c}x_{e}(t)\\ u_{f}(t)\end{array} \right], \tag{12}\]  
where \(F_{1}\in\Re^{(x-m)\times n}\), \(F_{2}\in\Re^{n\times m}\), and \(F\in\Re^{\times(n+m)}\) are given constant matrices that satisfy \(\text{rank}(F)=\kappa\) and \(\text{rank}\left[ \begin{array}{c}\overline{C}_{\omega}\\ F\end{array} \right]=(p+\kappa)\leq(n+m)\). A reduced-order observer will be now proposed to estimate \(z(t)\). Consider the observer structure of order \(\kappa\)  
\[\dot{w}(t) =Nw(t)+Jy_{c}(t), \tag{13a}\] \[\dot{z}(t) =w(t)+Qy_{c}(t), \tag{13b}\]  
for Equations (10a) and (10b), where \(w(t)\in\Re^{\kappa}\), \(\dot{z}(t)\) is the estimate of \(z(t)\), and matrices \(N,\ J\) and \(Q\) should be determined, such that \(\dot{z}(t)\) converges asymptotically to \(z(t)\), i.e., \(\dot{z}(t)\to z(t)\), as \(t\to\infty\). With the linear functional state vector defined in Equation (12), the proposed observer in Equations (14a) and (14b) offers great flexibility in estimating any linear combination of the state and the unknown input of the system in Equations (10a) and (10b). For instance, a linear combination of only the unknown input \(u_{f}(t)\) or only the states to be estimated can be used, by setting \(F_{1}=0_{(x-m)\times n}\) or \(F_{2}=0_{m}\), respectively. In other words, it can be assumed that \(F=\left[ \begin{array}{cc}F_{1}&0\\ 0&I_{m}\end{array} \right]\), where \(rank(F_{1})=\kappa-m\) is used to fulfill the rank restriction of \(F\). Thus, a linear combination of the estimated state \(\hat{x}_{e}(t)\) and the estimated unknown input \(\hat{u}_{f}(t)\) can be obtained simultaneously. Consequently  
\[\dot{z}(t)=F\dot{\omega}(t)=\left[ \begin{array}{cc}F_{1}\hat{x}_{e}(t)\\ \hat{u}_{f}(t)\end{array} \right] \tag{14}\]  
and  
\[\hat{u}_{f}(t)=\hat{a}_{c}(t)+\hat{d}_{e}(t)=\left[ \begin{array}{cc}0_{m \times(\kappa-m)}&I_{m}\end{array} \right]\dot{z}(t), \tag{15}\]  
which implies \(\hat{d}_{e}(t)=\left[ \begin{array}{cc}0_{m\times(\kappa-m)}&I_{m}\end{array}  \right]\dot{z}(t)-\hat{u}_{c}(t)=\left[ \begin{array}{cc}0_{m\times(\kappa-m) }&I_{m}\end{array} \right]\dot{z}(t)-u_{c}(t)\). It is worthwhile to notice that \(u_{f}(t)=u_{c}(t)+d_{e}(t)=-K_{c}\hat{x}_{e}(t)+E_{c}t(t)\), where \(K_{c}\) and \(E_{c}\) are determined based on [18] and the system is fictitiously considered to be disturbance-free, since the net EID \(d_{e}(t)\) of the unknown input and output disturbances as well as the tracking errors have been theoretically merged to the control input terminal.