**1. Introduction**

Over the last few years, multilevel converters have been recognized as an alternative approach for high-power electronics owing to the improvement of capacity and performance compared with the two-level converter [1–3]. In particular, the T-type inverter topology is preferred due to the benefits in term of low conduction losses and high sinusoidal waveforms of the output voltage [4,5]. The unbalance of capacitor voltages is the big problem for this configuration. However, this issue has been addressed by several methods [6–10].

Grid-connected power converters have proven to be important in many industrial applications such as active power filters, distributed systems, and renewable power generation systems [11–16]. The conventional control strategy is the voltage-oriented control [11,13] which can ensure the steady-state and performance via the traditional PI current controllers with pulse width modulation (PWM) or space vector modulation (SVM). However, the completeness of the current decoupling of the internal current controller and accurate tuning parameters are the drawbacks of this method. This technique has a low dynamic response and is not suitable for a nonlinear system. Recently, to improve the performance, direct power control (DPC) [17] has been presented by employing a

143

look-up table to decide the proper switching state of the inverter. Nonetheless, a big ripple of the active and reactive powers is the problem of this approach. Moreover, it is necessary to require a small sampling time to obtain a reasonable steady-state and good transient performances. To overcome these issues, various approaches have been developed such as using DPC established on extended-state observation with PWM [18], port-controlled Hamiltonian system [12], sliding mode control [19], and predictive control [20–23].

Over the last decade, many researchers have focused on a finite control set model predictive control (FCS-MPC) for power electronics applications due to its simplicity of configuration, easy realization, and rapid transient response [24–27]. Besides, the benefits of FCS-MPC are that the non-linearities, delay compensation and additional constraints are easily imposed on the controller. However, in the FCS-MPC, every state needs to be enumerated to achieve the optimal value, leading to the computational burden becoming a major issue, especially with a high number of switching states such as multilevel inverters and long prediction horizons. To deal with this problem, a simplified MPC is put forward in [28] for converters. This method employs switching state group for optimization loop to reduce the computation time. An alternative technique mentioned for multilevel converters [29,30] is to reduce the computational cost by developing a modified sphere decoding algorithm. In [31], the equivalent transformation in the cost function is employed in the optimization loop to reduce the time-consuming computation for converters with inductive load load. The modified algorithm in [32] incorporates the conventional FCS-MPC and steady-state assessment to decrease the computational cost. Nonetheless, the computational burden of this approach is large, similar to the conventional FCS-MPC in the unfavorable case. The proposed approach is presented in [22] to reduce the execution time by using the preselected voltage reference and DC-bus capacitor voltage balancing. Nonetheless, this method is only applied to a 3L-T-type inverter with LC filter in standalone mode.

We here refine the method in [31] by taking into account the computational delay in the control design for grid-connected to the 3L-T-type inverter. This approach not only keeps the DC-link capacitor voltage balancing and decreases the switching frequency but also guarantees the high-performance control. The cost function based on the model predictive control is utilized to achieve these purposes. A control horizon of modified one-step prediction is used to compensate the computational delay, diminish the power ripples and enhance the control performance. Compared with linear controllers, the proposed method has a fast dynamic response and no overshoot of transient response. Furthermore, to address the aforementioned challenge, this research aimed to develop the cost function for reducing the computational effort in the optimization problem. The formula of the cost function consists of the current tracking error with the conventional model predictive current control method. In this research, a predictive model of grid current was employed to obtain the required inverter voltage. Then, the revised cost function, which includes the inverter output voltage errors, neutral-point voltage and switching frequency reduction, was defined. Consequently, the computational burden of the proposed method was reduced by 22% compared to the traditional FCS-MPC, providing the practicality of the real-time implementation. Simulation and experiments were used to evaluate and verify the performance of the proposed method.

This paper is structured as follows: Section 2 introduces the dynamic model of a predictive control strategy based on voltage orientation for a grid-connected 3L-T-type inverter. Section 3 outlines the proposed modified model predictive control strategy to reduce the computational cost. In Section 4, a performance comparison between the proposed method and traditional FCS-MPC and the classical DPC with linear PI controllers and SVM (DPC-SVM) is presented. Section 5 summarizes some conclusions.

#### **2. Dynamic Modeling for Grid-Connected 3L-T-Type Inverter**

#### *2.1. Configuration of the Grid-Connected 3L-T-Type Inverter*

