Gradient-Based Predictive Pulse Pattern Control of Medium-Voltage Drives—Part I: Control, Concept, and Analysis

This article proposes a control and modulation strategy for medium-voltage (MV) drives that exhibits excellent steady-state and transient behavior. Specifically, optimized pulse patterns (OPPs) and direct model predictive control are employed so that the associated advantages of both, such as minimum stator current total demand distortion (TDD) and fast transients, respectively, are fully exploited. To do so, the current reference trajectory tracking and modulation problems are addressed in a coordinated manner in the form of a constrained optimization problem that utilizes the knowledge of the stator current evolution—as described by its gradient—within the prediction horizon. Solving this problem yields the optimal real-time modification of the offline-computed OPP, which guarantees that very low—and close to its theoretical minimum value—stator current TDD is produced at steady state, and very short settling times during transients. To highlight the effectiveness of the proposed strategy, a variable speed drive system consisting of a three-level neutral point clamped inverter and an MV induction machine serves as a case study.


I. INTRODUCTION
M ARKET trends, including but not limited to industrial drive applications, electrification, renewable power generation, etc., have boosted the annual growth of medium-voltage (MV) drives. Such drives are operated at switching frequencies of a few hundred hertz to keep the switching power losses low. In doing so, however, the stator current harmonics increase, giving rise to increased thermal losses in the machine.
To address this, optimized pulse patterns (OPPs) can be employed, since they can produce very low current distortions at low switching frequencies [1]. This is due to the fact that Manuscript  OPPs-more specifically, the optimal switching angles over a quarter of the fundamental period-are computed in an offline procedure by minimizing an objective function that captures the stator current total demand distortion (TDD) over all possible operating points, while assuming quarter-and half-wave symmetry. As a result, the offline-computed OPPs, when applied to a machine, produce the (theoretical) minimum current TDD for a given pulse number (i.e., switching frequency), thus ensuring the best possible steady-state behavior-as quantified by the current TDD-of the drive [2]. Due to the lack of a symmetric modulation cycle of fixed length, as well as discontinuities, in the switching angles with respect to the modulation index, OPPs cannot be easily utilized in a closed-loop control setting. For this reason, OPPs are typically employed by low-bandwidth controllers, such as scalar control, or low-bandwidth field-oriented control (FOC), implying that the dynamic behavior of the drive is poor [3].
To utilize OPPs with a fast controller, Holtz and Beyer [2]- [4] introduced the concept of stator current trajectory tracking, according to which the stator current space vector is forced to follow its optimal reference trajectory in a deadbeat manner. This method, however, is susceptible to parameter variations and changes in the operating conditions. As an improvement to that concept, stator flux trajectory control was proposed in [5] and [6], which does not depend on the machine parameters. Thus, this method shows a high degree of robustness to possible variations. Nevertheless, for this control strategy to perform well, a complicated observer is required, since there is no distinction between the fundamental and the ripple components of the stator current and flux linkage [5].
Despite the inherent disadvantages of the aforementioned methods, they demonstrated that by combining the control and modulation problems in one computational stage, OPPs can be effectively manipulated with a high-bandwidth controller. Given this, model predictive control (MPC), especially in its form as a direct controller, is an excellent control method for OPPs. This is due to the fact that MPC is a multiple input multiple output control method that can simultaneously address several-and occasionally conflicting-control objectives [7]. Moreover, system constraints can be explicitly taken into account while, owing to the receding horizon policy, a high degree of robustness to parameter variations and disturbances is provided. constrained optimization problem formulated in the framework of direct MPC accounts for both the control and modulation problems, implying that optimal steady-state and dynamic system performance are ensured [8].
To exploit the advantages of MPC and OPPs, Geyer et al. [9] proposed an MPC-based strategy to manipulate OPPs in real time. This method was later experimentally verified in industrial MV drive systems [10], [11]. As shown, owing to the optimal nature of both MPC and OPPs, very low values of stator current TDD can be achieved, while the behavior of the drive during transients exhibits the typical features of direct controllers, i.e., very short settling times without over/undershoots. This method, however, is difficult to extend to more complex systems. Moreover, it is not straightforward to account for multiple control objectives.
Motivated by the observations made above, this article proposes an alternative MPC strategy to control the stator currentsand thus the electromagnetic torque and magnetization-of an MV machine by manipulating OPPs in real time. To do so, similar to [12], the gradients of the controlled variables, i.e., the stator currents, are utilized so that their evolutions can be predicted in a simple yet accurate manner. With this information, a constrained optimization problem is formulated and solved in real time that computes the optimal required modifications of OPPs. As a result, superior steady-state performance is achieved, thanks to the inherent characteristics of OPPs, while the direct and optimal manipulations of their switching time instants by the proposed controller-named gradient-based predictive pulse pattern control (GP 3 C)-allow for very fast transients.
To highlight the potential benefits of the proposed method, an MV drive system consisting of a three-level neutral point clamped (NPC) voltage source inverter and an induction machine (IM) is considered. Our results in this work, along with those in the analysis part [13] 1 , show that the proposed control scheme provides significant performance benefits compared to conventional control methods, such as FOC with carrier-based pulse width modulation (CB-PWM) or space vector modulation (SVM).
In summary, the contributions of this article are three fold. First, a highly versatile modeling approach, namely the gradients of the controlled variables, is adopted, which allows for a simple formulation of the optimization problem underlying MPC for MV drives. This flexibility also enables the straightforward adaptation of the method to other case studies. Second, the combination of MPC-formulated as current trajectory tracking controller-and OPPs ensures an excellent steady-state performance and superior dynamic behavior due to the optimal real-time modification of the OPPs, as demonstrated with the presented results as well as those in its analysis part [13]. Third, the proposed control method can effectively deal with system nonidealities, such as persistent harmonics due to a significant dc-link voltage ripple, owing to the employed receding horizon policy.
The rest of this article is organized as follows. Section II describes the model of the MV drive system case study used throughout the two papers. Section III summarizes the basic characteristics of OPPs and discusses the computation of the stator current reference trajectory, which is subsequently used by the MPC algorithm. In Section IV, the proposed GP 3 C scheme is presented in detail, along with the formulation of the optimal control problem as a quadratic program (QP). Section V assesses the performance of the proposed control strategy during steady-state and transient operating conditions and compares it with that of FOC with SVM. Finally, Section VI concludes this article.

