# On FPGA Implementation of a Continuous-Discrete Time Observer for Sensorless Induction Machine using Simulink HDL Coder

Moez Besbes, Salim Hadj, Faouzi M'sahli, Monther Farza

<figure><img src="image_1.png" /></figure>

To cite this version:

Moez Besbes, Salim Hadj, Faouzi M'sahli, Monther Farza. On FPGA Implementation of a Continuous-Discrete Time Observer for Sensorless Induction Machine using Simulink HDL Coder. International journal of advanced computer science and applications (IJACSA), 2017, 8 (6), pp.412-417. 10.14569/IJACSA.2017.080655. hal-01865511

HAL Id: hal-01865511

https://hal.science/hal-01865511

Submitted on 28 May 2024

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_2.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# On FPGA Implementation of a Continuous-Discrete Time Observer for Sensorless Induction Machine using Simulink HDL Coder

Moez Besbes, Salim Hadj, Faouzi M'sahli, Monther Farza

► To cite this version:

Moez Besbes, Salim Hadj, Faouzi M'sahli, Monther Farza. On FPGA Implementation of a Continuous-Discrete Time Observer for Sensorless Induction Machine using Simulink HDL Coder. International journal of advanced computer science and applications (IJACSA), 2017, 8 (6), pp.412-417. 10.14569/IJACSA.2017.080655. hal-01865511

HAL Id: hal-01865511

https://hal.science/hal-01865511v1

Submitted on 28 May 2024

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# On FPGA Implementation of a Continuous-Discrete Time Observer for Sensorless Induction Machine using Simulink HDL Coder

**Moez Besbes**

Department of Electrical Engineering
ENIM, Road Ibn Eljazzar
5019 Monastir, Tunisia

**Salim Hadj Sad**

Department of Electrical Engineering
ENIM, Road Ibn Eljazzar
5019 Monastir, Tunisia

**Faouzi M'Sahli**

Department of Electrical Engineering
ENIM, Road Ibn Eljazzar
5019 Monastir, Tunisia

**Monther Farza**

Caen University
6 Bd Marechal Juin, 14050 Caen, France

**Abstract**—This paper deals with the design of a continuous-discrete time high gain observer (CDHGO) for sensorless control of an induction machine (IM). Only two weakly sampled stator current measurements are used to achieve a real-time estimation of the rotor flux, the mechanical speed and the load torque. The feasibility of implementing our algorithm on the FPGA target is discussed in term of the best word format choice for internal variables and in term of making up for problems attached with complex bloc diagram VHDL conversion. Before an eventual implementation on the Virtex FPGA board, a validation of the proposed observer is performed through the ModelSim software where we show that the waveforms of estimates bring closer the true ones.

**Keywords**—Hig gain observer; FPGA; HDL coder

## I. INTRODUCTION

Due to their reliability, their low cost and their simple maintenance, induction motors (IM) remain the most used electric actuators in many industrial application (Hoisting cranes, roller conveyors, elevators, pumping...). In high performance IM drive systems, resolvers or encoders are usually required to determine the rotor position. Nonetheless, these sensors present several hindrances such as signal conditioning requirement, presence of noise measurement, increase of the installation cost and reduction of the total system robustness. To cope with such problem, many research efforts have been made in the last two decades to substitute the speed sensors by computational solutions. Therefore, the so called "speed sensorless control" is becoming standard solution in the area of induction machine drives despite of the persistent problems associated with it [1].

From only stator voltage and current measurements, different theoretical approaches of the nonlinear observers are exploited and experimentally carried out for providing an estimation of the mechanical speed, the rotor flux and the load torque. The extended Kalman filter (EKF) is one of the most famous algorithms used in speed sensorless IM drives and the lack of its theoretical justification is recently resolved under some assumptions in [2]. After providing a convergence

analysis in the mean square sense, the authors have validated experimentally the implementation of the EKF algorithm in the stochastic environment. The technique of sliding mode observer (SMO) is used in [3] for jointly recovering the rotor flux, the mechanical speed and the load torque. It is shown that the flux and speed estimations are sensible to the stator resistance. The model reference adaptive system (MRAS) scheme based sensorless indirect stator flux oriented controlled IM drive is more recently proposed in [4]. The experimental results confirm that the estimated rotor speed converges to the real value despite of the large variations of the inertia moment. In [5], an adaptive backstepping observer (BO) for speed and rotor flux Backstepping control of IM drives is experimentally tested using the DSpace DS1104 board. The adaptation mechanism designed has contributed to reduce the sensitivity of the system performances against the abrupt change of the rotor constant time. The interconnected high gain observer (HGO) characterised by its simple implementation and its few number of design parameters have been applied in sensorless control IM in [6]. The applicability of the designed observer has been showed through the experimental robustness tests w.r.t the parameters variations.

In the majority cases, the implementation of the previous nonlinear observer algorithms has been eventually achieved through two digital supports: The software solution (DSP and microcontrollers) and the hardware solutions (FPGA). If the use of the DSP (software digital controllers) present the feature of design flexibility, attractive cost and ability to implement complex tasks, such selection remains limited in some industrial drive applications because of their fixed internal architecture which leads to fully serialize the treatment. On the other hand, field programmable gate arrays (FPGAs) are showed by several recent research studies as good candidates to achieve high control performances in industrial control applications [7], [8], [9]. Not only because that their specific architecture offers a significant integration density but also, due to the possibility to exploit the inherent algorithm parallelism. Such the feature can considerably reduce the execution time
# On FPGA Implementation of a Continuous-Discrete Time Observer for Sensorless Induction Machine using Simulink HDL Coder

Moez Besbes

Department of Electrical Engineering
ENIM, Road Ibn Eljazzar
5019 Monastir, Tunisia

Salim Hadj Sad

Department of Electrical Engineering
ENIM, Road Ibn Eljazzar
5019 Monastir, Tunisia

Faouzi M'Sahli

Department of Electrical Engineering
ENIM, Road Ibn Eljazzar
5019 Monastir, Tunisia

Monther Farza

Caen University
6 Bd Marechal Juin, 14050 Caen, France

**Abstract**—This paper deals with the design of a continuous-discrete time high gain observer (CDHGO) for sensorless control of an induction machine (IM). Only two weakly sampled stator current measurements are used to achieve a real-time estimation of the rotor flux, the mechanical speed and the load torque. The feasibility of implementing our algorithm on the FPGA target is discussed in term of the best word format choice for internal variables and in term of making up for problems attached with complex bloc diagram VHDL conversion. Before an eventual implementation on the Virtex FPGA board, a validation of the proposed observer is performed through the ModelSim software where we show that the waveforms of estimates bring closer the true ones.

**Keywords**—Hig gain observer; FPGA; HDL coder

## I. INTRODUCTION

Due to their reliability, their low cost and their simple maintenance, induction motors (IM) remain the most used electric actuators in many industrial application (Hoisting cranes, roller conveyors, elevators, pumping...). In high performance IM drive systems, resolvers or encoders are usually required to determine the rotor position. Nonetheless, these sensors present several hindrances such as signal conditioning requirement, presence of noise measurement, increase of the installation cost and reduction of the total system robustness. To cope with such problem, many research efforts have been made in the last two decades to substitute the speed sensors by computational solutions. Therefore, the so called “speed sensorless control” is becoming standard solution in the area of induction machine drives despite of the persistent problems associated with it [1].

From only stator voltage and current measurements, different theoretical approaches of the nonlinear observers are exploited and experimentally carried out for providing an estimation of the mechanical speed, the rotor flux and the load torque. The extended Kalman filter (EKF) is one of the most famous algorithms used in speed sensorless IM drives and the lack of its theoretical justification is recently resolved under some assumptions in [2]. After providing a convergence