A simplified circuit of the grid connected 3L-T-type inverter is illustrated in Figure 1. The operating principle of each inverter branch can be described by three switching statuses [1], [0], and [−1]. During switching status [1] or [P], both switches *S*1*x* and *S*2*x* with *x* ∈ {*<sup>a</sup>*, *b*, *c*} are turned "ON" leading to *uxZ* = *Udc*/2, while [−1] or [N] signifies two switches *S*1*x* and *S*2*x* are turned "OFF", resulting *uxZ* = −*Udc*/2. The switching state [0] or [O] means that the two internal switches *S*2*x* and *S*3*x* are "ON" and *uxZ* is clamped to zero. Thus, taking into account the three phases of the inverter, 27 possible configurations are produced for the 3L-T-type. The summary of switching states generated by this inverter is presented in Table 1.

**Figure 1.** Simplified configuration of the grid-connected 3L-T-type inverter.

**Table 1.** Operating principle of inverter branch *x*.


#### *2.2. Mathematical Model*

The inverter output voltage generated by the 3L-T-type can be defined:

$$
\mu\_{inv} = \frac{2}{3} \left( \mu\_{AZ} + m u\_{BZ} + m^2 u\_{CZ} \right),
\tag{1}
$$

where *uAZ*, *uBZ*, and *uCZ* are the three-phase inverter voltage, relating to the neutral-point Z of the DC-bus; and *m* = *ej*2*π*/3 = −12+ *j* √32.

The phase to neutral voltages *uxZ* of the 3L-T-type inverter are calculated in terms of the switching status *Sx* and DC-bus voltage *Udc* [7,27]:

$$
\mu\_{\rm xZ} = S\_{\rm x} \frac{\mathcal{U}\_{dc}}{2},
\tag{2}
$$

where *Sx* stands for the status of an inverter branch with three possible combinations {−1, 0, <sup>1</sup>}. *Electronics* **2019**, *8*, 217

Under the assumption of a constant DC-bus voltage and *C*1 = *C*2 = *Cdc*, the dynamic of neutral-point voltage (*uz*) can be phrased in terms of the switching states and the grid currents [22]:

$$\frac{du\_z}{dt} = \frac{d\left(u\_{c1} - u\_{c2}\right)}{dt} = -\frac{1}{\mathbb{C}\_{d\varepsilon}} i\_z = -\frac{1}{\mathbb{C}\_{d\varepsilon}} \left( (1 - |\operatorname{S}\_b|) i\_{b\mathfrak{F}} + (1 - |\operatorname{S}\_b|) i\_{b\mathfrak{F}} + (1 - |\operatorname{S}\_{\varepsilon}|) i\_{\mathfrak{F}} \right). \tag{3}$$

The mathematical model of grid-connected inverter is given by:

$$
\mu\_{inv} = \mu\_{\mathcal{S}} + R\_f i\_{\mathcal{S}} + L\_f \frac{d i\_{\mathcal{S}}}{dt} \,\prime \tag{4}
$$

where *ug* = *uag*, *ubg*, *ucg<sup>T</sup>*, *ig* = *iag*, *ibg*, *icg<sup>T</sup>* are the grid voltage and current vectors and *Rf* , *Lf* are the filter resistance and inductance, respectively.

The dynamics model in the *dq* synchronous reference frame is derived from the rotational transformation of Equation (4) as follows:

$$\begin{aligned} u\_{inv\\_d} &= R\_f i\_d + L\_f \frac{di\_d}{dt} + u\_d - \omega L\_f i\_{q\prime} \\ u\_{inv\\_q} &= R\_f i\_q + L\_f \frac{di\_q}{dt} + u\_q + \omega L\_f i\_{d\prime} \end{aligned} \tag{5}$$

where *ω* is the grid frequency.

Considering the grid-voltage oriented condition (Figure 2), the components of grid voltage can be achieved by:

$$
u\_d = \hat{\mathcal{U}}\_{\mathbb{S}^\*} \ u\_q = 0,\tag{6}$$

where *U* ˆ *g* denotes the grid voltage magnitude that is achieved by using the phase-locked loop (PLL).

**Figure 2.** Coordinate reference system.

As a result, the dynamics model in continuous time is rewritten from Equations (3), (5) and (6) as:

$$\begin{array}{lcl}\frac{di\_d}{dt} &= -\frac{R\_f}{L\_f}i\_d + \frac{1}{L\_f}(u\_{inv\\_d} - \dot{\Omega}\_g) + \omega i\_{q\prime} \\ \frac{di\_q}{dt} &= -\frac{R\_f}{L\_f}i\_q + \frac{1}{L\_f}u\_{inv\\_q} - \omega i\_{d\prime} \\ \frac{du\_z}{dt} &= \frac{1}{2\underline{C}\_{dc}}\left(2|\left|S\_d\right| - \left|S\_b\right| - \left|S\_c\right|\right)i\_d + \frac{\sqrt{3}}{2\underline{C}\_{dc}}\left(|\left|S\_b\right| - \left|S\_c\right|\right)i\_{\tilde{\rho}\rho} \end{array} \tag{7}$$