II. PHYSICAL MODEL OF THE SYSTEM
In this section, the mathematical model of the system under consideration is derived in the stationary orthogonal αβframe. For this reason, any variable ξ abc = [ξ a ξ b ξ c ] T in the three-phase abc-plane is transformed to ξ αβ = [ξ α ξ β ] T in the stationary orthogonal αβ-plane through ξ αβ = Kξ abc with the transformation matrix 2 Note that, in this article, all quantities are normalized and presented in the per unit (p.u.) system.

A. Model of the Inverter
Consider the MV drive system consisting of a three-level NPC voltage source inverter and an IM, as shown in Fig. 1. The dc link of the inverter is supplied by two full-bridge diode rectifiers. These are connected to a symmetrical three-phase grid via a Y-YY transformer 3 . The dc-link voltage has an instantaneous (i.e., nonconstant) value v dc with the average value V dc . Moreover, the neutral point (N) potential is assumed to be fixed and equal to zero.
The switch position in phase x ∈ {a, b, c} of the inverter can be modeled by the integer variable u x ∈ U = {−1, 0, 1}. Depending on the single-phase switch position u x , the output voltage of each phase can assume one of the discrete voltage levels −v dc /2, 0, and v dc /2. By aggregating the single-phase switch positions u x to the three-phase switch position u abc = [u a u b u c ] T ∈ U 3 , the output voltage of the inverter, which is equal to the stator voltage v s , is

B. Model of the Induction Machine
The IM considered in this work has a squirrel-cage rotor. Its dynamics are represented in terms of the stator current i s , the rotor flux ψ r , and the rotor angular speed ω r . The machine parameters are the stator and rotor resistances, i.e., R s and R r , respectively, the stator leakage, rotor leakage, and mutual reactance, i.e., X ls , X lr , and X m , respectively. 4 Introducing the moment of inertia H and the mechanical load torque T , the following set of differential equations describe the dynamics of the IM [14] and [15]: where τ s = X r D/(R s X 2 r + R r X 2 m ) is the transient stator time constant and τ r = X r /R r is the time constant of the rotor winding. Moreover, the constant D is defined as D = X s X r − X 2 m , with X s = X ls + X m and X r = X lr + X m being the stator and rotor self-reactances, respectively. Moreover, I 2 is a twodimensional identity matrix. Finally, the electromagnetic torque T e is given by

C. State-Space Model
By considering as input to the drive system the threephase switch position u abc , as output the stator current, i.e., y = [i sα i sβ ] T ∈ R 2 , and by choosing as state variables the stator current and rotor flux 5 , i.e., the state vector is x = [i sα i sβ ψ rα ψ rβ ] T ∈ R 4 , the continuous-time state-space model can be written with the help of (2) and (3) as where the system F ∈ R 4×4 , the input G ∈ R 4×3 , and the output C ∈ R 2×4 matrices are provided in Appendix A.

