# An Observer-Based Current Sensor-Less Control Scheme for Grid-Following Converters
## 4 Proposed Observer and Control Structure
### Estimation of the Grid-Side Currents Using Luenberger Observer  
In this subsection, the presented Luneburg observer is applied on a GFL inverter to estimate the grid-side currents. As mentioned before, this observer is appliable on linear system, and the linearized equations of the system are required for the design procedure. In this regard, considering the nonlinear dynamics of the DC-link control, the models of either (8) or (13) can be used in the observer-design procedure. In the grid current estimation, there are two alternatives of:  
1. Using the system model in (9) for the observer design, which includes the simplified linear DC-link model of (8);
2. Using the system model in (15) for the observer design, which includes the linearized operating point-dependent DC-link model of (13). As a rule of thumb, it is clear that using (9) leads to a simple design process; however, the approximation of (9) may lead to an undesirable response. On other side, (15) is an operating point-dependent model, and consequently, an adaptive observer, such as a gain-scheduling observer, should be designed. To make a compromise, the observer is designed for the middle operating point of \(P_{mid}=\left(P_{dc}=P_{nom}/2,Q^{ref}=0\right)\) in this paper, which still can be used for all of the operating points. Therefore, it imposes less approximation compared to (9) on average. Based on the [PERSON] observer design scheme, the state-space equation of the observer consists of (1) state-space equation of the main system and (2) a compensating term. Considering the GFL-inverter linearized model of (15) in the middle operating point \(P_{mid}\), the observer state-space equations can be written as (24):  
\[\widehat{\frac{dX(t)}{dt}}=A_{2}|_{p_{mid}}\widehat{X(t)}+B_{u2}|_{p_{mid}} \begin{bmatrix}v_{td}\\ v_{tq}\end{bmatrix} +B_{d}|_{p_{mid}} \begin{bmatrix}v_{gd}\\ v_{gq}\\ p_{dc}\end{bmatrix} +L_{3X1}\left(CX(t)-\widehat{X(t)}\right) \tag{24}\]  
In this equation, the last term is the compensating term; other terms are a model of the system at \(P_{mid}\), the matrix \(L=\left[L_{1}\ L_{2}\ L_{3}\right]^{T}\) is the observer matrix with three elements, \(X(t)=\left[\hat{l}_{d}\ i_{q}\ W_{c}\right]\) is the estate vector, and \(\widehat{X(t)}=\left[\hat{\hat{l}_{d}},\ \hat{\hat{l}_{q}},\ \widehat{W_{C}}\right]\) is the estimated state vector. In \(\widehat{X(t)}\), \(\hat{\hat{l}_{d}}\) and \(\hat{\hat{l}_{q}}\), are, respectively, the estimated values of the grid current in \(d\) and \(q\) axes, and \(\widehat{W_{c}}\) is the estimated value of the DC-link energy. As the DC-link energy is directly measured, its estimation is not used in the control structure. Inputs of the observer are \(W_{c}\), \(v_{gd}\), \(v_{gq}\), \(P_{dc}\) (if available), and the control variables of \(v_{d}\) and \(v_{q}\). Based on the Luenberger observer design scheme, the observer matrix \(L\) must be determined in such a way that all of the eigenvalues of the matrix \(\left(A_{2}|_{p_{mid}}-LC\right)\) become stable. It is worth noting that the first proposed observer in (24) is a third-order system. Considering the order of the system, which is three, and the measured value of \(W_{c}\), it is possible to estimate the \(i_{d}\) and \(i_{q}\) by a second-order observer (reduced order observer). This may lead to a lower computational burden in the control loop. However, to include the nonlinear DC-link model in the observer implementation, it is necessary to use the third-order observer, which considerably increases the performance. Moreover, although matrix \(L\) and the compensating term of the observer are designed based on a linearized model of (24), the exact nonlinear model of the system can be used in the final form of the observer.