analysis in the mean square sense, the authors have validated experimentally the implementation of the EKF algorithm in the stochastic environment. The technique of sliding mode observer (SMO) is used in [3] for jointly recovering the rotor flux, the mechanical speed and the load torque. It is shown that the flux and speed estimations are sensible to the stator resistance. The model reference adaptive system (MRAS) scheme based sensorless indirect stator flux oriented controlled IM drive is more recently proposed in [4]. The experimental results confirm that the estimated rotor speed converges to the real value despite of the large variations of the inertia moment. In [5], an adaptive backstepping observer (BO) for speed and rotor flux Backstepping control of IM drives is experimentally tested using the DSpace DS1104 board. The adaptation mechanism designed has contributed to reduce the sensitivity of the system performances against the abrupt change of the rotor constant time. The interconnected high gain observer (HGO) characterised by its simple implementation and its few number of design parameters have been applied in sensorless control IM in [6]. The applicability of the designed observer has been showed through the experimental robustness tests w.r.t the parameters variations.

In the majority cases, the implementation of the previous nonlinear observer algorithms has been eventually achieved through two digital supports: The software solution (DSP and microcontrollers) and the hardware solutions (FPGA). If the use of the DSP (software digital controllers) present the feature of design flexibility, attractive cost and ability to implement complex tasks, such selection remains limited in some industrial drive applications because of their fixed internal architecture which leads to fully serialize the treatment. On the other hand, field programmable gate arrays (FPGAs) are showed by several recent research studies as good candidates to achieve high control performances in industrial control applications [7], [8], [9]. Not only because that their specific architecture offers a significant integration density but also, due to the possibility to exploit the inherent algorithm parallelism. Such the feature can considerably reduce the execution time
of the algorithm computing.

Among the solutions for fast prototyping high performance control algorithms, Simulink HDL (Hardware Description Language) Coder is a suitable software to generate HDL codes (VHDL or Verilog) from fixed point Simulink models [10]. By exploiting its model blocks, users have to build the Simulink model with provided library to generate HDL codes which facilitate the implementation of complex control systems that require dedicated multipliers and computing units.

It is well-known that the digital implementation of non-linear observers when using continuous-time measurements requires a fast sampling processes and large memory which may increase the cost and reduce the reliability.

In the contrast, using a relatively slow sampling process involves a degradation in the stability and the convergence properties of the state estimation error. By considering the availability of the output measurements only at the sampling instants, there have been several theoretical continuous-discrete nonlinear observer (CDNO) design approaches investigated in the last couple decades [11], [12], [13]. However, there are almost no work for the hardware implementation of the CDNO and a correspondent detail.

This paper deals with the feasibility study of a continuous-discrete time observer implementation on the FPGA board. The objective is to provide an estimation of the induction machine states through only two sampled currents measurement. We attempt to alleviate the necessary computational time by increasing the sample time and after that cancelling the request of a very fast A\D converter and a high computation hardware. The remainder of the paper is organised as follows. In the next section, we specify the class of nonlinear systems that correspond to the CDHGO design. In the third section, we detailed the induction machine model and the appropriate change of coordinates which allows reconstruct the IM state variables. We highlight in the fourth section our methodology and the steps to implement the underlying observer. Finally, the last section is devoted to illustrate some results obtained through ModelSim software.

## II. CONTINUOUS-DISCRETE TIME OBSERVER DESIGN

We consider the nonlinear systems which are diffeomorphic to the following bloc triangular form [14].

$$ \begin{cases} \dot{z}(t) = Az(t) + \varphi(u(t), z(t)) + B\epsilon(t) \\ y(t_k) = Cz(t_k) = z^1(t_k) \end{cases} \quad (1) $$

with<fnref n="1" />:

$$ \begin{align*} z &= \begin{pmatrix} z^1 \\ \vdots \\ z^{q-1} \\ z^q \end{pmatrix}; \varphi(u, z) = \begin{pmatrix} \varphi^1(u, z^1) \\ \varphi^2(u, z^1, z^2) \\ \vdots \\ \varphi^{q-1}(u, z^1, \dots, z^{q-1}) \\ \varphi^q(u, z) \end{pmatrix} \\ A &= \begin{pmatrix} 0_p & I_p & 0_p \\ \vdots & \ddots & \vdots \\ \vdots & \ddots & I_p \\ 0_p & 0_p & \dots \\ 0_p & 0_p & \dots \\ 0_p & 0_p & \dots \end{pmatrix}, B = \begin{pmatrix} 0_p \\ \vdots \\ 0_p \\ I_p \end{pmatrix} \\ C &= \begin{pmatrix} I_p & 0_p & 0_p \end{pmatrix} \end{align*} $$

Where, $z \in \mathbb{R}^n$ is the whole state vector and $z^i \in \mathbb{R}^p$ for $i \in [1, q]$. $u(t) \in U$ a compact subset of $\mathbb{R}^m$ and $y \in \mathbb{R}^p$ denote respectively the input and output of the system. Output measurements are supposed available only at the sampling time with respect the following condition:

$0 \le t_0 < \dots < t_k < t_{k+1} < \dots$, for time-varying intervals $\tau_k = t_{k+1} - t_k$ and $\lim_{k \to \infty} t_k = +\infty$.

The function $\varphi(\cdot)$ have a triangular structure and each $\varphi^i(\cdot)$ for $i \in [1, q]$ is globally Lipschitz with respect to $z$ uniformly in $u$. The $\epsilon(t)$ signal is considered as an unknown function denoting the system uncertainties.

Before giving the equations of the continuous-discrete time HGO, we need to satisfy the following assumptions:

A1. The state $z(t)$ is bounded, i.e. there exists a compact set $\Omega \in \mathbb{R}^n$ such that $\forall t \ge 0$, $z(t) \in \Omega$.

A2. The functions $\varphi^i(\cdot)$ for $i = 1, \dots, q$ are Lipschitz with respect to $z$ uniformly in $u$, i.e. $\forall \rho > 0; ?\exists L > 0; ?\forall u$ such that $\|u\| \le \rho$. $\forall (z, \bar{z}) \in \Omega \times \Omega : \|\varphi^i(u, z) - \varphi^i(u, \bar{z})\| \le \|z - \bar{z}\|$.

A3. The unknown function $\epsilon(t)$ is essentially bounded, i.e. $\|\epsilon(t)\| \le \delta$. The continuous-discrete observer that only uses the sampled time measurements is given by:

$$ \dot{z}(t) = A\hat{z}(t) + \varphi(u(t), \hat{z}(t)) + T_c(t) \quad (2) $$

with:

$T_c(t) = -\theta \Delta_{\theta}^{-1} e^{-\theta K^1(t-t_k)} S^{-1} C^T (C\hat{z}(t_k) - y(t_k))$ 
$\Delta_{\theta} = \text{diag}(I_p, \frac{1}{\theta} I_p, \dots, \frac{1}{\theta^{q-1}} I_p)$ 
$\theta$ is the sole synthesis parameter of the proposed observer. S is the explicit matrix solution of the algebraic Lyapunov equation: $S + A^T S + SA + C^T C = 0$. $K^1$ is the first element of the matrix K, where $K \in \mathbb{R}^{pq \times p}$ is the rectangular matrix gain which is chosen such that $A - KC$ is Hurwitz. $K = [K^1, \dots, K^q]^T = S^{-1}C^T = [C_1^q I_{n_1} \dots C_q^q I_{n_q}]^T$, $K^i = k_i \cdot I_p$ for $i = 1, \dots, q$ and $C_j^i = \frac{1}{i!(j-i)!}$ for $1 \le i, j \le q$.