D. Harmonic Model of the Machine
The induction machine model (3) describes the machine behavior during both steady-state and dynamic operations. This model, however, contains information for both the fundamental component of the quantities of interest (e.g., stator current, stator voltage, and rotor flux) as well as their harmonics. When the focus is solely on the harmonics, then the harmonic model of the machine, as shown in Fig. 2, is preferred, since it can clearly evaluate the impact of the voltage harmonics on the machine. As described in [7, Section 2.2], the voltage equation of this model is given by where v sh and i sh are the harmonic voltage and current, respectively, and X σ = D/X r is the total leakage reactance of the machine.

III. OPTIMIZED PULSE PATTERNS
This section presents the key properties of OPPs. Furthermore, the optimal steady-state stator current reference trajectory is derived. Finally, the challenges that relate to the closed-loop control of OPPs are summarized.

A. Key Properties of OPPs
OPPs are computed offline for a given modulation index m by minimizing an objective function, which typically accounts for the load (e.g., stator) current distortion, as quantified by its TDD [1]. Moreover, to ensure that the only harmonics with nonzero amplitude are those at odd multiples of the fundamental frequency, quarter-and half-wave symmetry is imposed on the OPP, even though symmetry relaxations may achieve lower current TDDs, as recently shown in [16]. This optimization procedure takes place for the whole range of modulation indices m ∈ [0, 4/π] as well as a wide range of single-phase switching transitions that occur over one quarter of the fundamental period, i.e., d = 1, 2, . . . , ∈ N + . Note that, for a three-level converter, the number of switching transitions d is equal to the pulse number. The latter is defined as the ratio between the (device) switching and fundamental frequencies. Since d is an integer, synchronization of the OPP with the fundamental voltage waveform is implied, meaning that no interharmonics exist 6 .
By following this optimization procedure, a set of switching angles α ∈ [0, 90 • ] d is computed as a function of m and d, as shown in Fig. 3(a), for d = 5. Hence, a single-phase OPP u(θ) can be represented as a function p(d, m), the output of which is the set of d switching angles α. To exemplify this, Fig. 3 shows a single-phase three-level OPP for d = 5 and m = 1.046 [i.e., the OPP p(5, 1.046)] over a quarter of a period. Moreover, Fig. 3(c) shows the corresponding three-phase OPP u abc (θ).
To generate the latter, basic symmetry properties of the singlephase OPP are exploited, while a balanced three-phase system is assumed. Specifically, the quarter-and half-wave symmetry characteristics of the single-phase OPP are used to calculate the OPP over the fundamental period, while the pulse patterns of the two remaining phases are generated based on the phase difference of the three phases, i.e., a shift by 120 • and 240 • occurs for phases b and c, respectively. A detailed explanation of OPP calculation for multilevel inverters can be found in [17].
Based on the procedure and OPP characteristics described above, it can be understood that the offline-computed OPPs generate the theoretical minimum current TDD when applied to an IM. In doing so, minimal iron and copper losses, and thus thermal losses, can be achieved. For this reason, OPPs are the most promising modulation method when operation at very low switching frequencies is required [7], [17].

B. Optimal Steady-State Stator Current Trajectory
As explained earlier, the stator current generated by the nominal OPP exhibits the lowest possible harmonic distortions. Therefore, to achieve the best possible steady-state performance-in terms of current TDD-the actual stator current of the machine should be as close as possible to the nominal OPP-generated current trajectory. This implies that the optimal steady-state stator current can be used as a reference trajectory in a closed-loop setting.
To compute the optimal steady-state current i s,ref , its components need to be analyzed. Given that i s,ref is a superposition of the fundamental i s1,ref and harmonic i sh,ref components, i.e., the components i s1,ref and i sh,ref need to be derived. The former can be produced by an outer control loop, which controls the degree of machine magnetization and electromagnetic torque. As for the harmonic component i sh,ref , it can be computed based on the harmonic model of the IM (see Fig. 2) and the nominal OPP u abc (θ) of interest. More specifically, by performing harmonic analysis of the OPP u abc (θ), the amplitudeû n and phaseφ n of the n th th voltage harmonic, where n = 2κ + 1, κ ∈ N + , can be found. Given (6), and assuming R s ≈ 0-as is the case with MV machines-and a stiff dc-link voltage V dc , the n th harmonic of the current is [7, Section 3.4] with ω 1 = 2πf 1 being the fundamental angular frequency. Hence, with the knowledge of the amplitudeî s,n and phaseφ n of the current harmonics, i sh,ref is derived in an offline procedure according to the following expression: where N h is the maximum harmonic order to be included in the current reference. It is important to stress that in (9) the nonzero harmonics are located at nontriplen odd multiples of the fundamental frequency, since the triplen voltage harmonics (n = 3, 9, 15, . . .) are in phase, i.e., they are common-mode harmonics, which do not drive a harmonic current. Moreover, due to symmetries that apply to the single-and three-phase OPP, the resulting harmonic current repeats itself every 60 • . For this reason, only one-sixth of the fundamental period needs to be computed and stored in a lookup table (LUT) for later use, which greatly reduces the required memory resources. To ensure operation over the whole range of operating points and relevant switching frequencies, the abovementioned procedure is repeated for various numbers of switching angles d and modulation indices m.
The construction of the complete optimal steady-state current trajectory is done in real time when required by the controller. To this aim, the harmonic current of the first 60 • sector is rotated by (ζ − 1) × 60 • for the remaining five 60 • sectors (ζ = 2, 3, . . . , 6). This is shown in Fig. 4(a), where the harmonic current generated by the OPP in Fig. 3 is shown. Therein, a 60 • sector is highlighted to elucidate the aforementioned procedure, while the initial and final values of this section are marked as black empty circles. The complete optimal (i.e., reference) steady-state trajectory in the αβ-plane is shown in Fig. 4 Fig. 4(b)]. Finally, for reasons of completeness, Fig. 4(c) shows the optimal current trajectory in the abc-plane.