where the grid current components in the *dq* coordinate frame are achieved by their values in the *αβ* stationary reference frame by using Park transformation:

$$\begin{array}{lcl} i\_d & = i\_\theta \cos \theta + i\_\beta \sin \theta, \\ i\_q & = i\_\beta \cos \theta - i\_\theta \sin \theta. \end{array} \tag{8}$$

Similarly, the component of inverter voltage is expressed based on Equations (1) and (2) as:

$$\begin{array}{lcl} \mu\_{inv\\_d} & = \mu\_{inv\\_c}\cos\theta + \mu\_{inv\\_b}\sin\theta\_\prime\\ \mu\_{inv\\_g} & = \mu\_{inv\\_b}\cos\theta - \mu\_{inv\\_s}\sin\theta\_\prime \end{array} \tag{9}$$

where *uinvα* and *uinvβ* are the elements of inverter voltage which are achieved from the Clarke transformation:

$$\begin{array}{rcl} \mu\_{\text{inva}} &=& \frac{\mathcal{U}\_{d\text{c}}}{6} \Big( 2S\_{a} - S\_{b} - S\_{c} \Big), \\\mu\_{\text{inv\beta}} &=& \frac{\sqrt{3}\mathcal{U}\_{d\text{c}}}{6} (S\_{b} - S\_{c}). \end{array} \tag{10}$$

We can calculate the grid active and reactive powers as [11,17]:

$$\begin{array}{ll} P\_{\mathcal{S}} &= \frac{3}{2} \left( u\_d i\_d + u\_q i\_q \right) = \frac{3}{2} \hat{\mathcal{U}}\_{\mathcal{S}} i\_{d\prime} \\ Q\_{\mathcal{S}} &= \frac{3}{2} \left( u\_q i\_{\mathcal{S}} - u\_d i\_q \right) = -\frac{3}{2} \hat{\mathcal{U}}\_{\mathcal{S}} i\_{\mathcal{I}}. \end{array} \tag{11}$$

Equation (11) means that we can employ the grid current components to control the active and reactive powers.

#### **3. Proposed Control Strategy Based on Model Predictive Control**

The purposes of the proposed method are to:


• Decrease the frequency of the switches.

With the aim to accomplish the control goal, the cost function of the conventional FCS-MPC for the grid system, which takes into account the one-step prediction and delay compensation, is presented as [25,26]:

$$\mathbf{g}\_{cuv} = \left| \mathbf{i}\_d^\*(k+2) - \mathbf{i}\_d^p(k+2) \right| + \left| \mathbf{i}\_q^\*(k+2) - \mathbf{i}\_q^p(k+2) \right| + \lambda\_{d\varepsilon} \left| \mathbf{u}\_z^p(k+2) \right| + \lambda\_n s u\_{\varepsilon} \tag{12}$$

where *<sup>i</sup>*<sup>∗</sup>*d*(*<sup>k</sup>* + <sup>2</sup>), *i*∗*q* (*k* + 2) and *ipd* (*k* + <sup>2</sup>), *ipq* (*k* + 2) represent the reference and predicted currents at instant *k* + 2, respectively. *λdc* and *λn* denote the weighting elements of the balance of capacitor voltages and switching frequency reduction.

The weighting factors *λdc* and *λn* are considered as tuning parameters to achieve an acceptable control performance. Adjusting these values is not an easy mission for the classical PI controllers. Section 4 illustrates the details of the selection of these parameters.

*swc* in Equation (12) is the additional constraint imposed on the cost function to reduce the switching frequency of the inverter. Thus, its expression can be given by:

$$sw\_{\varepsilon} = \sum\_{\mathbf{x}=a,b,\varepsilon} |S\_{\mathbf{x}}(k+1) - S\_{\mathbf{x}}(k)|.\tag{13}$$

In a real-time control system, it is necessary to consider a time delay produced by computation time. To overcome this problem, in the traditional approach [25,27], the predicted variables at instant *k* + 1 are estimated by using the dynamic model, measurement feedback and previous switching status at instant *k*. Next, the associated predicted variables at time *k* + 2 are obtained from the estimated variables at time *k* + 1 and all switching states of the inverter. Thus, the optimal control input is achieved from cost function optimization at time *k* + 2 and implemented to the inverter at *k* + 1, as shown in Figure 3.

**Figure 3.** Control variable of one-step horizon with delay compensation.

*t*