**Theorem** [14], [15] Consider the system (1) subject to assumptions A1, A2 and A3. Then, for every $u \in U$, for every $\theta > \theta_0$, there exists $\chi_{\theta} > 0$, $N_{\theta}(\tau_m, \tau_M) > 0$ such that if the

<footnote n="1">¹in order to alleviate the written we omitted, at the next, the variable t</footnote>
of the algorithm computing.

Among the solutions for fast prototyping high performance control algorithms, Simulink HDL (Hardware Description Language) Coder is a suitable software to generate HDL codes (VHDL or Verilog) from fixed point Simulink models [10]. By exploiting its model blocks, users have to build the Simulink model with provided library to generate HDL codes which facilitate the implementation of complex control systems that require dedicated multipliers and computing units.

It is well-known that the digital implementation of non-linear observers when using continuous-time measurements requires a fast sampling processes and large memory which may increase the cost and reduce the reliability.

In the contrast, using a relatively slow sampling process involves a degradation in the stability and the convergence properties of the state estimation error. By considering the availability of the output measurements only at the sampling instants, there have been several theoretical continuous-discrete nonlinear observer (CDNO) design approaches investigated in the last couple decades [11], [12], [13]. However, there are almost no work for the hardware implementation of the CDNO and a correspondent detail.

This paper deals with the feasibility study of a continuous-discrete time observer implementation on the FPGA board. The objective is to provide an estimation of the induction machine states through only two sampled currents measurement. We attempt to alleviate the necessary computational time by increasing the sample time and after that cancelling the request of a very fast A\D converter and a high computation hardware. The remainder of the paper is organised as follows. In the next section, we specify the class of nonlinear systems that correspond to the CDHGO design. In the third section, we detailed the induction machine model and the appropriate change of coordinates which allows reconstruct the IM state variables. We highlight in the fourth section our methodology and the steps to implement the underlying observer. Finally, the last section is devoted to illustrate some results obtained through ModelSim software.

## II. CONTINUOUS-DISCRETE TIME OBSERVER DESIGN

We consider the nonlinear systems which are diffeomorphic to the following bloc triangular form [14].

$$ \begin{cases} \dot{z}(t) = Az(t) + \varphi(u(t), z(t)) + B\epsilon(t) \\ y(t_k) = Cz(t_k) = z^1(t_k) \end{cases} \quad (1) $$

with<fnref n="1" />:

$$ \begin{align*} z &= \begin{pmatrix} z^1 \\ \vdots \\ z^{q-1} \\ z^q \end{pmatrix}; \varphi(u, z) = \begin{pmatrix} \varphi^1(u, z^1) \\ \varphi^2(u, z^1, z^2) \\ \vdots \\ \varphi^{q-1}(u, z^1, \dots, z^{q-1}) \\ \varphi^q(u, z) \end{pmatrix} \\ A &= \begin{pmatrix} 0_p & I_p & 0_p \\ \vdots & \ddots & \vdots \\ \vdots & \ddots & I_p \\ 0_p & 0_p & 0_p \end{pmatrix}, B = \begin{pmatrix} 0_p \\ \vdots \\ 0_p \\ I_p \end{pmatrix} \\ C &= \begin{pmatrix} I_p & 0_p & 0_p \end{pmatrix} \end{align*} $$

Where, $z \in \mathbb{R}^n$ is the whole state vector and $z^i \in \mathbb{R}^p$ for $i \in [1, q]$. $u(t) \in U$ a compact subset of $\mathbb{R}^m$ and $y \in \mathbb{R}^p$ denote respectively the input and output of the system. Output measurements are supposed available only at the sampling time with respect the following condition:

$0 \le t_0 < \dots < t_k < t_{k+1} < \dots$, for time-varying intervals $\tau_k = t_{k+1} - t_k$ and $\lim_{k \to \infty} t_k = +\infty$.

The function $\varphi(\cdot)$ have a triangular structure and each $\varphi^i(\cdot)$ for $i \in [1, q]$ is globally Lipschitz with respect to $z$ uniformly in $u$. The $\epsilon(t)$ signal is considered as an unknown function denoting the system uncertainties.

Before giving the equations of the continuous-discrete time HGO, we need to satisfy the following assumptions:

A1. The state $z(t)$ is bounded, i.e. there exists a compact set $\Omega \in \mathbb{R}^n$ such that $\forall t \ge 0$, $z(t) \in \Omega$.

A2. The functions $\varphi^i(\cdot)$ for $i = 1, \dots, q$ are Lipschitz with respect to $z$ uniformly in $u$, i.e. $\forall \rho > 0; ?\exists L > 0; ?\forall u$ such that $\|u\| \le ?\rho$. $\forall (z, ?z) \in ?\Omega \times \Omega : \|\varphi^i(u, z) - \varphi^i(u, ?z)\| \le ?\|z - ?z\|$.

A3. The unknown function $\epsilon(t)$ is essentially bounded, i.e. $\|\epsilon(t)\| \le ?\delta$. The continuous-discrete observer that only uses the sampled time measurements is given by:

$$ \dot{z}(t) = A\hat{z}(t) + \varphi(u(t), \hat{z}(t)) + T_c(t) \quad (2) $$

with:

$T_c(t) = -\theta \Delta_{\theta}^{-1} e^{-\theta K^1(t-t_k)} S^{-1} C^T (C\hat{z}(t_k) - y(t_k))$ 
$\Delta_{\theta} = \text{diag}(I_p, \frac{1}{\theta} I_p, \dots, \frac{1}{\theta^{q-1}} I_p)$ 
$\theta$ is the sole synthesis parameter of the proposed observer. S is the explicit matrix solution of the algebraic Lyapunov equation: $S + A^T S + SA + C^T C = 0$. $K^1$ is the first element of the matrix K, where $K \in \mathbb{R}^{pq \times p}$ is the rectangular matrix gain which is chosen such that $A - KC$ is Hurwitz. $K = [K^1, \dots, K^q]^T = S^{-1}C^T = [C_1^q I_{n_1} \dots C_q^q I_{n_q}]^T$, $K^i = k_i \cdot I_p$ for $i = 1, \dots, q$ and $C_j^i = \frac{1}{i!(j-i)!}$ for $1 \le i, j \le q$.

**Theorem** [14], [15] Consider the system (1) subject to assumptions A1, A2 and A3. Then, for every $u \in U$, for every $\theta > \theta_0$, there exists $\chi_{\theta} > 0$, $N_{\theta}(\tau_m, \tau_M) > 0$ such that if the

<footnote n="1">¹in order to alleviate the written we omitted, at the next, the variable t</footnote>
upper bound of the sampling partition diameter $\tau_M$ is chosen with $\tau_M < \chi_\theta$, then for every $\hat{x}(0) \in \mathbb{R}^n$, we have:

$$ \| e(t) \| \le \lambda \theta^{q-1} e^{\eta \theta t} \| e(0) \| + N_\theta(\tau_m, \tau_M) \delta $$

with $0 < \tau_m < \tau_k = t_{k+1} - t_k < \tau_M$ and $e(t) = \hat{z} - z$. More detailed proof for estimation error convergence is illustrated in [14].

### III. OBSERVER SYNTHESIS OF THE IM MODEL

The induction machine model can be represented in the fixed reference frame attached to the stator by the following expression:

$$ \left\{ \begin{aligned} \dot{I} &= K F(\omega) \Psi - \gamma I + \frac{1}{\sigma L_s} u \\ \dot{\Psi} &= -F(\omega) \Psi + \frac{M}{T_r} I \\ \dot{\omega} &= \frac{pM}{J L_r} I^T J_2 \Psi - \frac{1}{J} T_L \\ \dot{T}_L &= \varepsilon_{T_L} \\ y(t_k) &= I(t_k) \end{aligned} \right. \quad (3) $$

with

$$ T_r = \frac{R_r}{L_r}, \quad \sigma = 1 - \frac{M^2}{L_r L_s}, \quad K = \frac{M}{\sigma L_r L_s}, \quad \text{and} \quad \gamma = \frac{R_s}{\sigma L_s} + \frac{R_r M^2}{\sigma L_s L_r^2}. $$

$F(\omega) = \frac{1}{T_r} I_2 - p\omega J_2$, with $I_2$ is the 2-dimensional identity matrix and $J_2 = \begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix}$, $u = [u_{\alpha_s}, u_{\beta_s}]^T$, $I = [I_{\alpha_s}, I_{\beta_s}]^T$,

$$ \Psi = [\Psi_{\alpha_r}, \Psi_{\beta_r}]^T $$

where

* $u_{\alpha_s}, u_{\beta_s}, I_{\alpha_s}, I_{\beta_s}, \Psi_{\alpha_r}$ and $\Psi_{\beta_r}$ are respectively, the stator voltages, the stator currents and the rotor fluxes,

* $R_s, R_r$ are stator (resp. rotor) per-phase resistances,

* $L_s, L_r$ are stator (resp. rotor) per-phase inductances and $M$ is the mutual inductance,

* $\omega, T_L, J$ and $p$ denote respectively the mechanical speed, the load torque, the motor moment of inertia and the number of pairs of poles,

* $\varepsilon_{T_L}$ is an unknown real value.

The main goal consists in achieving the estimation of the state variables of the IM such as angular speed, rotor flux and the load torque. Only both sampled stator currents and the voltage supplies are used in the continuous-discrete HGO for reconstructing the state of the system. In such design, we assume that the stage operation of the IM is so far to unobservability neighbourhood (for more detail see observability analysis in [17]). We introduce the following

$$ \text{notations: } x = \begin{pmatrix} x^1 \\ x^2 \\ x^3 \end{pmatrix} \quad \text{with } x^1 = \begin{pmatrix} x_1^1 \\ x_2^1 \end{pmatrix}, x^2 = \begin{pmatrix} x_1^2 \\ x_2^2 \end{pmatrix}, \\ x^3 = \begin{pmatrix} x_1^3 \\ x_2^3 \end{pmatrix}, $$

where:

$$ \begin{gathered} x_1^1 = I_{\alpha_s}, x_2^1 = I_{\beta_s}, x_1^2 = \Psi_{\alpha_r}, x_2^2 = \Psi_{\beta_r}, x_1^3 = \omega \text{ and} \\ x_2^3 = T_L. \end{gathered} $$

So, the IM model can be written under the following standard form:

$$ \left\{ \begin{aligned} \dot{x}(t) &= f(x(t), u(t)) + B_1 \bar{\epsilon}(t) \\ y(t_k) &= C x(t_k) = x^1(t_k) \end{aligned} \right. \quad (4) $$

with $f(\cdot)$ can be easily deduced from (3), $B_1^T = [0_{1 \times 5} \ 1]$ and $\bar{\epsilon}(t) = \epsilon_{T_L}$.

Now, in order to transform system (3) into the considered class (1), we propose the following Lipschitzian diffeomorphism:

$$ \Phi : \mathbb{R}^6 \to \mathbb{R}^6, x \mapsto z = \begin{pmatrix} z^1 \\ z^2 \\ z^3 \end{pmatrix} = \Phi(x) = \begin{pmatrix} \Phi^1(x) \\ \Phi^2(x) \\ \Phi^3(x) \end{pmatrix} \quad (5) $$

where $\Phi^k$ for $k = 1, 2, 3$ are defined as follows:

$$ \left\{ \begin{aligned} z^1 &= \Phi^1(x) = I \\ z^2 &= \Phi^2(x) = K F(w) \psi \\ z^3 &= \Phi^3(x) = -p K J_2 (\dot{w} \psi + w \dot{\psi}) \end{aligned} \right. \quad (6) $$

The time derivative of the above states allows us to have:

$$ \left\{ \begin{aligned} \dot{z}^1 &= z^2 + \varphi^1(u, z^1) \\ \dot{z}^2 &= z^3 + \varphi^2(z^1, z^2) \\ \dot{z}^3 &= \varphi^3(z) + b(z)\epsilon(t) \\ y(t_k) &= Cz(t_k) = z^1(t_k) \end{aligned} \right. \quad (7) $$

$$ \text{with } z = \begin{pmatrix} z^1 \\ z^2 \\ z^3 \end{pmatrix}; z^k = \begin{pmatrix} z_1^k \\ z_2^k \end{pmatrix} $$

for $k = 1, \dots, 3$;

The nonlinear functions $b(\cdot)$ and $\varphi^k(\cdot) \in \mathbb{R}^2$, $k = 1, 2, 3$ are defined as follows:

$$ \left\{ \begin{aligned} \varphi^1(u, z^1) &= -\gamma z^1 + \frac{1}{\sigma L_s} u \\ \varphi^2(z^1, z^2) &= \frac{1}{T_r} \left( -z^2 + \frac{M N}{T_r} z^1 \right) \\ \varphi^3(z) &= \underset{\underset{\partial x^1}{\Delta}}{\frac{\partial \Phi^3(\cdot)}{\partial x^2(\cdot)}} \dot{x}^1 + \underset{\underset{\partial x^2}{\Delta}}{\frac{\partial \Phi^3(\cdot)}{\partial x^1(\cdot)}} \dot{x}^2 + \frac{\partial \Phi^3(\cdot)}{\partial x_1^3(\cdot)} \dot{x}_1^3 \\ b(z) &= \underset{\underset{\partial x_2^3}{\Delta}}{\frac{\partial \Phi^3(\cdot)}{\partial x_2^1(\cdot)}} \end{aligned} \right. $$

Thereafter, the IM model (3) can be written in the form (1) as follows:

$$ \dot{z} = \begin{pmatrix} 0 & I_2 & 0 \\ 0 & 0 & I_2 \\ 0 & 0 & 0 \end{pmatrix} z + \begin{pmatrix} \varphi^1(\cdot) \\ \varphi^2(\cdot) \\ \varphi^3(\cdot) \end{pmatrix} + \begin{pmatrix} 0 \\ 0 \\ b(z) \end{pmatrix} \epsilon \quad (8) $$

So, we can adapt a continuous-discrete observer in the z-coordinate as given in (2). When, using the inverse transformation $x = \phi^{-1}(z)$ and considering the new variable $r$ such
upper bound of the sampling partition diameter $\tau_M$ is chosen with $\tau_M < \chi_\theta$, then for every $\hat{x}(0) \in \mathbb{R}^n$, we have:

$$ \| e(t) \| \le \lambda \theta^{q-1} e^{\eta \theta t} \| e(0) \| + N_{\theta}(\tau_{m}, \tau_{M}) \delta $$

with $0 < \tau_m < \tau_k = t_{k+1} - t_k < \tau_M$ and $e(t) = \hat{z} - z$. More detailed proof for estimation error convergence is illustrated in [14].

### III. OBSERVER SYNTHESIS OF THE IM MODEL

The induction machine model can be represented in the fixed reference frame attached to the stator by the following expression:

$$ \left\{ \begin{aligned} \dot{I} &= K F(\omega) \Psi - \gamma I + \frac{1}{\sigma L_s} u \\ \dot{\Psi} &= -F(\omega) \Psi + \frac{M}{T_r} I \\ \dot{\omega} &= \frac{pM}{J L_r} I^T J_2 \Psi - \frac{1}{J} T_L \\ \dot{T}_L &= \varepsilon_{T_L} \\ y(t_k) &= I(t_k) \end{aligned} \right. \quad (3) $$

with

$$ T_r = \frac{R_r}{L_r}, \quad \sigma = 1 - \frac{M^2}{L_r L_s}, \quad K = \frac{M}{\sigma L_r L_s}, \quad \text{and} \quad \gamma = \frac{R_s}{\sigma L_s} + \frac{R_r M^2}{\sigma L_s L_r^2}. $$

$F(\omega) = \frac{1}{T_r} I_2 - p\omega J_2$, with $I_2$ is the 2-dimensional identity matrix and $J_2 = \begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix}$, $u = [u_{\alpha_s}, u_{\beta_s}]^T$, $I = [I_{\alpha_s}, I_{\beta_s}]^T$, $\Psi = [\Psi_{\alpha_r}, \Psi_{\beta_r}]^T$

where

* $u_{\alpha_s}, u_{\beta_s}, I_{\alpha_s}, I_{\beta_s}, \Psi_{\alpha_r}$ and $\Psi_{\beta_r}$ are respectively, the stator voltages, the stator currents and the rotor fluxes,

* $R_s, R_r$ are stator (resp. rotor) per-phase resistances,

* $L_s, L_r$ are stator (resp. rotor) per-phase inductances and $M$ is the mutual inductance,

* $\omega, T_L, J$ and $p$ denote respectively the mechanical speed, the load torque, the motor moment of inertia and the number of pairs of poles,

* $\varepsilon_{T_L}$ is an unknown real value.

The main goal consists in achieving the estimation of the state variables of the IM such as angular speed, rotor flux and the load torque. Only both sampled stator currents and the voltage supplies are used in the continuous-discrete HGO for reconstructing the state of the system. In such design, we assume that the stage operation of the IM is so far to unobservability neighbourhood (for more detail see observability analysis in [17]). We introduce the following

$$ \text{notations: } x = \begin{pmatrix} x^1 \\ x^2 \\ x^3 \end{pmatrix} \quad \text{with } x^1 = \begin{pmatrix} x_1^1 \\ x_2^1 \end{pmatrix}, x^2 = \begin{pmatrix} x_1^2 \\ x_2^2 \end{pmatrix}, \\ x^3 = \begin{pmatrix} x_1^3 \\ x_2^3 \end{pmatrix}, $$

where:

$x_1^1 = I_{\alpha_s}, x_2^1 = I_{\beta_s}, x_1^2 = \Psi_{\alpha_r}, x_2^2 = \Psi_{\beta_r}, x_1^3 = \omega$ and $x_2^3 = T_L$.

So, the IM model can be written under the following standard form:

$$ \left\{ \begin{aligned} \dot{x}(t) &= f(x(t), u(t)) + B_1 \bar{\epsilon}(t) \\ y(t_k) &= C x(t_k) = x^1(t_k) \end{aligned} \right. \quad (4) $$

with $f(\cdot)$ can be easily deduced from (3), $B_1^T = [0_{1 \times 5} \ 1]$ and $\bar{\epsilon}(t) = \epsilon_{T_L}$.

Now, in order to transform system (3) into the considered class (1), we propose the following Lipschitzian diffeomorphism:

$$ \Phi : \mathbb{R}^6 \to \mathbb{R}^6, x \mapsto z = \begin{pmatrix} z^1 \\ z^2 \\ z^3 \end{pmatrix} = \Phi(x) = \begin{pmatrix} \Phi^1(x) \\ \Phi^2(x) \\ \Phi^3(x) \end{pmatrix} \quad (5) $$

where $\Phi^k$ for $k = 1, 2, 3$ are defined as follows:

$$ \left\{ \begin{aligned} z^1 &= \Phi^1(x) = I \\ z^2 &= \Phi^2(x) = K F(w) \psi \\ z^3 &= \Phi^3(x) = -p K J_2 (\dot{w} \psi + w \dot{\psi}) \end{aligned} \right. \quad (6) $$

The time derivative of the above states allows us to have:

$$ \left\{ \begin{aligned} \dot{z}^1 &= z^2 + \varphi^1(u, z^1) \\ \dot{z}^2 &= z^3 + \varphi^2(z^1, z^2) \\ \dot{z}^3 &= \varphi^3(z) + b(z)\epsilon(t) \\ y(t_k) &= Cz(t_k) = z^1(t_k) \end{aligned} \right. \quad (7) $$

$$ \text{with } z = \begin{pmatrix} z^1 \\ z^2 \\ z^3 \end{pmatrix}; z^k = \begin{pmatrix} z_1^k \\ z_2^k \end{pmatrix} $$

for $k = 1, \dots, 3$;

The nonlinear functions $b(\cdot)$ and $\varphi^k(\cdot) \in \mathbb{R}^2$, $k = 1, 2, 3$ are defined as follows:

$$ \left\{ \begin{aligned} \varphi^1(u, z^1) &= -\gamma z^1 + \frac{1}{\sigma L_s} u \\ \varphi^2(z^1, z^2) &= \frac{1}{T_r} \left( -z^2 + \frac{M N}{T_r} z^1 \right) \\ \varphi^3(z) &= \underset{\underset{\partial x^1}{\Delta}}{\frac{\partial \Phi^3(\cdot)}{\partial x^2(\cdot)}} \dot{x}^1 + \underset{\underset{\partial x^2}{\Delta}}{\frac{\partial \Phi^3(\cdot)}{\partial x^1(\cdot)}} \dot{x}^2 + \frac{\partial \Phi^3(\cdot)}{\partial x_1^3(\cdot)} \dot{x}_1^3 \\ b(z) &= \underset{\underset{\partial x_2^3}{\Delta}}{\frac{\partial \Phi^3(\cdot)}{\partial x_2^1(\cdot)}} \end{aligned} \right. $$

Thereafter, the IM model (3) can be written in the form (1) as follows:

$$ \dot{z} = \begin{pmatrix} 0 & I_2 & 0 \\ 0 & 0 & I_2 \\ 0 & 0 & 0 \end{pmatrix} z + \begin{pmatrix} \varphi^1(\cdot) \\ \varphi^2(\cdot) \\ \varphi^3(\cdot) \end{pmatrix} + \begin{pmatrix} 0 \\ 0 \\ b(z) \end{pmatrix} \epsilon \quad (8) $$

So, we can adapt a continuous-discrete observer in the z-coordinate as given in (2). When, using the inverse transformation $x = \phi^{-1}(z)$ and considering the new variable $r$ such
as $r = F(\omega)\Psi$, the observer can be re-written in the original coordinates as the following form:

$$ 
\left\{ 
\begin{aligned}
\dot{\hat{I}} &= K\hat{r} - \gamma\hat{I} + \frac{1}{\sigma L_s}u - 3\theta_1 e^{-3\theta_1(t-t_k)}(\hat{I}_k - I_k) \\
\dot{\hat{r}} &= -pJ_2(\frac{M}{T_r}\hat{I} - \hat{r})\hat{\omega} + \frac{1}{T_r}(\frac{M}{T_r}\hat{I} - \hat{r}) \\
\dot{\hat{\omega}} &= -\frac{1}{J}\hat{T}_L - \frac{pM}{JL_r}\hat{I}^T J_2(\frac{1}{T_r}I_2 - pJ_2\hat{\omega})^{-1}\hat{r} \\
&\quad - \frac{\theta_1^3}{pK}(F(\omega))^+ e^{-3\theta_1(t-t_k)}(\hat{I}_k - I_k)
\end{aligned}
\right.
\quad (9) $$

The flux estimate can be easily reconstructed from the expression of $\hat{r}$ i.e. $\hat{\Psi} = \frac{1}{K}F(\omega)^{-1}\hat{r}$.

Now, the load torque estimation and its derivative is obtained by another HGO which is designed and placed in cascade according to (9):

$$ 
\left\{ 
\begin{aligned}
\dot{\hat{\omega}} &= -\frac{1}{J}\hat{T}_L - \frac{pM}{JL_r}\hat{I}^T J_2\Psi - \frac{1}{J}\hat{\tau}_L - 3\theta_2(\hat{\omega} - \hat{\omega}) \\
\dot{\hat{\tau}}_L &= \tau_{L_p} + 3J\theta_2^2(\hat{\omega} - \hat{\omega}) \\
\dot{\hat{\tau}}_{L_p} &= J\theta_2^3(\hat{\omega} - \hat{\omega})
\end{aligned}
\right.
\quad (10) $$

## IV. SIMULATION RESULTS

To highlight the performance of the CDHGO w.r.t to the CHGO, we compared the estimates of both algorithm with a weak sample time choice ($T_e = 5.10^{-3}s$). The estimation results of the mechanical speed and load torque are illustrated in Fig. 1 whereas reconstruction of the stator currents and the rotor flux is given in Fig. 2.

<figure><img src="image_3.png" /><figcaption>Fig. 1. The mechanical speed and the load torque estimation ($T_e = 5.10^{-3}s$).</figcaption></figure>

Note that the first curve of all figure legends represents the state variables of IM given by the underlying model. The second signals refers to continuous HGO (CHGO) algorithm where the third one results from the CDHGO routine. We recall that the sole measurements signals used in both observer algorithms (i.e. the stator currents) are only available at the sample instant. We can show that the CDHGO performs well the reconstruction of the output signal (Fig. 2 graph a and b) whereas the current estimate waveforms is not perfectly sinusoidal in the case of CHGO. Such observation is also visible for the rotor flux estimation. In Fig. 1, whether for mechanical speed or load torque, we can remark that the CHGO presents many oscillations even in the steady state

<figure><img src="image_4.png" /><figcaption>Fig. 2. The stator currents and the rotor flux estimation ($T_e = 5.10^{-3}s$).</figcaption></figure>

regime. In contrary, in spite of some overshoots showed at the transient, the application of CDHGO achieves a quite estimation of these inaccessible states.

## V. IMPLEMENTATION METHODOLOGY AND VALIDATION

The evaluation of the proposed observer in such AC drive application is achieved using an experimental setup shown in Fig. 3. It consists of an induction machine supplied by a voltage source inverter (VSI) and it is associated with a load and an incremental encoder. The system works without a speed sensor, while only the inverter input voltage and output currents are measured. The VHDL code is generated with HDL coder from Matlab-Simulink. The specification of the word format for the observer design is directly tuning with the fixed point toolbox. It is worth noticing that some inversion module of the observer algorithm are replaced by lookup table method which can alleviate the computational time [16]. The switching signals of the inverter are provided by the FPGA Virtex board. These PWM (pulse width modulation) control signals are generated by the triangular waveform modulator. Note that the frequency of triangular signal is constrained by the switching time of power switches accommodated in the three phases inverter. In our case, we have specified the PWM frequency at 2Khz.

The two sampled stator current measurements are provided by the ADC (analogue digital converter) with 12-bit resolution. In order to perform experimentally the underlying continuous-time high gain observer, the implementation has required the development of several tasks. In the first step, we used the solver with the variable-step (ode45). In this case, all blocs such as the adder, the gain, the multiplier and so on are configured in the default way. It means that we adopted the double precision format to obtain acceptable results with low
as $r = F(\omega)\Psi$, the observer can be re-written in the original coordinates as the following form:

$$ 
\begin{cases}
\dot{\hat{I}} = K\hat{r} - \gamma\hat{I} + \frac{1}{\sigma L_s}u - 3\theta_1 e^{-3\theta_1(t-t_k)}(\hat{I}_k - I_k) \\
\dot{\hat{r}} = -pJ_2(\frac{M}{T_r}\hat{I} - \hat{r})\hat{\omega} + \frac{1}{T_r}(\frac{M}{T_r}\hat{I} - \hat{r}) \\
\dot{\hat{\omega}} = -\frac{1}{J}\hat{T}_L - \frac{pM}{JL_r}\hat{I}^T J_2(\frac{1}{T_r}I_2 - pJ_2\hat{\omega})^{-1}\hat{r} \\
\qquad - \frac{\theta_1^2}{pK} (F(\omega))^+ e^{-3\theta_1(t-t_k)}(\hat{I}_k - I_k)
\end{cases}
\quad (9) $$

The flux estimate can be easily reconstructed from the expression of $\hat{r}$ i.e. $\hat{\Psi} = \frac{1}{K}F(\omega)^{-1}\hat{r}$.

Now, the load torque estimation and its derivative is obtained by another HGO which is designed and placed in cascade according to (9):

$$ 
\begin{cases}
\dot{\hat{\omega}} = -\frac{1}{J}\hat{T}_L - \frac{pM}{JL_r}\hat{I}^T J_2\Psi - \frac{1}{J}\hat{\tau}_L - 3\theta_2(\hat{\omega} - \hat{\omega}) \\
\dot{\hat{\tau}}_L = \tau_{L_p} + 3J\theta_2^2(\hat{\omega} - \hat{\omega}) \\
\dot{\hat{\tau}}_{L_p} = J\theta_2^3(\hat{\omega} - \hat{\omega})
\end{cases}
\quad (10) $$

## IV. SIMULATION RESULTS

To highlight the performance of the CDHGO w.r.t to the CHGO, we compared the estimates of both algorithm with a weak sample time choice ($T_e = 5.10^{-3}s$). The estimation results of the mechanical speed and load torque are illustrated in Fig. 1 whereas reconstruction of the stator currents and the rotor flux is given in Fig. 2.

<figure><img src="image_2.png" /><figcaption>Fig. 1. The mechanical speed and the load torque estimation ($T_e = 5.10^{-3}s$).</figcaption></figure>

Note that the first curve of all figure legends represents the state variables of IM given by the underlying model. The second signals refers to continuous HGO (CHGO) algorithm where the third one results from the CDHGO routine. We recall that the sole measurements signals used in both observer algorithms (i.e. the stator currents) are only available at the sample instant. We can show that the CDHGO performs well the reconstruction of the output signal (Fig. 2 graph a and b) whereas the current estimate waveforms is not perfectly sinusoidal in the case of CHGO. Such observation is also visible for the rotor flux estimation. In Fig. 1, whether for mechanical speed or load torque, we can remark that the CHGO presents many oscillations even in the steady state

<figure><img src="image_3.png" /><figcaption>Fig. 2. The stator currents and the rotor flux estimation ($T_e = 5.10^{-3}s$).</figcaption></figure>

regime. In contrary, in spite of some overshoots showed at the transient, the application of CDHGO achieves a quite estimation of these inaccessible states.

## V. IMPLEMENTATION METHODOLOGY AND VALIDATION

The evaluation of the proposed observer in such AC drive application is achieved using an experimental setup shown in Fig. 3. It consists of an induction machine supplied by a voltage source inverter (VSI) and it is associated with a load and an incremental encoder. The system works without a speed sensor, while only the inverter input voltage and output currents are measured. The VHDL code is generated with HDL coder from Matlab-Simulink. The specification of the word format for the observer design is directly tuning with the fixed point toolbox. It is worth noticing that some inversion module of the observer algorithm are replaced by lookup table method which can alleviate the computational time [16]. The switching signals of the inverter are provided by the FPGA Virtex board. These PWM (pulse width modulation) control signals are generated by the triangular waveform modulator. Note that the frequency of triangular signal is constrained by the switching time of power switches accommodated in the three phases inverter. In our case, we have specified the PWM frequency at 2Khz.

The two sampled stator current measurements are provided by the ADC (analogue digital converter) with 12-bit resolution. In order to perform experimentally the underlying continuous-time high gain observer, the implementation has required the development of several tasks. In the first step, we used the solver with the variable-step (ode45). In this case, all blocs such as the adder, the gain, the multiplier and so on are configured in the default way. It means that we adopted the double precision format to obtain acceptable results with low
<figure><img src="image_5.png" /><figcaption>Fig. 3. Induction machine test bench.</figcaption></figure>

ripple and best accuracy. In the second step, we switched to the discrete solver. So, a particular attention has been taking in the choice of each couple (W, F)<fnref n="2" /> for all internal variables. Then, a VHDL file is generated using the HDL Coder Toolbox. Finally, in order to validate our observer design we have exploited the ModelSim software. At this stage, we have taking into account the size of the allowed resources that is indicated by the ISE software and this though and optimisation of the couple (W, F).

The characteristics of the involved IM are given as follows:
P = 1.5kw, p = 2, Ls = .13H, M = .083H, Lr = .069H,
Rs = 3.9Ω, Rr = 3.9Ω, J = 0.22kgm<fnref n="2" />.

After several simulation, we have chosen the both HGO
design parameters as follows: θ₁ = 800 and θ₂ = 200.

The sample time $T_e$ is specified as $5 \times 10^{-3}$s. To illustrate the performance of the designed observer, a step load torque is applied at $0.25$s with the value $T_L = 10Nm$. Both CDHGO algorithm and IM discrete model (by using Euler approximation of (3)) are implemented in Virtex FPGA board and the comparison is carried out between the estimated states and the true ones. The curves obtained by ModelSim software for each estimated state are illustrated in Fig. 4. The graphs (a) (b) (c) and (d) correspond respectively to $\alpha$ component of the rotor flux, $\beta$ component of the rotor flux, mechanical speed and the load torque. In all graphs, the first curve represents the true state, where the second refers to CDHGO estimates. We can show that despite some overshoots at the transient, each component of the estimated flux track well the true one. Moreover, a good agreement can be recorded from the mechanical speed and the load torque in one side and these estimates in the other side.

VI. CONCLUSION

The FPGA implementation of a CDHGO with less knowl-
edge as possible of output measurements is studied in this pa-
per. Precisely, for an induction motor application, we have fo-
cus at the estimation of the rotor flux, the mechanical speed and
the load torque by using only the two weakly sampled stator
currents. After a comparison with the continuous version of the
HGO algorithm when the sample frequency is imperfect, the
sampled output observer design shows the best reconstruction

<figure><img src="image_6.png" /><figcaption>Fig. 4. Estimation results provided by Modelsim for rotor flux ($\phi_{\alpha}$, $\phi_{\beta}$), mechanical speed $\omega$ and the load torque $T_L$.</figcaption></figure>

of the original output signal as well as more realistic estimation
of the missing states. Driving profit from the advanced Matlab
Simulink tools such as HDL Coder and Fixed point toolbox,
the implementation of the nonlinear observer is achieved and
validation results are obtained through ModelSim soft-ware.
Now, with the success of the CDHGO implementation, it is
possible to use a lower cost digital hardware that can works
with a relatively low sample frequency.

REFERENCES

[1] J. Holtz, Sensorless control of induction machines-With or without signal injection" IEEE Trans. Ind. Electron., 53(1):7-30, 2006.

[2] F. Alonge, T. Cangemi, F. D'Ippolito, A. Fagiolini, and A. Sferlazza, Convergence Analysis of Extended Kalman Filter for Sensorless Control of Induction Motor, IEEE Trans. Ind. Electron., 62(4):2341-2352, 2015

[3] Malek Ghanes and Gang Zheng, On Sensorless Induction Motor Drives: Sliding-Mode Observer and Output Feedback Controller, injection" IEEE Trans. Ind. Electron., 56(9):3404-3412, 2009.

<footnote n="2">²W:Word length, F: Fractional part</footnote>
<figure><img src="image_4.png" /><figcaption>Fig. 3. Induction machine test bench.</figcaption></figure>

ripple and best accuracy. In the second step, we switched to the discrete solver. So, a particular attention has been taking in the choice of each couple (W, F)<fnref n="2" /> for all internal variables. Then, a VHDL file is generated using the HDL Coder Toolbox. Finally, in order to validate our observer design we have exploited the ModelSim software. At this stage, we have taking into account the size of the allowed resources that is indicated by the ISE software and this though and optimisation of the couple (W, F).

The characteristics of the involved IM are given as follows:
P = 1.5kw, p = 2, Ls = .13H, M = .083H, Lr = .069H,
Rs = 3.9Ω, Rr = 3.9Ω, J = 0.22kgm<fnref n="2" />.

After several simulation, we have chosen the both HGO
design parameters as follows: θ₁ = 800 and θ₂ = 200.

The sample time $T_e$ is specified as $5 \times 10^{-3}$s. To illustrate the performance of the designed observer, a step load torque is applied at $0.25$s with the value $T_L = 10Nm$. Both CDHGO algorithm and IM discrete model (by using Euler approximation of (3)) are implemented in Virtex FPGA board and the comparison is carried out between the estimated states and the true ones. The curves obtained by ModelSim software for each estimated state are illustrated in Fig. 4. The graphs (a) (b) (c) and (d) correspond respectively to $\alpha$ component of the rotor flux, $\beta$ component of the rotor flux, mechanical speed and the load torque. In all graphs, the first curve represents the true state, where the second refers to CDHGO estimates. We can show that despite some overshoots at the transient, each component of the estimated flux track well the true one. Moreover, a good agreement can be recorded from the mechanical speed and the load torque in one side and these estimates in the other side.

VI. CONCLUSION

The FPGA implementation of a CDHGO with less knowl-
edge as possible of output measurements is studied in this pa-
per. Precisely, for an induction motor application, we have fo-
cus at the estimation of the rotor flux, the mechanical speed and
the load torque by using only the two weakly sampled stator
currents. After a comparison with the continuous version of the
HGO algorithm when the sample frequency is imperfect, the
sampled output observer design shows the best reconstruction

<figure><img src="image_5.png" /><figcaption>Fig. 4. Estimation results provided by Modelsim for rotor flux ($\phi_{\alpha}$, $\phi_{\beta}$), mechanical speed $\omega$ and the load torque $T_L$.</figcaption></figure>

of the original output signal as well as more realistic estimation
of the missing states. Driving profit from the advanced Matlab
Simulink tools such as HDL Coder and Fixed point toolbox,
the implementation of the nonlinear observer is achieved and
validation results are obtained through ModelSim soft-ware.
Now, with the success of the CDHGO implementation, it is
possible to use a lower cost digital hardware that can works
with a relatively low sample frequency.

REFERENCES

[1] J. Holtz, Sensorless control of induction machines-With or without signal injection" IEEE Trans. Ind. Electron., 53(1):7-30, 2006.

[2] F. Alonge, T. Cangemi, F. D'Ippolito, A. Fagiolini, and A. Sferlazza, Convergence Analysis of Extended Kalman Filter for Sensorless Control of Induction Motor, IEEE Trans. Ind. Electron., 62(4):2341-2352, 2015

[3] Malek Ghanes and Gang Zheng, On Sensorless Induction Motor Drives: Sliding-Mode Observer and Output Feedback Controller, injection" IEEE Trans. Ind. Electron., 56(9):3404-3412, 2009.

<footnote n="2">²W:Word length, F: Fractional part</footnote>
[4] Youssef Agrebi Zorgani, Yassine Koubaa, Mohamed Boussak, MRAS state estimator for speed sensorless ISFOC induction motor drives with Luenberger load torque estimation, ISA Transactions,61:308-317, 2009.

[5] Trabelsi, R., A. Kheder, M. Faouzi Mimouni and F. M'sahli, An Adaptive Backstepping Observer for on-line rotor resistance adaptation. Int. J. Sciences and Techniques IJ-STA 4(1): 1246-1267, 2010.

[6] M. Ghanes, J. De Leon, A. Glumineau, Observability study and observer-based interconnected form for sensorless induction motor Proc. 45th IEEE Conf. Decision and Control, 1240-1245.

[7] E. Monmasson, L. Idkhajine, M. N. Cirstea, I. Bahri, A. Tisan, and M. W. Naouar, FPGAs in industrial control applications, IEEE Trans. Ind. Inf., 7(2): 224243, 2011.

[8] L. Idkhajine, E. Monmasson, and A.Maalouf, Fully FPGA-based sensorless control for synchronous AC drive using an extended Kalman filter, IEEE Trans. Ind. Electron., 59(10):3908-3918, 2012.

[9] J. Guzinski and H. Abu-Rub, Speed Sensorless Induction Motor Drive With Predictive Current Controller, IEEE Trans. Ind. Electron., 60(2):699-675, 2013.

[10] Z. Ma, J. Gao, and R. Kennel, FPGA Implementation of a Hybrid Sensorless Control of SMPMSM in the Whole Speed Range, IEEE Trans. Ind. Electron., 9(3):1253-1261, 2013.

[11] M. Nadri, H. Hammouri, and R. Grajales, Observer design for uniformly observable systems with sampled measurements, IEEE Trans.Auto. Contr. 58: 757762, 2013.

[12] T. Ahmed-Ali, V. V. Assche, J.-F. Massieu, and P. Dorleans, Continuous-discrete observer for state affine systems with sampled and delayed measurements, IEEE Tran. Auto. Cont. 58:10851091, 2013.

[13] M. Farza, M. M'Saad, M. L. Fall, E. Pigeon, O. Gehan, and K. Busawon, Continuous-Discrete Time Observers for a Class of MIMO Nonlinear Systems IEEE Trans Auto. Contr., 59(4), 2014.

[14] M. Farza, I. Bouraoui, T. Menard, R. Ben Abdennour, M. M'Saad, Sampled output observer design for a class of nonlinear systems, Proc. of Eur. Cont. Conf. (ECC), Strasbourg, France, June 24-27, 2014.

[15] I. Bouraoui, M. Farza, T. Menard, R. Ben Abdennour, M. M'Saad, H. Mosrati, Observer design for a class of uncertain nonlinear systems with sampled outputsApplication to the estimation of kinetic rates in bioreactors, Automatica, 55:7887, 2015.

[16] Y.P.Siwakoti, G.E.Town, Desing of FPGA-controlled Power Electronics and Drives Using MATLAB Simulink, Proc.of IEEE ECCE-Asia, 571-577, 2013.

[17] A. Dib, M. Farza, M. M'Saad, Ph. Dorlans, J.F. Massieu, High gain observer for sensorless induction motor, IFAC Proc. 44(1):674-679, January 2011.

[18] M. Farza, M'Saad, M. Triki, and T. Maatoug. High gain observer for a class of non-triangular systems. Systems & Control Letter, 60(1):27-35, 2011.

[19] G. Beasanon and H.Hammouri, On uniform observation of non uniformly observable systems, Systems Control Lett.29:9-19, 1996.

[20] M. Besbes, S.H. Sad, F M'sahli, FPGA implementation of high gain observer for induction machine using Simulink HDL coder, Proc. IEEE CEIT, 2015.
[4] Youssef Agrebi Zorgani, Yassine Koubaa, Mohamed Boussak, MRAS state estimator for speed sensorless ISFOC induction motor drives with Luenberger load torque estimation, ISA Transactions,61:308-317, 2009.

[5] Trabelsi, R., A. Kheder, M. Faouzi Mimouni and F. M'sahli, An Adaptive Backstepping Observer for on-line rotor resistance adaptation. Int. J. Sciences and Techniques IJ-STA 4(1): 1246-1267, 2010.

[6] M. Ghanes, J. De Leon, A. Glumineau, Observability study and observer-based interconnected form for sensorless induction motor Proc. 45th IEEE Conf. Decision and Control, 1240-1245.

[7] E. Monmasson, L. Idkhajine, M. N. Cirstea, I. Bahri, A. Tisan, and M. W. Naouar, FPGAs in industrial control applications, IEEE Trans. Ind. Inf., 7(2): 224243, 2011.

[8] L. Idkhajine, E. Monmasson, and A.Maalouf, Fully FPGA-based sensorless control for synchronous AC drive using an extended Kalman filter, IEEE Trans. Ind. Electron., 59(10):3908-3918, 2012.

[9] J. Guzinski and H. Abu-Rub, Speed Sensorless Induction Motor Drive With Predictive Current Controller, IEEE Trans. Ind. Electron., 60(2):699-675, 2013.

[10] Z. Ma, J. Gao, and R. Kennel, FPGA Implementation of a Hybrid Sensorless Control of SMPMSM in the Whole Speed Range, IEEE Trans. Ind. Electron., 9(3):1253-1261, 2013.

[11] M. Nadri, H. Hammouri, and R. Grajales, Observer design for uniformly observable systems with sampled measurements, IEEE Trans.Auto. Contr. 58: 757762, 2013.

[12] T. Ahmed-Ali, V. V. Assche, J.-F. Massieu, and P. Dorleans, Continuous-discrete observer for state affine systems with sampled and delayed measurements, IEEE Tran. Auto. Cont. 58:10851091, 2013.

[13] M. Farza, M. M'Saad, M. L. Fall, E. Pigeon, O. Gehan, and K. Busawon, Continuous-Discrete Time Observers for a Class of MIMO Nonlinear Systems IEEE Trans Auto. Contr., 59(4), 2014.

[14] M. Farza, I. Bouraoui, T. Menard, R. Ben Abdennour, M. M'Saad, Sampled output observer design for a class of nonlinear systems, Proc. of Eur. Cont. Conf. (ECC), Strasbourg, France, June 24-27, 2014.

[15] I. Bouraoui, M. Farza, T. Menard, R. Ben Abdennour, M. M'Saad, H. Mosrati, Observer design for a class of uncertain nonlinear systems with sampled outputsApplication to the estimation of kinetic rates in bioreactors, Automatica, 55:7887, 2015.

[16] Y.P.Siwakoti, G.E.Town, Desing of FPGA-controlled Power Electronics and Drives Using MATLAB Simulink, Proc.of IEEE ECCE-Asia, 571-577, 2013.

[17] A. Dib, M. Farza, M. M'Saad, Ph. Dorlans, J.F. Massieu, High gain observer for sensorless induction motor, IFAC Proc. 44(1):674-679, January 2011.

[18] M. Farza, M'Saad, M. Triki, and T. Maatoug. High gain observer for a class of non-triangular systems. Systems & Control Letter, 60(1):27-35, 2011.

[19] G. Beasanon and H.Hammouri, On uniform observation of non uniformly observable systems, Systems Control Lett.29:9-19, 1996.

[20] M. Besbes, S.H. Sad, F M'sahli, FPGA implementation of high gain observer for induction machine using Simulink HDL coder, Proc. IEEE CEIT, 2015.