C. OPPs in a Closed-Loop Control Setting
As can be observed from Fig. 3(c), OPPs-as opposed to conventional modulation methods, such as CB-PWM or SVMdo not exhibit a symmetric modulation cycle. This implies that when sampling occurs, not only the fundamental component of the current is sampled-as is the case with synchronous SVM or CB-PWM-but also its ripple. This is clearly shown in Fig. 4(a), where the ripple of the current is never zero. This means that linear controllers, such as proportional-integral (PI) controllers, cannot be employed to manipulate OPPs, since they will interpret the ripple current as a steady-state error, thus they will try to remove it. In doing so, however, the controller will unnecessarily modify the nominal OPP, deteriorating its harmonic performance. To address this issue, it is common practice to use OPPs with a low-bandwidth controller.
Another reason that hinders the utilization of OPPs with a high-bandwidth controller is the existence of discontinuities in the nominal OPP switching angles. As can be observed from Fig. 3(a), the switching angles change, in general, smoothly with the modulation index m, but for some values of m, they change abruptly, e.g., for m = 0.43, 0.72, 0.87, 1.12, and 1.2 when d = 5. This implies that when operation within the neighborhood of these modulation indices is required, significant current excursions may occur when crossing a discontinuity. To avoid this, a controller that can quickly modify the OPP is required. However, as explained above, linear controllers need to be tuned such that they act in a very slow manner, rendering them unsuitable for fast closed-loop control. Hence, a trajectory-based control technique needs to be devised that combines control and modulation in one computational stage. This is the subject of the following section.

IV. GRADIENT-BASED PREDICTIVE PULSE PATTERN CONTROL ALGORITHM
To address the control problem of the MV induction machine fed by a three-level NPC inverter, we propose a control approach based on the combination of OPPs [1], [18] and gradient-based direct MPC [12], [19]. As a result, the inherent characteristics of both adopted methods are fully exploited. More specifically, thanks to the OPPs, excellent steady-state performance is achieved, as quantified by the very low current TDD, which is as close to its theoretical minimum value as possible. Moreover, direct MPC manages to manipulate the OPPs in real time in an optimal and effective manner, thus achieving fast dynamic control with short settling times. In the sequel of this section, the main principle and characteristics of the proposed control algorithm are presented.

A. Control Problem
The main control objectives of the controller are two. First, the proposed control approach should aim for accurate regulation of the stator current along its optimal current reference trajectory (see Section III-B), so that the resulting current has the lowest possible harmonic distortions. Second, the controller should have high bandwidth to achieve fast rejection of disturbances and as fast current and torque response times as possible.
To meet the abovementioned control goals, the offlinecomputed nominal OPP is used as a baseline pattern and modified in real time to achieve closed-loop current control, operating in the discrete-time domain with the sampling interval T s and the time step k ∈ N. The required pattern modifications are computed in an optimal manner by solving a constrained optimization problem with receding horizon. Hence, the MPC algorithm modifies the nominal OPP locally within a time window T p = N p T s , where N p is the number of time steps. Beyond this window, steady-state operation is assumed while applying the nominal OPP.
Given the above, the following vectors are introduced:

B. Control Method
Considering that the MPC scheme is designed as a current controller, the minimum current TDD results when perfect tracking of the optimal current reference trajectory is achieved. To this aim, the objective function captures the (squared) rms error of the stator current within the prediction horizon T p while minimizing the changes in the nominal OPP to avoid unnecessary modifications that can detract from the steady-state performance of the controller. Hence, the proposed objective 7 It should be noted that the first entry of U is the switch position applied last in the previous sampling interval, i.e., u abc (t 0 ) ≡ u abc (t − 0 ). function is where Δt = t ref − t are the (to-be-applied) modifications on the nominal OPP. The weighing factor λ t ≥ 0 penalizes the modifications Δt and provides the controller designer with a degree of freedom; by appropriately tuning it, the first term of function (11) can be prioritized over the second one, or vice versa.
Since the first term in function (11) accounts for the (squared) rms current error, it is a cubic function of time [12], [19]. As a result, the associated optimization problem is nonconvex, which is not trivial to solve. To avoid this pitfall, a simplification is introduced to turn the optimization problem into a convex one, thus greatly speeding up the solution process [20]. Specifically, the current tracking error is penalized only at the finite number of OPP switching time instants. Consequently, the objective function (11) takes the form which is now a quadratic (i.e., convex) function of time. Note that on the basis that the prediction horizon T p is long enough such that as many switching time instants as possible are included, the first term in (12) accounts in a coarse yet sufficiently accurate manner for the rms current error. 8 According to (12), in order to compute the modified switching time instants t, the evolution of the stator current i s within the horizon is required. With this, the difference between the predicted current and the (sampled) optimal current reference can be computed. Since the prediction horizon T p is much shorter than the fundamental period T 1 , i.e., T p T 1 , this task can be 8 Approximation of the rms error by the first term in (12) is explained in more detail in Appendix B.   , x(t z,ref ), the state is predicted in a consecutive manner based on the following discrete-time state-space model: where the discrete-time matrices A and B are computed from the continuous-time model (5) (15) To better understand the abovementioned concept, the following example is provided.
Example 2: Consider the nominal OPP in Fig. 5(a) with five switching instants within the horizon, i.e., z = 5. These instants divide the prediction horizon into six subintervals. Within each subinterval, it is assumed that the stator current evolves with a constant gradient, as exemplified in Fig. 5 (14) and by using the measured or estimated state x(t 0 ) and the initial switch position of the OPP u abc (t 0 ). In the following, the gradient of the stator current within this subinterval m(t 0 ) is computed according to (15).  (15). The same procedure is repeated for all the subintervals within the prediction horizon until all z gradients have been computed.
With the gradients m(t ,ref ) [see (15)], the stator current at the to-be-computed modified time instants t becomes Note that (16) indicates a linear prediction model that is based on nonlinear predicted samples. By using (16) and after some algebraic manipulations 9 , function (12) can be written in the compact form as The entries of vector r ∈ R 2z depend on the reference values and measurements of the stator current, while those of matrix M ∈ R 2z×z depend on the gradients with which the stator current evolves within the prediction horizon (see Appendix C). Finally, it should be mentioned that both r and M are time-varying, and their dimensions change depending on the number of OPP switching instants z that fall within the prediction horizon T p . 9 Interested reader is referred to [12] and [19] for details on the derivation.