As mentioned in Section 2.2, a control action *u* = [*Sa*, *Sb*, *Sc*]*<sup>T</sup>* is a finite set of feasible control associated with the switching states *u* ∈ U = {*<sup>u</sup>*1, *u*2, ..., *<sup>u</sup>*27}. Consequently, the optimal control action *uopt* is implemented in the converter at time *k* + 1 by minimizing Equation (14):

$$\begin{array}{lll} \hat{t}\_{d}(k+1) &=& f\_{1}(i\_{d}(k),i\_{q}(k),u\_{k}), \hat{t}\_{q}(k+1) = f\_{2}(i\_{q}(k),i\_{d}(k),u\_{k}),\\ \hat{t}\_{d}^{p}(k+2) &=& f\_{1}(\hat{t}\_{d}(k+1),\hat{t}\_{q}(k+1),u\_{k+1}), \hat{t}\_{q}^{p}(k+2) = f\_{2}(\hat{t}\_{d}(k+1),\hat{t}\_{q}(k+1),u\_{k+1}),\\ \hat{u}\_{z}(k+1) &=& f\_{3}(i\_{\mathcal{S}}(k),u\_{z}(k),u\_{k}), \hat{u}\_{z}^{p}(k+2) = f\_{3}(\hat{t}\_{\mathcal{S}}(k+1),\hat{u}\_{z}(k+1),u\_{k+1}),\\ g\_{\mathcal{c}\mathcal{W}}(u\_{k+1}) &=& \left|i\_{\mathcal{A}}^{\ast}(k+2) - \hat{i}\_{d}^{p}(k+2)\right| + \left|i\_{q}^{\ast}(k+2) - \hat{i}\_{q}^{p}(k+2)\right| + \lambda\_{dc} \left|u\_{z}^{p}(k+2)\right| + \lambda\_{n} \text{sw}\_{\mathcal{L}},\\ u\_{opt} &=& \arg\left\{\min\_{u\_{k+1}\in\{-1,0,1\}} g\_{cnv}(u\_{k+1})\right\}. \end{array} \tag{14}$$

Considering a sampling interval *Ts*, the discrete-time of the grid current is obtained by employing the first-order forward Euler approximation for Equation (7):

$$\begin{array}{ll} \mathrm{i}\_{d}(k+1) &= \mathrm{i}\_{d}(k)\left(1-\frac{T\_{s}\mathbb{R}\_{f}}{L\_{f}}\right)+\frac{T\_{s}}{L\_{f}}\left(\mathrm{u}\_{\mathrm{inv}\cdot\underline{d}}(k)-\mathrm{\mathcal{U}}\_{\mathbb{S}}\right)+T\_{s}\omega\mathrm{i}\_{q}(k),\\ \mathrm{i}\_{q}^{\*}(k+1) &= \mathrm{i}\_{q}(k)\left(1-\frac{T\_{s}\mathbb{R}\_{f}}{L\_{f}}\right)+\frac{T\_{s}}{L\_{f}}\mathrm{u}\_{\mathrm{inv}\cdot\underline{d}}(k)-T\_{s}\omega\mathrm{i}\_{d}(k),\end{array} \tag{15}$$

where the inverter voltages *uinv*\_*<sup>d</sup>*(*k*) and *uinv*\_*<sup>q</sup>*(*k*) are achieved from Equation (9) by using the previous state *Sopt*(*k*).

Substituting the grid current references *i*∗*d* (*k* + 2) and *i*∗*q* (*k* + 2) by their predicted currents *ipd* (*k* + <sup>2</sup>), *ipq* (*k* + 2) into Equation (7), we therefore obtain the components of inverter reference voltage:

$$\begin{array}{llll}u\_{inv\\_d}^\*(k+1) &= \hat{l}\_d(k+1)\left(R\_f - \frac{L\_f}{T\_s}\right) + \frac{L\_f}{T\_s}\dot{l}\_d^\*(k+2) + \hat{\mathcal{U}}\_\mathcal{S} - \omega L\_f\hat{l}\_q(k+1),\\ u\_{inv\\_q}^\*(k+1) &= \hat{l}\_q(k+1)\left(R\_f - \frac{L\_f}{T\_s}\right) + \frac{L\_f}{T\_s}\dot{l}\_q^\*(k+2) + \omega L\_f\hat{l}\_d(k+1),\end{array} \tag{16}$$

where the grid current references *i*∗*d* (*k*) and *i*∗*q* (*k*) are determined from the active and reactive powers in accordance with Equation (11).

The predictive reference current can be achieved by using the second-order Lagrange extrapolation as [27]:

$$\begin{array}{ll} i\_d^\*(k+2) &= 6i\_d^\*(k) - 8i\_d^\*(k-1) + 3i\_d^\*(k-2), \\ i\_q^\*(k+2) &= 6i\_q^\*(k) - 8i\_q^\*(k-1) + 3i\_q^\*(k-2). \end{array} \tag{17}$$

Approaching the neutral-point voltage in the same manner, we have its discrete-time expression as:

$$\begin{split} u\_z^p(k+1) &= u\_z(k) + \frac{T\_s}{2\mathbb{C}\_{d\varepsilon}} \left( 2|\operatorname{S}\_d(k+1)| - |\operatorname{S}\_b(k+1)| - |\operatorname{S}\_\varepsilon(k+1)| \right) i\_d(k) \\ &+ \frac{\sqrt{3}T\_s}{2\mathbb{C}\_{d\varepsilon}} (|\operatorname{S}\_b(k+1)| - |\operatorname{S}\_\varepsilon(k+1)|) i\_\beta(k). \end{split} \tag{18}$$

A modified MPC is presented in [31] to decrease the computational cost. However, this approach is only applied to converters in standalone mode and does not take into account the delay compensation. To improve the dynamic performance due to computational delay and reduce the high computational burden, an extension of this method is employed for the grid-connected 3L-T-type inverter to regulate the grid power exchange. The aim of the proposed control strategy is to determine the best inverter voltages (*uinv*\_*dn* and *uinv*\_*qn*) in 27 voltage vectors that are closest to the inverter voltage references *<sup>u</sup>*<sup>∗</sup>*inv* \_ *d*(*<sup>k</sup>* + 1) and *<sup>u</sup>*<sup>∗</sup>*inv* \_*<sup>q</sup>*(*<sup>k</sup>* + <sup>1</sup>). Then, the optimal control of the system is achieved through a simple optimization technique. The proposed predictive control algorithm is divided into three main steps:


$$\begin{array}{lcl} \hat{l}\_{d}(k+1) &= f\_{1}(i\_{d}(k),i\_{d}(k),u\_{k}), \, \hat{l}\_{q}(k+1) = f\_{2}(i\_{q}(k),i\_{d}(k),u\_{k}),\\ \mu\_{z}^{p}(k+1) &= f\_{3}(i\_{d}(k),u\_{z}(k),u\_{k+1}), \, u\_{\mathrm{inv\\_d}} = f\_{6}(u\_{\mathrm{inv\\_q}}), \, u\_{\mathrm{inv\\_q}} = f\_{7}(u\_{\mathrm{inv\\_q}}),\\ \mu\_{\mathrm{inv\\_d}}^{\*}(k+1) &= f\_{4}(i\_{d}^{\*}(k+2),\hat{l}\_{d}(k+1),\hat{l}\_{q}(k+1)), \, u\_{\mathrm{inv\\_q}}^{\*}(k+1) = f\_{5}(i\_{q}^{\*}(k+2),\hat{l}\_{d}(k+1),\hat{l}\_{q}(k+1)),\\ \mu\_{\mathrm{rad}}^{\*}(u\_{k+1}) &= \left| u\_{\mathrm{inv\\_d}}^{\*}(k+1) - u\_{\mathrm{inv\\_d}} \right| + \left| u\_{\mathrm{inv\\_q}}^{\*}(k+1) - u\_{\mathrm{inv\\_q}} \right| + \lambda\_{\mathrm{dc}} \left| u\_{\mathrm{z}}^{\mathrm{d}}(k+1) \right| + \lambda\_{\mathrm{R}} \mathrm{sw\_{\zeta}},\\ \mu\_{\mathrm{opt}} &= \arg\left\{ \min\_{\boldsymbol{u}\_{k}\in\{-1,0,1\}} g\_{\mathrm{rad}}(\boldsymbol{u}\_{k+1}) \right\}. \end{array} \tag{19}$$

where *<sup>u</sup>*<sup>∗</sup>*inv* \_ *d*(*<sup>k</sup>* + 1) and *<sup>u</sup>*<sup>∗</sup>*inv* \_*<sup>q</sup>*(*<sup>k</sup>* + 1) represent the desired inverter voltages at instant *k* + 1; and *uinv*\_*dn* and *uinv* \_*qn* stand for all possible inverter voltage components in *dq* synchronous reference frame.