C. Control Algorithm
In this section, the steps that constitute the proposed optimal control algorithm are presented. The controller is designed in the discrete-time domain and is executed at the equally spaced discrete-time instants kT s . The outer control loop is designed in the dq-reference plane, which rotates with the stator angular speed ω s , while the inner current control loop is designed in the stationary orthogonal (αβ) plane. The block diagram of the proposed GP 3 C algorithm-including both the outer and inner loops-is shown in Fig. 6, and the pseudocode is summarized in Algorithm 1.
Step 0: In a preprocessing step, the modulation index m is computed. Neglecting the stator resistance, the modulation index is equal to wherev dc is the low-pass filter dc-link voltage and Ψ s,ref is the the amplitude of the reference stator flux, which is typically equal to 1 p.u. so that the machine is fully magnetized. Since the voltage drop in the stator resistance is neglected in (18), the value of m corresponds to the amplitude of the voltage vector v ψ , as shown in the vector diagram in Fig. 7. In practice, however, the modulation index m should correspond to the amplitude of the stator voltage vector v s . Therefore, the voltage drop in the stator resistance is taken into account to adjust the value of the modulation index. Following, in order to retrieve the switching angles and structure of the offline-computed nominal OPP p(d, m) from the respective LUTs, the desired pulse number d is required. This is chosen based on the desired and/or maximum allowable device switching frequency, see [7,Section 12.4.5]. With both m and d-and thus p(d, m)-the complete single-phase OPP is obtained by applying quarter-and half-wave symmetry, see Section III. Based on this, the three-phase OPP is constructed, and ω s is used to translate the switching angles into switching time instants.
Step 1.1: The rotor flux ψ r is estimated based on the stator current and machine speed measurements. In doing so, the estimated rotor flux angle ∠ψ r is acquired, which is used for the compensation of the total time delay. This is realized by rotating the estimated rotor flux vector by ω s T s forward in time, i.e., the angular position ∠ψ r + ω s T s is assumed. Accordingly, a one-step delay compensation is employed for the current measurements. Moreover, ∠ψ r is used for the transformation of the outer loop quantities from the rotating dq-frame to the stationary (αβ) one, as shown in Fig. 6.
Step 1.2: The nominal OPP is shifted such that its fundamental component is correctly aligned with the stator voltage vector v s . To this end, the load angle γ, i.e., the angular displacement between the stator and the rotor flux vectors, needs to be computed. Recall that the electromagnetic torque can be written as [7,Section 12.4] where pf is the power factor of the IM. Conversely, for a given value of the torque reference T e,ref , the desired load angle is Therefore, the stator flux angle is ∠ψ s = ∠ψ r + γ ref . By introducing a counterclockwise rotation of 90 • , the angle of the vector v ψ is obtained (see Fig. 7). Hence, by appropriately accounting for the phase-shift θ v introduced by the voltage drop across the stator resistance, the angle of the stator voltage vector v s is found and used for the correct alignment of the three-phase OPP.
Step 2: With the knowledge of the three-phase nominal OPP position at the discrete-time step kT s , the z nominal switching instants t i,ref that fall within the prediction horizon T p are extracted along with the corresponding switch positions u abc (t i,ref ). As explained in Section IV-B, z, i.e., the dimension of t ref , defines the size of the optimization problem (i.e., the dimension of the optimization variable t), as well as the number of stator current gradients m(t ,ref ) that need to be computed. Note that the latter are not necessarily unique, meaning that, in practice, (significantly) less than z gradients may require computation.
Step  Fig. 7. As a result, the vector of the optimal stator current reference values over the prediction horizon is obtained, i.e., Step 4: Following, the matrix of current gradients M is formulated (see (17) and Appendix C). To this aim, (15) is used, which computes the necessary current gradients based on the measured or estimated state, the nominal switching instants t ref , and the vector of nominal OPP switch positions U .
Step 5: The optimization problem underlying GP 3 C is formulated in this step. Specifically, given the simplified objective function (17), the optimal control problem takes the form minimize t ∈ R z r − M t 2 2 + λ t Δt 2 2 subject to kT s < t 1 < · · · < t z < kT s + T p . (21) As can be seen in (21), the to-be-computed switching time instants cannot be modified arbitrarily; they are rather constrained, such that the sequence of switching transitions of the three-phase pulse pattern is maintained. Moreover, upper and lower bounds are imposed on t. More specifically, the current time instant kT s serves as a lower bound so that the switching instants are not moved into the past, while the end of the horizon kT s + T p is the upper bound. Fig. 5(a) shows this for the five switching instants within the prediction horizon, where the constraints on the to-be-computed switching time instants are indicated with arrows. For example, the first to-be-computed switching instant t 1 is constrained by the present time instant kT s and the actual second switching instant t 2 . Based on the same principle, the second switching instant, i.e., t 2 , is bounded between t 1 and t 3 , and so on.
It is worth mentioning that since the objective function (17) is quadratic and the constraints are linear, problem (21) is a convex QP [20]. Such problems can be efficiently solved with existing off-the-self solvers, see, e.g., [8,Section IV] 10 . The solution to the QP (21), called the optimizer, is the vector of the optimally modified switching time instants t * .
Step 6: In a last step, the required optimal modifications on the OPP switching time instants that fall within the first sampling interval of the prediction horizon, i.e., between kT s and (k + 1)T s , are implemented. This means that the switch positions of the OPP u abc are to be applied to the converter at the computed time instants t * .
Finally, according to the receding horizon policy of MPC [7], the horizon is shifted by one T s , and the procedure begins from "Step 0" based on new measurements or estimates and an updated OPP. 11 In doing so, feedback is provided to the controller, and a high degree of robustness to system nonidealities, such as persistent harmonics due to a significant dc-link voltage ripple, is achieved, as shown in the following section, where the performance of GP 3 C is assessed.
Example 3: Consider the nominal OPP in Fig. 5(a). By applying this OPP to the converter, the (linearized) evolution of the stator current is shown as magenta dash-dotted line. The OPP is to be manipulated by GP 3 Fig. 5(b), result in the stator current shown as solid green line. The volt-second corrections in the three phases are indicated by arrows and highlighted in yellow. For example, the volt-second area in phase c is increased by Δt 1 , whereas the volt-second area in phase a is decreased by Δt 2 . The (modified) pattern that falls within the first sampling interval T s -as shown in red in Fig. 5(b)-is applied to the inverter and the horizon is shifted by one T s .

D. Flux Estimation
As shown in the block diagram in Fig. 6, the outer loop, designed in the dq-reference frame, resembles a field-oriented controller where the speed and flux controllers are based on PI controllers [7, Section 3.6]. To achieve field orientation, the rotor flux angle needs to be estimated. By using the measured stator current and the stator voltage 12 , the rotor flux vector can be estimated. With (2) and (3), the rotor flux vector can be calculated as where σ = 1 − X 2 m /(X r X s ) is the total leakage factor. From (22), it directly follows that the magnitude of the rotor flux is Ψ r = ψ r and its angular position ∠ψ r = arctan( ψ rβ ψ rα ). Note that the accuracy of the flux estimation (22) is typically improved by incorporating it in an observer [21]. To this aim, the system dynamics are augmented with a correction term, i.e., the feedback of the error between the actual output of the system and that of its model. By scaling this error with the observer gain, the estimated flux value converges to its correct value.

V. PERFORMANCE EVALUATION
The performance of the proposed GP 3 C scheme for the drive, as shown in Fig. 1, is evaluated in this section by simulations. It is assumed that the IM has a constant mechanical load. The rated parameters of the machine are given in Table I. Based on the drive parameters provided in Table II, it can be deduced that the IM has a total leakage reactance of X σ = 0.255 p.u. Moreover, it is worth mentioning that the average dc-link voltage of the inverter-supplied by diode rectifiers, as shown in Fig. 1-is V dc = 5.2 kV, while its peak-to-peak ripple is about 234 V. The tested OPP has a pulse number of d = 5, while the modulation index is m = 1.046. For the presented simulations, the sampling interval is set to T s = 50 μs and a 25-step prediction horizon (i.e., N p = 25) is chosen. The weighing factor on the manipulated variable is λ t = 4 × 10 5 . Note that all results in the sequel of this section are presented in the p.u. system.

A. Steady-State Performance
First, the steady-state performance of the MV drive system is examined for operation at rated torque and nominal speed. The latter implies that the device switching frequency is 250 Hz since d = 5. The corresponding results of GP 3 C are shown in Fig. 8. The three-phase stator current is shown over one fundamental period in Fig. 8(a). As can be seen, the current reference tracking performance of the controller is excellent, with only minute deviations from the optimal trajectory being observed. This occurs despite the strong dc-link voltage ripple [see Fig. 8(f)], indicating the ability of the controller to successfully deal with external disturbances. As a result, the harmonic distortions are very low, as indicated by the current TDD I TDD of 4.261%. Moreover, thanks to the symmetry properties of the nominal OPP, which are preserved-to some extent-by the controller [see Fig. 8(d) for the three-phase switching pattern generated by the controller], the harmonic power is concentrated at frequencies, which are odd nontriplen integer multiples of the fundamental. Furthermore, owing to the good current reference tracking, the electromagnetic torque also accurately tracks its reference, as shown in Fig. 8(c). Finally, Fig. 8(e) shows the stator flux magnitude.
To clearly demonstrate the superior steady-state performance of GP 3 C, it is benchmarked with FOC with SVM. The latter is implemented as three-level asymmetric regularly sampled CB-PWM with common-mode signal injection of the min/max type to resemble SVM [22]. The PI controllers of FOC are tuned based on the modulus optimum method, while the switching frequency is also 250 Hz to ensure a fair comparison with GP 3 C. Fig. 9 shows the steady-state behavior of the drive controlled by FOC. As can be observed, this is inferior to that of GP 3 C as the stator current has a significantly higher current ripple, as shown in Fig. 9(a). The lower quality of the current is not only quantified by the higher-almost double-current TDD I TDD of 8.044%, but it is also visualized in the harmonic spectrum shown in Fig. 9(b). Therein, it can be seen that the harmonic power is higher, especially at low frequencies. Low-frequency harmonics, such as the 5 th and 7 th , are also amplified due to the dc-link voltage ripple at 300 Hz, suggesting that FOC cannot reject this external disturbance as effectively as GP 3 C can.