It is worth mentioning that there are different terms of the cost function between the traditional MPC and the proposed method as shown in Equations (14) and (19). With the traditional FCS-MPC [25–27], all predicted control variables are considered in the optimization loop. In this case, 27 predictive currents *ipd* (*k* + 2) and *ipq* (*k* + 2) are needed to enumerate in the cost function (*gcnv*(*uk*+<sup>1</sup>)) to obtain the best switching state, which is applied to the inverter at time *k* +1. On the other hand, only one inverter reference voltage *<sup>u</sup>*<sup>∗</sup>*inv*(*<sup>k</sup>* + <sup>1</sup>), which is achieved through the estimated grid current ˆ *ig*(*k* + 1) and grid current reference *<sup>i</sup>*<sup>∗</sup>*g*(*<sup>k</sup>* + <sup>2</sup>), is taken into account for the loop optimization. Then, by only one evaluating cost function (*gmdf*(*uk*+<sup>1</sup>)) with simple code optimization, the optimal control input is achieved. Therefore, the proposed technique reduces the computational time of the performance criterion optimization compare with the traditional FCS-MPC. The comparison of computational cost between two controllers is summarized in Table 2, which highlights the benefit of the proposed method. To validate the efficiency of the proposed algorithm, the function tic-toc in Matlab is used to measure the computation time. Significantly, the minimum, average and maximum values of evaluation time of the conventional FCS-MPC are 17, 29, and 41 μs, respectively, and 10, 22, and 34 μs for the proposed algorithm, respectively. Figure 4 shows the impact of the computation time in two controllers. This can lead to a 24% reduction of computational complexity, resulting in an increase of sampling frequency for improving the control performance. Consequently, this method has many practical applications for power converters in term of a time-consuming optimization algorithm, thereby supporting the feasibility of real-time applications with low-cost processors. The overall strategy of the proposed control algorithm is illustrated in Figure 5.

**Figure 4.** Computation time of two controllers.

**Figure 5.** Block diagram of the proposed control scheme.


Finally, the control objectives are obtained by enumerated the proposed cost function, as demonstrated in Algorithm 1.

**Algorithm 1** Algorithm of modified model predictive power control with reduced computational complexity.

**Input:** *ig*(*k*), *uz*(*k*), *ug*(*k*), *Udc*(*k*), *P*∗*g* (*k*), *Q*<sup>∗</sup>*g*(*k*)

**Output:** *Sa*, *Sb*, *Sc*.

*1.* Estimate the grid current ˆ *igd*(*k* + 1) and ˆ*igq*(*k* + 1) based on (15).

*2.* Compute the inverter voltage components in the *dq* synchronous reference frame *uinv*\_*dn* and *uinv* \_*qn*, with *n* = 1–27 according to (9).

*3.* Calculate the grid current references *<sup>i</sup>*<sup>∗</sup>*g<sup>d</sup>*(*k*), *<sup>i</sup>*<sup>∗</sup>*gq*(*k*) and inverter voltage *<sup>u</sup>*<sup>∗</sup>*inv*\_*<sup>d</sup>*(*<sup>k</sup>* + <sup>1</sup>), *<sup>u</sup>*<sup>∗</sup>*inv*\_*<sup>q</sup>*(*<sup>k</sup>* + 1) based on (11) and (16).

*4.* Estimate *swc* for all switching states based on (13).

*5.* Predict the neutral-point voltage *upz* (*k* + 1) by using (18).

*6.* Evaluate the cost function *gmdf* from (19).

*7.* Select the optimal switching state *xopt*: [<sup>∼</sup>, *xopt*] = *min*(*gmdf*); Return to step *1*.

#### **4. Simulation and Experimental Results**

#### *4.1. Simulation Results*

To verify the control performance of the proposed control scheme for the grid tie 3L-T-type inverter, examinations were conducted in Matlab/Simulink simulation environment with SimPowerSystems toolbox. The system parameters are as indicated in Table 3. The control algorithm was implemented by utilizing the Matlab function block.


**Table 3.** Simulation parameters.

To evaluate the steady-state control performance, the mean absolute percentage error (MAPE) was used to estimate the power ripple and neutral-point voltage deviation as:

$$MAPE = \frac{1}{n} \sum\_{i=1}^{n} \left| \frac{y\_i^\* - y\_i}{y\_i^\*} \right|,\tag{20}$$

where *y*∗*i*and *yi* are the reference and measurement vectors, respectively.

To calculate the average switching frequency of the inverter achieved by the FCS-MPC, the following expression suggested in [27] can be used:

$$f\_{\rm sw} = \sum\_{\mathbf{x} = a, b, c} \frac{n\_{\rm sw\_{1x}} + n\_{\rm sw\_{2x}} + n\_{\rm sw\_{3x}} + n\_{\rm sw\_{4x}}}{12T\_{\rm sim}},\tag{21}$$

where *nsw*<sup>1</sup>*x* , *nsw*<sup>2</sup>*x* , *nsw*<sup>3</sup>*x* and *nsw*<sup>4</sup>*x* denote the number of commutations of each leg in the time interval (*Tsim*).

In the first scenario, the proposed method was performed to demonstrate the ability of the bidirectional transmitted power with a unity power factor (*Qg*\_*ref* = 0 Var). The reference of power factor (PF) changed from −1 to 1 at *t* = 0.15 s, corresponding to a step change of active power *Pg*\_*ref* from −20 kW to 20 kW. In the inverting mode operation (*Pg* < 0), the active power was supplied to the grid, whereas the power was absorbed from the grid with rectifying mode operation (*Pg* > 0). As shown in Figure 6, the proposed method enhanced a fast steady-state and high control performance. The phase difference between the grid voltage and current is depicted in Figure 7a. Figure 7b shows the variable switching frequency of inverter output voltage. However, this does not impact too much the control performance.

**Figure 6.** The transient power responses for a step in active power reference with a unity power factor.

**Figure 7.** Inverter output voltage and grid voltage and current waveforms.

In the second scenario, the control system was conducted with different values of active and reactive powers. To confirm the effectiveness of the control scheme, a comparative analysis was carried out among the proposed method, conventional FCS-MPC [27] and direct power control with PI controllers [11]. This linear controller employs the redundant states to keep the DC-bus capacitor voltage balancing [6]. The sampling frequency of the MPC and DPC-SVM is considered *fs* = 20 kHz and 6 kHz, respectively, to produce the equivalent average switching frequency *fsw* = 3 kHz. The reference of active and reactive powers were set at 4 kW and −2 kVar, according to the *PF* = −0.89. The active power reference (*Pg*−*ref*) was stepped from 4 kW to 7.5 kW at *t* = 0.15 s, and then back to 4 kW at instant *t* = 0.25 s. The active power reference and its measured value are demonstrated in Figure 8a. A step change in required reactive power *Qg*−*ref*) from −2 kVar to 2 kVar at *t* = 0.2 corresponded to leading power factor and lagging power factor, respectively, as illustrated in Figure 8b. The results shown in Figure 8 prove that the proposed method enhanced the dynamic performance with no overshoot compared to the DPC-SVM, as confirmed in Table 4. In fact, the active power of the conventional MPC and proposed method reached steady-state of the transient response from 4 kW to 7.5 kW in about 0.8 ms and 1.1 ms with DPC-SVM, respectively. The MAPE of the active power of the proposed method reduced from 5.22% to 3.75%, and from 11.03% to 7.98% with reactive power, compared with DPC-SVM.

(**e**)

 Active power response of the proposed method. (**f**) Reactive power response of the proposed method.

**Figure 8.** The transient responses of active and reactive powers.


**Table 4.** Comparative studies of transient performance for three controllers.

Figure 9 demonstrates the dynamic response and grid current harmonic spectra using the Powergui fast Fourier transform (FFT) toolbox. The results in Figure 9 indicate the advantages of the proposed control method. It was observed that the total harmonic distortion (THD) of the grid current at *t* = 0.18 s for the proposed method (2.5%) was better than DPC-SVM (3.2%). Particularly, the proposed method accomplished a similar current performance compared with the traditional FCS-MPC, as shown in Figure 9c,e. Moreover, the THD of the grid current was not only decreased but was also less time-consuming. It means that the control algorithm proved the advantage of the proposed method in terms of computation load. Consequently, it is fundamental to underline that the proposed method represents a useful alternative to implementing MPC algorithm in a real-time system.

**Figure 9.** The dynamic response and harmonic spectrum of the grid current for DPC-SVM, conventional FCS-MPC, and the proposed method.

In addition, the proposed method can solve the drawback of unbalancing DC-link capacitor voltage, as shown in Figure 10. It is interesting to note that the DC-link capacitor voltages remained balanced with MAPE of neutral-point voltage deviation for the proposed method of 0.48% and 0.93% with DPC-SVM.

To analyze the influence of the non-linear load, a study with diode rectifier and resistive load (*R* = 60 Ω) was investigated, as illustrated in Figure 11c. The active and reactive powers were set at 4 kW and 0 Var, respectively. Figure 11 demonstrates the results with stand-alone and grid-connected modes at *t* = 0.1 s. As shown in Figure 11a,b, the ripples of the grid current and powers were increased in the standard-alone mode. However, the grid current remained sinusoidal after connecting to the grid. Moreover, the active and reactive powers continued tracking their reference values with a fast transient time. Therefore, i the proposed method could adopt a non-linear load.

**Figure 10.** Performance of the neutral-point voltage *uz*.

 **Figure 11.** Grid current and power responses with the non-linear load.