B. Transient Performance
The transient performances of the proposed GP 3 C scheme and FOC are shown in Figs. 10 and 11, respectively. For the presented cases, operation at nominal speed is considered, while the torque reference is stepped down from 1 to 0 p.u. at t = 5 ms and stepped back to 1 p.u. at t = 20 ms. Despite the big changes in the torque reference, GP 3 C manages to quickly settle to the new operating points by significantly modifying the nominal OPP, as shown in Fig. 12. Specifically, during the torque reference step-down change, the proposed controller applies the switch positions that will decrease the load angle as fast as possible, as shown in Fig. 12. As can be seen from Fig. 12(b), this is done by significantly reducing the width of the pulses in phase c and by shifting forward in time the pulses in phases a and b. The   same observations can be made for the step-up case, as shown in more detail in Fig. 12(e). It is noteworthy that in this scenario, GP 3 C completely removes pulses from phase a, such that the available dc-link voltage is fully utilized.
On the other hand, FOC with SVM does not achieve such short settling times, as shown in Fig. 11. Even though the FOC current control loop is designed such that it has a high bandwidth-as the PI controllers are tuned based on the modulus optimum method-the transient performance is inferior to that of GP 3 C. This can be explained by the fact that the controller and modulator-FOC and SVM, respectively-are two decoupled entities that act independently from each other, i.e., in an uncoordinated manner. As a result, the dynamic behavior of the closed-loop system is compromised. This is in stark contrast to the operational principle of GP 3 C, which, as a direct control method, formulates the control and modulation problems in one computational stage, thus avoiding limitations imposed by a dedicated modulator.

VI. CONCLUSION
This article proposed a control and modulation scheme for MV drive systems that employs MPC and OPPs. By using the stator current gradients to serve as a simple, yet accurate enough prediction model, the optimal control problem formulation is greatly simplified, and a high degree of design versatility is achieved. Moreover, thanks to the adopted prediction model, the optimization problem underling direct MPC is cast as a convex QP, thus requiring only modest computational resources. As a result, the real-time implementation of the proposed control and modulation scheme is rendered feasible, as shown in [13], where GP 3 C is tested in real time in a hardware-in-the-loop environment. More importantly, as the proposed strategy is a combination of an optimal constrained controller with an optimal modulation technique, superior steady-state and transient performance can be achieved, as verified with the presented results. The former is credited to the inherent feature of OPPs to produce the lowest possible current distortions at a given switching frequency. Furthermore, owing to the characteristics of the proposed control and modulation scheme, such as the long horizon and the receding horizon policy, a significant degree of robustness to system nonidealities, e.g., dc-link voltage ripples, is provided. As for the dynamic behavior of the controller, the direct control nature of GP 3 C, combined with its ability to modify the nominal OPPs in an optimal manner, allow for very short settling times. As shown in the article, thanks to these features, GP 3 C can outperform conventional control methods, such as FOC with SVM.

APPENDIX A CONTINUOUS-TIME SYSTEM MATRICES
The matrices of the continuous-time state-space model in (5)

APPENDIX B APPROXIMATION OF THE RMS ERROR
The first term in (11) captures the (squared) rms error of the stator current within the horizon T p , i.e., where i s,err (t) = i s,ref (t) − i s (t). The rms value of the continuous-time signal in (23) can be accurately approximated by the rms value of the equivalent (regularly sampled) discretetime signal i s,err (n) as provided that a sufficient number of samples N ∈ N + is considered.
Analyzing (24), the following two interesting observations can be made. First, the objective function term J 1 is a quadratic function of time. This is in contrast to the J 1 in (23), which is a cubic function of time. Thanks to this, (24) leads to a convex optimization problem, as opposed to the nonconvex problem resulting from (23). This is advantageous from optimization perspective, as convex problems are relatively easy to solve.
For the second observation, we invoke the Parseval's theorem, which states that for a discrete-time signal χ of N samples it holds that [23] where X is the discrete Fourier transform of χ. This implies that the total energy of a signal can be calculated by summing the power-per-sample across time or the spectral power across frequency [23]. Therefore, the total energy captured by (24) is equivalent to the harmonic distortions of the stator current within the prediction horizon. Hence, as also shown in [24, Appendix A], minimizing (24) is equivalent to minimizing the stator current TDD over the prediction horizon T p . From the above, it can be concluded that using (24) to represent the current reference tracking term is an excellent choice, as it can lead to favorable performance (low current TDD) and a convex optimization problem. Nevertheless, as discussed in [12], using regularly spaced samples may lead to an unnecessarily complicated optimization problem that will require more computational resources to solve in real time. To avoid this, the sampled current error can be coarsely approximated by using a finite number of irregularly spaced samples, e.g., as shown in Fig. 13. Given that the switching time instants of the OPP that fall within the prediction horizon are known, the simplest approach is to penalize the deviation of the stator current from its reference only at the OPP switching instants. This yields where z is the number of switching instants that fall within T p . The function (26) provides a very coarse approximation of the rms error, which is nevertheless often quite effective. Hence, the objective function given in (12) uses (26) as the current reference tracking term, where the scaling factor 1/z is integrated into λ t .