The selection of the weighting factor is not a transparent task for FCS-MPC, but this issue can be addressed by using the multi-objective optimization techniques suggested by Cortes et al. [33]. The unbalance of DC-bus capacitor voltage is guaranteed by a high value of *λdc*, but it augments the power ripples and the THD of the grid current. The criteria for selecting *λdc* is the neutral-point voltage deviation, which is considered about 3% of DC-bus voltage, as depicted in Figure 10. On the contrary, the switching frequency was reduced by increasing the weighting factor *λ<sup>n</sup>*, resulting in switching loss reduction. However, the augmentation of the THD of grid current and power ripple also occurred as a result of the weighting factor *λ<sup>n</sup>*. Recognizing the THD as a key to estimate the performance, a satisfactory weighting factor can be achieved by increasing its value in a simulation environment. When the weighting factor *λn* changed from 0 to 120, the switching frequency *fsw* decreased from 4197 to 2049 Hz, corresponding to the increment in active power error (Figure 12b) and THD of the grid current from 4.02% to 15.55% and from 2.28% to 9.17%, respectively (Figure 12a). As a result, the weighting factor *λdc* and *λn* can be selected at 20 and 60 to obtain an adequate control performance with the low THD, the DC-bus capacitor voltage balancing and the switching frequency device at 3 kHz.

**Figure 12.** Weighting factor impact on: (**a**) the THD of the grid current and switching frequency; and (**b**) the power ripple.

## *4.2. Experimental Results*

With the purpose of verifying the benefit of the proposed control strategy such as rapid dynamic transient, reasonable THD of the grid current and reduced execution time, a scale down prototype was built in the laboratory, as illustrated in Figure 13. The control algorithm was implemented in a digital signal processing (DSP) TMS320F28335 controller by using the S-function builder block in Matlab/Simulink environment. Twelve FGH40T120SMD IGBT modules were employed for the inverter. Moreover, DC-link used two capacitors LGG2G102MELC50 1000 μF-400 V for the test bench. The parameters of the filter remained the same as in the simulation. The capacitor voltage, grid voltage, and current were measured by LV 25-P and LA 25-P transducers. The switch signals were generated by general-purpose input/output (GPIO) outputs of the DSP.

**Figure 13.** Experimental prototype in the laboratory.

The DC-link voltage was fixed at 600 V while the root mean squared and frequency of the grid voltage remained at 220 V and 60 Hz, respectively. The sampling time of the proposed control method was 100 μs, which is suitable for low-speed processing of DSP. The stable and dynamic transient states were examined with the change in the active and reactive powers to confirm the feasibility of the proposed control. In the first scenario, Figure 14 illustrates the steady-state performance of the proposed control strategy with active power *Pg* = 1300 W and unity power factor (*Qg* = 0 Var). The experimental results indicate that the ability to track power and achieved sinusoidal grid current waveform. In this test, the three-phase grid voltage was not a good sinusoidal waveform, as shown in Figure 14b, leading to a decrease in the quality of the grid current.

**Figure 14.** Experimental results of the proposed method in steady-state with *Pg* = 1300 W and *Qg* = 0 Var.

In the second scenario, two cases of the step change in the active and reactive powers were investigated to validate the ability tracking behavior of the proposed control scheme. In the first case, the active power reference was changed from 0 to 1300 W according to the change in grid current from 0 to 4.2 A. As shown in Figure 15, the active power and grid current reached the steady-state after a short transient time. Furthermore, the voltage-balancing of DC-bus capacitors and the reactive power were guaranteed even under the transient response. In the second case, the active power reference was kept at 1000 W while the reference of reactive power was stepped from 0 to 436 Var. It is apparent from the results in Figure 16 that the proposed approach obtained an accurate power tracking capacity under the change of the power factor.

(**a**) Dynamic responses of power, grid voltage and current (**b**) Inverter output and capacitor voltages waveforms

**Figure 16.** Transient response of the step change in reactive power from 0 to 436 Var with *Pg* = 1000 W.

Two controllers had the same performance of the THD for the grid current, as depicted in Figure 17. The THD of the grid current for the proposed method was 3.4% and 3.5% with the conventional

FCS-MPC. Moreover, the execution time of the control strategy for the proposed method decreased from 88 to 69 μs in comparison to the traditional FCS-MPC, as illustrated in Figure 18. This underlined the 22% reduction of execution time with the proposed method. Although, with the development of the microcontrollers, the execution time can be decreased by using the fast DSP or FPGA, this means that the cost of the system is increased, which becomes a challenge in industrial applications. Consequently, our study provides additional support to implement the MPC algorithm with the low-cost processor.

**Figure 17.** THD of grid current.

**Figure 18.** Execution time of the control strategy for the conventional FCS-MPC and proposed methods.
