Long Prediction Horizon FCS-MPC for Power Converters and Drives

Finite control set model predictive control (FCS-MPC) is a salient control method for power conversion systems that has recently enjoyed remarkable popularity. Several studies highlight the performance benefits that long prediction horizons achieve in terms of closed-loop stability, harmonic distortions, and switching losses. However, the practical implementation is not straightforward due to its inherently high computational burden. To overcome this obstacle, the control problem can be formulated as an integer least-squares optimization problem, which is equivalent to the closest point search or closest vector problem in lattices. Different techniques have been proposed in the literature to solve it, with the sphere decoding algorithm (SDA) standing out as the most popular choice to address the long prediction horizon FCS-MPC. However, the state of the art in this field offers solutions beyond the conventional SDA that will be described in this article alongside future trends and challenges in the topic.


I. INTRODUCTION
The control of power conversion systems is an important research field, which is partly driven by the growth of renewable energy sources and the need to integrate them into the grid [1], [2], [3]. Power electronics and the control of power converters are a crucial aspect to achieve the transition to carbon-free power generation. Advances in control theory translate to performance and efficiency improvements that are key to further propel the growth of these technologies [4].
Within this paradigm, model predictive control (MPC) strategies are becoming a prominent research topic in the field of power electronics [5], [6]. There are several elements that explain this increase in popularity over more traditional control techniques. First, MPC has a straightforward formulation that provides an intuitive method of approaching the control of complex systems. Through MPC techniques, it is possible to consider multiple control objectives, system nonlinearities, and constraints simultaneously and intuitively. For these reasons, research works propose different MPC techniques for the control of power electronic systems, including a wide range of power converter topologies and applications [7], [8].
Among the different families of MPC methods, direct MPC or finite control set MPC (FCS-MPC) enjoys greater popularity as a result of its more natural formulation compared with other alternatives. In FCS-MPC, the discrete nature of the power converter is considered to formulate an integer optimization problem where both control and modulation are addressed in the same computational stage [9]. To this end, the control inputs are restricted to the admissible switching states of the power converter. This set of admissible inputs is the so-called finite control set (FCS). In contrast to continuous control set methods, the optimization problem of one-step FCS-MPC can easily be solved, e.g., through exhaustive enumeration. This method, also known as the exhaustive search algorithm (ESA), is the most common optimization algorithm in FCS-MPC applications. The ESA enumerates every possible candidate in the FCS, predicts the future states for each control input, and evaluates a cost function to select the optimal switch position in terms of the selected control criteria [5]. The shortcomings of this strategy are revealed in the long prediction horizon (LPH) problem due to its computational costs. The prediction horizon (N p ) is the number of time steps considered in the predictions. Enlarging N p exponentially increases the amount of existing combinations of switching states. Thus, an exhaustive enumeration becomes intractable. However, larger N p values imply a longer prediction window that feeds the controller with additional information. This feature is particularly relevant in more complex systems, such as second-or third-order systems with one or more resonant frequencies [6]. Performancewise, a longer N p reduces the harmonic distortion and/or the switching frequency, thus achieving a more efficient operation of the power converter. An extract of [10] is shown in Fig. 1 to illustrate the performance benefits of extending N p in a medium-voltage drive. In this figure, FCS-MPC with several N p is compared with space vector modulation (SVM) and optimized pulse pattern (OPP), computed according to advanced methods as described in [10]. The total demand distortion (TDD) is used as a measure of the harmonic quality. The current TDD I TDD (%) is computed as follows: where I nom is the nominal rms value of the current andî n is the amplitude of harmonic components at frequency n times the fundamental. Furthermore, since OPP can be considered to present optimal steady-state behavior, the TDD of different methods in Fig. 1 are shown in relative terms to the OPP results, computing I rel TDD (%) as As can be seen, FCS-MPC harmonic performance is improved as a longer horizon is achieved, completely superseding SVM results for N p = 10 and getting closer to the benchmark OPP.
To overcome the combinatorial explosion of FCS-MPC with large N p , the optimization problem can be reformulated as an integer least-squares (ILS) problem [9]. Mathematically, this formulation is equivalent to finding the closest point vector in a given lattice. Several techniques have been proposed to solve this problem. Among LPH FCS-MPC, a modified version of the sphere decoding algorithm (SDA) enjoys great popularity in the literature. After this initial research, subsequent studies propose modifications or improvements of the original works [11], [12], [13]. This article presents an overview of the existing state-of-the-art techniques to achieve long N p . 1 The rest of this article is organized as follows. The LPH-FCS-MPC problem is illustrated in Section II. The basic search algorithms to solve the optimization problem are introduced in Section III. Implementation techniques are presented in Section IV, highlighting some of the main practical challenges that have been studied and solved in the literature. In Section V, the main remaining challenges and future trends are described. Finally, Section VI concludes this article.

II. FCS-MPC PROBLEM AND ILS TRANSFORMATION FOR LPH
FCS-MPC relies on a receding horizon policy [14]; the control algorithm is executed at discrete time steps at a rate equal to the sampling frequency f s . At each time step, the optimal control action calculated in the previous sampling interval is applied to the power converter. This process is repeated at every time step with new measurements from the system. This characteristic is not altered by extending N p . More time steps are considered in the predictions, but only the first control input within the optimal sequence is applied to the power converter.
To define an FCS-MPC strategy, one needs three basic elements: a prediction model, a cost function, and an optimization algorithm. The prediction model computes the evolution of the system state variables at future time steps for given an initial state and a possible sequence of control inputs that can be applied through the prediction horizon. The cost function evaluates the suitability of each possible trajectory and control inputs according to the control objectives. The optimization algorithm minimizes the objective function and selects the optimal sequence of control inputs.
This section focuses on the formulation and definition of the FCS-MPC elements. This includes the necessary analysis to transform and solve the LPH-FCS-MPC problem.

A. PREDICTION MODEL
The prediction model is a mathematical model of the physical system whose behavior is desired to be controlled to meet specific requirements. For the generic case study of a power converter, the system is an electric circuit that can be analyzed in terms of a finite number of variables through fundamental electrical theory.
It is a common practice to write the model in state-space representation with a vector of state variables. The state variables are physical system variables whose future values depend on their present and past values and on the system input values. Specifically, a state-space representation with the minimum number of state variables is desirable. Thus, state variables should be linearly independent. Also, due to the use of digital controllers, a discrete-time state-space representation is required In (3), subindex k indicates the time step of each variable. In general, vector x ∈ R n contains the system state variables, whereas y ∈ R n y is the system output and u ∈ R n u the system input. Generally, the output contains the variables to be controlled in the application. For power converter systems, the input is usually described by a vector of n u integer variables representing the switching states of the power converter. As an example, for the case of a three-phase power converter, the input vector is given by u = [u a u b u c ]. In this particular case, n u = 3, as there is a control input or switch position for each phase. The possible integer values for each element depend on the power inverter topology. For the case of a two-level inverter, u a , u b , u c ∈ {0, 1}; for the three-level case, one has u a , u b , u c ∈ {−1, 0, 1}. For the general case, u belongs to the FCS. This can be expressed as u ∈ V n u , where V ⊂ Z is the set of integer switch positions in a given phase.
Matrices A ∈ R n x n , B ∈ R n x n u , and C ∈ R n y x n are the system, input, and output matrices, respectively. For simplicity they are considered to be time-invariant matrices. However, it is possible under this formulation to consider also time-variant matrices.
When considering LPH it is opportune to define the input and output sequences. These sequences are vectors that contain the corresponding input and output values for a prediction horizon of length N p . For the input, the switching sequence U k ∈ R n u N p is defined as Similarly, the output vector and output reference vector sequences, Y k , Y k ∈ R n y N p , can be defined as where y k is the discrete-time system output reference at time step k. Finally, it is convenient to obtain the state vector expression at a future sampling instant + 1. This can be achieved by successively applying the state-space model equation (3), resulting in the following equation:

B. COST FUNCTION
The cost function maps the control objectives into a single number. The lower the number, the better the control objectives are achieved. As stated in Section I, one of the main advantages of FCS-MPC is its simplicity with which different control objectives can be addressed at once. To achieve this, different terms can be added to the cost function. Each of these terms can address the minimization of a tracking error, the penalization of certain events, or many other considerations. In the literature, the usage of quadratic Euclidean norms is recommended to penalize the tracking error between the system output and the output reference [15]. Another commonly used term in MPC is the penalization of the control effort. This term reduces the average switching frequencyf sw of the power converter and, thus, the switching power losses. To define the relative importance of each term, weighting factors are introduced.
To illustrate a standard FCS-MPC problem, a cost function with two quadratic terms will be considered. One of them evaluates the tracking error between the predicted system output and the reference. The other term evaluates the control effort. Weighting factor λ ≥ 0 is added to adjust the tradeoff between both terms. Higher values of λ emphasize the minimization of the switching effort over the tracking accuracy. Thus, a standard cost function for the LPH-FCS-MPC can be defined as where k is the current time step. Thus, g k represents the cost function values from time step k until the end of the prediction horizon at time step k + N p . Note that the outputs y +1 are predicted based on (3b) and (7).

C. OPTIMIZATION ALGORITHM
The optimization algorithm determines the switching sequence U k that provides the minimum value of g k . The optimization problem can be defined as where (9b) are the input constraints. They impose that members of U k belong to the FCS U. In Section II-A, it was stated that u ∈ V n u . This is the constraint for the n udimensional control input vector at one time step. For the LPH problem, constraints are imposed in the entire switching sequence through the considered N p time steps. This is represented in the optimization problem as U k ∈ U, where For high-power multilevel converters, switching constraints are also usually considered in the optimization problem as in (9c). This is a voltage level transition constraint that avoids solutions that lead to a high dv/dt or risk damaging the converter [in the case of a neutral-point (NP) clamped converter]. At the end of the optimization process, only the first element of U opt k is applied to the converter, i.e., u opt k , according to the receding horizon policy. As summary, a diagram of a conventional FCS-MPC algorithm is shown in Fig. 2.
In practice, a nonnegligible computational delay exists such that u opt k cannot be applied exactly at time step k. The mainstream solution to address this delay involves one extra prediction step from time step k to time step k + 1 assuming that the control input u k is maintained during the sampling interval [16]. Then, the LPH-FCS-MPC is formulated starting from time step k + 1. The additional prediction step is not a part of the horizon N p . For notation simplicity, the idealized formulation of the algorithm disregarding computational delays will be used in the rest of this article.
In order to solve the optimization problem, different algorithms can be considered. For short horizons, such as N p = {1, 2}, it is feasible to apply an ESA. Nonetheless, this method is impracticable for longer horizons. Therefore, the optimization problem needs to be reformulated.

D. FCS-MPC REFORMULATION FOR THE LPH PROBLEM
The optimization problem in (9) can be rewritten as an equivalent ILS-problem. This step is necessary to enable the use of branch-and-bound techniques, such as SDA, to solve the problem efficiently. First, the predicted states (7) along with the output equation (3b) are inserted in the cost function expression. This allows one to write the cost function as a quadratic function of U k [9], [17] where Expressions of matrices ϒ, , S, and E can be found in [9]. The term k is time varying and a function of the state x k and the initial input u k−1 . However, it is independent of U k . Therefore, it is merely an offset to the cost function, which does not influence the solution of the optimization problem. It can, thus, be disregarded. By completing the squares, expression (11) can be further simplified into (13) where U unc k is the unconstrained solution to the optimization problem in (9), or equivalently where the integer constraints in (9b) are not considered. By definition, the matrix W is symmetric and positive definite for λ > 0. Thus, Cholesky factorization can be applied in order to obtain a nonsingular, lower triangular matrix H such that W = H T H [18]. In practical terms, matrix H can be computed noting that its inverse H −1 is also lower triangular and can be obtained by the Cholesky decomposition of W −1 : W −1 = H −1 H −T . The cost function in (13) can then be expressed in terms of the matrix H. Therefore, the original problem (9) takes the form whereŪ unc k = HU unc k . Through the definition of the matrix H and its triangular property, the problem is computationally easy to solve. Geometrically, H is a lattice generator matrix that forms a discrete space wherein the solution lies. Thus, the optimization problem is now equivalent to finding the optimal switching sequence U k with the shortest distance toŪ unc k in the transformed space. This problem is known as the closest vector problem (CVP) or the closest point search [19].

E. CLOSEST VECTOR PROBLEM (CVP)
The CVP or closest point search was formally introduced in [19] as the postoffice problem, and has since been studied in depth in the fields of mathematics and computer science, where it is also known as the box-constrained integer least squares (BILS) problem. BILS is also a target of study in communication theory for modulation and decoding applications [20], [21], [22]. In the BILS problem, one seeks to efficiently enumerate candidates that fulfill the box-constrained condition in order to find the solution. Within the LPH-FCS-MPC framework, this is equivalent to finding the optimal switching sequence U opt k that fulfills the switching constraints in (15b).
Suppose an initial candidate solution U ini k of a switching sequence is available. This initial candidate solution must fulfill (15b). By definition, the candidate solution defines a hypersphere S ini of radius ρ ini around the unconstrained solution in the space created by the generator matrix H [23] where k =Ū unc k is the hypersphere center. The optimal solution U opt k is, by definition, contained in the hypersphere, thus it must fulfill The selection procedure of the initial solution will be discussed in Section IV-B.
The main mathematical property that is fundamental to solving the BILS problem is that only candidate integer solutions within the hypersphere (centered at the unconstrained solutionŪ unc k ) need to be considered. The integer solution with the smallest (squared) distance to the unconstrained solution is the optimal solution. Solutions outside of the sphere are, by definition, suboptimal and do not need to be further considered.
This property is crucial because it can be exploited to address the computational complexity of the BILS problem, which is NP-hard 2 [24], [25]. The squared distance can be evaluated separately in each dimension. Each component of U k adds a partial cost that is sequentially calculated and added in order to compute the cost of a complete switching sequence U k . Thus, for each 1-D component, the partial squared distance is calculated as is the partial vector formed by the first i elements of the ith row of matrix H. In this case, i is the considered component of the switching sequence U k . During the search strategy, it is desired to reach the last component so that ρ 2 (i) yields the complete cost of the evaluated candidate U k . Then, the decision to update the incumbent solution can be made, guaranteeing convergence to the optimal solution during the process. Conveniently, it is possible to stop exploring a candidate in an intermediate component i if the partial cost exceeds that of the incumbent. In this case, it can also be guaranteed that the subsequent components will only increase the squared distance and, thus, it can be pruned from the search space. In practical terms, this allows one to remove possible candidates and progressively reduce the FCS in a process that is known as bounding.

III. BASIC SEARCH ALGORITHMS
The search strategy is a crucial aspect to solve the optimization problem. This section is dedicated to introduce the main search methods that were proposed in the literature to solve the BILS problem. The search starts with the first element in the switching sequence at time step k and then proceeds forward in time until time step k + N p .
To illustrate the search process, a search tree with n u N p levels, as shown in Fig. 3, is usually constructed with the different candidates. Each level contains a fixed number of nodes that represent possible individual switching sequences from the top level of the tree to the bottom level i. These nodes are par- Efficient search of the different branches in the tree is paramount to conclude the search process as fast as possible. To this end, several search algorithms have been proposed in the general BILS literature.

A. BACKGROUND OF SEARCH ALGORITHMS FOR BILS
An overview of the main conventional search algorithms for the CVP can be found in [26]. In total, two techniques can be especially highlighted for their importance: The Pohst [27], [28] and Kannan [29], [30] strategies. Their most fundamental difference is that Pohst's proposal examined lattice points lying inside a hypersphere while Kannan used polytopes. The vastly popular Schnorr-Euchner method provided a refinement of Pohst's ideas with a more efficient enumeration of points [31]. Methods based on the usage of hyperspheres are collectively known as sphere decoders. One of the most relevant topics for researchers is to seek further refinements of these strategies to improve the efficiency of the sphere decoder and solve increasingly complex problems [26] [32].
For LPH-FCS-MPC, seminal work [9] introduced the usage of the SDA to solve the problem. A modified sphere decoder based on the Pohst method was proposed and adapted to the power converter control problem. Since then, and analogously to the CVP research, great attention has been paid to the optimization algorithm design, as efficient search was revealed to be a crucial aspect to unlock the full performance potential of LPH-FCS-MPC. For instance, computational variability is a relevant aspect of SDA as the position of the unconstrained (or target) solution in relation to the lattice points can greatly impact the required time to obtain the optimal solution. Conveniently, many of the concepts developed within the CVP theoretical framework can be applied to the LPH-FCS-MPC problem. For example, computational variability is also an undesirable feature in this field. As a means to solve this  issue, K-best SDA techniques have been proposed in the literature [33], [34]. The K-best SDA also searches within a hypersphere; however, it presents a different search strategy that fixes the amount of explored lattice points, as will be discussed in Section III-C.
In the vast CVP literature, it is also possible to find other algorithms differing further from sphere decoders. As examples, consider the iterative slicer [39] or the Micciancio-Voulgaris [40] algorithm, which use the concept of Voronoi cells to explore the lattice points in a different manner. These methods reduce the variability in the computational complexity but tend to incur a higher computational burden when used for LPH [41].
For this reason, the discussion in this article will focus on the most relevant search strategies used for LPH-FCS-MPC, namely the Conventional SDA and the K-best SDA. A comparative summary of both algorithms is provided in Table 1. Their search strategies are also depicted in Fig. 4 with a search tree for an FCS such that U k ∈ {0, 1} 3 .

B. CONVENTIONAL SDA
The conventional SDA adopts a depth-first search strategy by progressing as quickly as possible to the bottom layer i = n u N p . For this, vertical advance from a parent to a children node is prioritized (blue arrows). The partial cost of each node is compared with the total cost of the current incumbent candidate (yellow square). If this quantity exceeds the incumbent's total cost, it is guaranteed that the subsequent nodes in this branch will not yield an optimal solution. Thus, these children nodes do not need to be explored and can be discarded. This is done by performing a sidetracking movement (yellow arrows), for which a different switching position U k (i) is assessed at the current tree layer i. If all the individual switch positions originating from a parent node have been explored and none of them yielded a better candidate than the incumbent, the branch can be pruned (branches in grey), effectively removing all the subsequent children of red triangle nodes from the search space. This is done by performing a backtracking movement (red arrows), by moving one layer up, which corresponds to the parent node (i − 1). Several backtracking movements may be performed until an appropriate parent node is found with children nodes remaining to be explored.
The SDA provides a certificate of optimality. This happens when the optimal termination criterion is achieved during the search stage. This criterion consists in backtracking to the root node of the tree. At this point, the search process can be stopped and the incumbent solution is guaranteed to be optimal (green node) even if several branches have been pruned. Therefore, the SDA typically achieves a significant reduction in the computational burden compared with exhaustive enumeration while nevertheless obtaining the optimal solution to the problem. This feature has been a key factor to enable the practical application of LPH-FCS-MPC.
Despite this progress, there is still an important drawback to the conventional SDA method, namely, its inherently high computational variability. This feature is particularly critical in LPH-FCS-MPC applications because power converter controllers operate with a hard timing constraint. For this reason, it is necessary to introduce computational upper bounds that limit the amount of explored nodes so that a solution is made available within the given time, even if it is suboptimal [42]. If the number of explored nodes reaches the limit, the early termination criterion is triggered and the SDA search ends prematurely. As a consequence, the certificate of optimality is lost and a certain degree of suboptimality is introduced [35]. This can degrade the performance of LPH-FCS-MPC. Nevertheless, feasibility of the solution is ensured, i.e., the solution meets the FCS integer constraint.

C. K-BEST SDA
The K-best SDA proposes a breadth-first strategy. In each tree layer, a maximum number of 2K b nodes are explored. Following the breadth-first principle, horizontal assessment of nodes is prioritized. Thus, in layer i, n i = min{n av i , 2K b } nodes are evaluated. Here, n av i is the number of existing nodes in the current layer. Generally, n i = 2K b due to the exponential growth of n av i . Once the n i partial costs have been computed, n opt i = min{n i , K b } nodes are selected as surviving nodes. These nodes are further extended to the next layer i + 1. Thus, the algorithm only advances in depth once the search in one horizontal layer has been completed. When the horizontal search of the last tree layer is finished, the best solution at that point is selected.
As can be inferred, there is no optimality certificate in this algorithm, as several branches can be discarded prematurely. Nonetheless, the related literature highlights that the likelihood of optimality rapidly increases as the value of K b is increased with noticeable practical success [43]. The main advantage of the K-best strategy lies in its inherently fixed computational costs. Also, it eliminates the need for the selection of an initial candidate or the need for backtracking to previous levels. Other works in the literature also cite a better suitability for parallel hardware implementation in comparison with the conventional SDA. However, it relies on costly sorting operations [43]. Within the LPH-FCS-MPC paradigm, K-best SDA has been first used in [38]. However, only simulation results and short prediction horizons (N p = {1, 2}) were provided and implementation concerns were not addressed. Latter, it was experimentally validated for LPH in [36].

IV. LPH IMPLEMENTATION CHALLENGES AND SOLUTIONS
FCS-MPC reformulation to a BILS problem, alongside the definition of sphere decoding optimization methods, was the first step to enable the study of LPH-FCS-MPC. However, first, LPH-FCS-MPC works were only simulation based [44], [45], [46]. This is because the problem is still inherently challenging in terms of implementation design and computational burden. Consequently, beyond having an accurate prediction model and properly selecting and tuning the cost function [47], the optimization algorithm is also crucial in determining the overall controller performance. Thus, one must carefully design and implement the search strategy.
This section provides an analysis of the main solutions proposed in the literature to overcome several of the challenges that researchers face to implement an LPH-FCS-MPC technique. These proposals can be classified in two main groups that are studied in their respective subsections: implementation techniques and preconditioning techniques. The former focus on the improvements of the search stage for efficient implementation while the latter attempt to introduce modifications in the problem definition or in the search prerequisites so that less nodes are explored.

A. IMPLEMENTATION TECHNIQUES
Regarding implementation of digital controllers for power converters, microprocessors and digital signal processors (DSP) are still the main protagonists in both industry and academia. One can find inexpensive models that offer very specialized computational capabilities and suitable peripherals for each application. Also, software design methods for these platforms are usually preferred by practitioners in this field. However, these platforms are computationally limited and their usage is generally discouraged to achieve highperformance LPH-FCS-MPC.
To solve this, the concept of field programmable system on chip (FPSoC) has emerged with noticeable momentum. In essence, an FPSoC is an embedded control platform that provides several microprocessor cores and an field programmable gate array (FPGA) fabric on a single chip. This allows designers to combine existing high-level software solutions with the powerful parallel computing possibilities of FPGAs on a single chip with internal and fast communication between the different computational elements [48], [49]. There exists a wide range of product families that are offered by various manufacturers at different prices. Thus, it is possible to find very cost-competitive solutions that nevertheless offer a performance that exceeds that of a traditional DSP. Following this trend, different works delve into FPSoC platforms to implement LPH-FCS-MPC. By doing this, researchers have broadened the amount of computational resources at their disposal and have accordingly developed several advanced techniques that will be described in the rest of this section. A comparative summary of these techniques is given in Table 2.

1) RAPID CONTROL PROTOTYPING (RCP)
First, experimental validations of LPH-FCS-MPC were made possible, thanks to RCP platforms. In works, such as [11] and [17], a DSPACE system is used to implement the controller, generally reaching N p = 4 and sampling frequencies of 8 or 10 kHz. The employed search strategy was the conventional SDA.
RCP platforms offer powerful hardware similar to FP-SoC platforms alongside high-level software programming support. Most notably, these platforms can be programmed from typical simulation software, such as MATLAB Simulink. Also, manufacturers provide built-in and intuitive monitorization tools that simplify many of the typically required tasks to safely operate a power converter. Thus, translation from simulation to experimental prototypes is very straightforward. The main drawback of these solutions is their high cost, which renders RCP platforms generally unsuitable for industrial and commercial application. Another concern is that by using high-level programming, the potential to achieve computationally efficient designs can be limited.

2) NONRECURSIVE SDA
The nonrecursive SDA provided a reformulation of the conventional SDA of [9] that avoids recursion by introducing pointers. This allows the implementation of the SDA on the FPGA of an FPSoC [13] using the standard SDA search strategy as in [9]. In the proposed implementation, several of the matrix operations required in the algorithm's preliminary stages could be parallelized to increase performance. The design achieved N p = 5 with sampling frequency of up to 40 kHz in a direct current control problem for a three-level NPC converter. However, in this method, the search stage is still performed sequentially. The design was implemented in a low-cost Intel Altera platform and followed a hardware description language (HDL)-based design workflow.

3) HLS-BASED SDA
Some interesting proposals involve the usage of high-level synthesis (HLS) techniques. HLS is a family of automatic hardware code generation tools that seek to facilitate the transition of software designers to hardware platforms. Fundamentally, HLS attempts to automatically transform software code into firmware for the FPGA, avoiding the usage of HDL. Discussion about automatic generation tools is still ongoing. Manufacturers are investing in developing and improving HLS to make FPGA devices more accessible to designers [53]. Ideally, it would desirable to reduce the application development time and effort close to RCP platforms levels with costs that are reasonable for production and commercialization. While HLS has vastly improved in recent years, some drawbacks still persist. Design effort reduction is palpable, but there is still progress to be made. Also, HLS cannot generally match the efficiency of native hardware designs in terms of timing and area consumption [54], [55]. This might translate into higher requirements for the targeted FPSoC platform, i.e., a low-cost device might not suffice.
An HLS-designed SDA is proposed in [50]. In this article, the nonrecursive SDA formulation is coded in software, then transformed to FPGA code by means of Xilinx's HLS tools. Guidelines to accomplish this process are provided in this article alongside hardware-in-the-loop (HIL) verification.
The results indicate the validity of the proposal in terms of execution time, reaching N p = 4 with sampling frequency of up to 40 kHz. However, FPGA resource consumption is high, leading to increased hardware requirements. In particular, a Zynq Ultra-Scale+ platform is used in this work, which belongs to the high-cost family of Xilinx products.

4) PARALLEL SDA
In [35], a parallel SDA is proposed to achieve concurrent search of the SDA tree. To this end, a parallelization method that effectively decouples the evaluation of different regions in the search space is described and implemented. Up to this point, the literature in this field considered the SDA as an iterative method where information from previous layers is always needed to evaluate the current node. Thus, true concurrent search was not considered [50]. Zafra et al. [35] proposed to divide the search space in equally sized regions that are explored by independent sphere decoders. Internally, these sphere decoders follow the same search pattern described in Section III. An important property of parallelizing the tree structure is that in each region different incumbent solutions will be found during the search stage. This information is shared by the parallel sphere decoders so that the global incumbent solution is used to decide if branches are pruned. This allows one to further tighten the incumbent hypersphere and accelerate the search process. This technique is implemented on a Zynq-7000 board, which belongs to the low-cost family of the Xilinx FPSoC portfolio. Application to a twolevel inverter with output LC filter and voltage regulation control problem is achieved up to N p = 6.

5) K-BEST SDA
Some of the concepts developed for the implementation in [35] are also applied in [36], where a parallel implementation of the K-best SDA is proposed. In this work, the inherent parallelization of K-best SDA is exploited by proposing a design where the 2K b explored nodes in each layer are computed in parallel. The U k partial candidates, alongside their partial costs, are stored in a matrix. Sorting operations are performed in this matrix in order to select the K b survivors that will be further developed to the next tree layer. To make efficient use of the FPGA platform, the usage of bitonic sorting networks was proposed. This is more advantageous for hardware implementation as calculation times can be greatly reduced with moderate FPGA area consumption. One of the main conclusions of this work is that for equal number of explored nodes, the K-best SDA can reduce the proportion of suboptimal solutions in comparison with the conventional SDA even for a low number of parallel blocks.

B. PRECONDITIONING TECHNIQUES FOR SDA
Regardless of the selected search strategy, proper problem conditioning is crucial to alleviate the computational burden. Preconditioning techniques include methods to select the initial candidate hypersphere and techniques that reformulate or transform the optimization problem before starting the search stage.

1) STANDARD SDA INITIALIZATION
As mentioned in Section II-E, depth-first SDA techniques require to obtain an initial control input sequence candidate, U ini k . Geometrically, these two vectors U ini k and U unc k form an initial sphere, S ini , as per (16). In order to reduce the computational time required to obtain U opt k , the initial sphere S ini should be small enough containing as few candidate solutions as possible, but should not be empty. In [9], it is proposed to initialize the SDA by considering an educated-guess initial vector, U eg k , which is obtained by shifting the previous optimal solution, U opt k−1 , by one time-step and repeating the last optimal input, i.e., This initialization method, i.e., ρ ini k = ρ eg k , is particularly suitable for steady-state operations, since it exploits the MPC receding horizon policy, and U eg k is feasible since satisfies the constraints in (9b).
In [45] and [42], the Babai estimate method is introduced and assessed. The Babai estimate is obtained by rounding the unconstrained solution to the closest integer vector In more recent works, the initial hypersphere is selected as the minimum of both techniques [13]  These techniques are widespread in LPH-FCS-MPC works as they generally provide a good initial sphere candidate. However, several works in the literature have proposed alternative techniques to enhance the initial candidate selection.

2) SDA INITIALIZATION FOR TRANSIENT OPERATIONS
An illustration of the optimization process during a transient operation is depicted in Fig. 5. This example is shown for an FCS U of nine control input vectors (gray solid circles). Here, C H represents the convex hull of the FCS U [56], i.e., which as per definition, C H is the smallest convex set in which U ⊂ C H . Moreover, the ellipses centered in U unc k represent the level sets of the original optimization problem (15). The matrix H in (15) introduces a linear transformation that generates a new transformed space in Fig. 5(b). In this space, the original ellipses are transformed into circles, S, (spheres for larger dimensions) centered in k =Ū unc k = HU unc k , as per (16). In fact, this is space where the SDA operates. During transients, the system output y k might be far away from its reference y k . In this case, a large actuation is required to lead it back to its reference. This can place U unc k far away from C H ; see Fig. 5(a). In this situation, no matter what initial candidate U ini k is chosen, a large initial radius ρ ini will be always obtained. To overcome this problem, a computationally efficient preconditioning approach for the SDA during transient was proposed in [12], [17], and [57]. This approach consists of obtaining a new center k for SDA during transients by projecting U unc k onto the boundary of C H . This is achieved by solving the following box-constrained quadratic programming (QP) problem: This projection is depicted in Fig. 5(a). Several algorithms are available to solve this box-constrained QP problem [56]. Particularly in [57], an exterior point active set strategy was used to practically implement this preconditioning method. Based on this projection, a new ILS-problem can be written asŨ whereŪ bc k = HU bc k acts as a new sphere center for the SDA, see Fig. 5(b). Then, this vector U bc k is sequentially quantized to take into account the level constrain (9c), leading to In this way, a new initial sphere during transients is obtained Consequently, during transients, S sq is considerably smaller than other initial hyperspheres provided by standard methods. Moreover, S sq is a nonempty set that provides at least one feasible solution since HU sq ∈ S sq . This situation is depicted in Fig. 5(b), where this transient preconditioning approach provides a smaller initial circle during transients, leading to a reduced computational burden. This initialization approach has been experimentally validated in [57] for grid-connected inverters and in [17] for electrical drives.

3) LATTICE BASIS REDUCTION
To minimize the number of nodes explored in the SDA, the lattice generator matrix H should be as orthogonal as possible. This improves the so-called conditioning of the optimization problem (9) and reduces the time required to solve it. To this end, the Lenstra-Lenstra-Lovasz algorithm [58] can be applied, which is a lattice basis reduction method. As proposed in [59], the Lenstra-Lenstra-Lovasz algorithm transforms H to a new upper triangular matrixH whose diagonal entries are arranged in an ascending order and whose off-diagonal entries are minimized. This improves the conditioning of the optimization problem. The search tree is built from the bottom to the top, with the 1-D nodes being located at the bottom and the higher-dimensional nodes located at the upper layers of the search tree. As a result, the SDA operates from the bottom to the top. As shown in [59], the number of nodes explored is reduced by about 45% when compared with the original SDA without lattice basis reduction. Because the Lenstra-Lenstra-Lovasz algorithm requires only a few simple computations, the reduction in the computational burden is also close to 45%.

4) HYBRID SDA
The Hybrid SDA proposed in [37] combines the two basic search strategies described in this manuscript in the same  search stage. The K-best SDA finds an initial solution. This switching sequence is guaranteed to accomplish the problem constraints and, thanks to the K-best SDA efficiency, it will be a remarkably tight hypersphere, leaving a very reduced number of lattice points inside. Then, a Conventional SDA completes the optimization stage by searching in the nodes remaining in the bounded search space. Thus, the hybrid SDA can be seen as an SDA initialization technique.
Results in [37] contrasted this initialization method against standard SDA initialization and reported its superiority for a wide range of operating points. In terms of performance per FPGA resources, the Hybrid SDA concept is beneficial in contrast to just using one technique as combining two different search strategies can correct their inherent shortcomings or biases when searching lattice points. Other schemes to share the search task between depth-first and breadth-first methods have been proposed in the general BILS literature [60], [61]. Table 3 presents a summary of the applications and power converter topologies where LPH-FCS-MPC has been successfully applied. For convenience, works providing experimental results have been marked as red, works with hardware-inthe-loop-based verification have been marked as black, and simulation-only works are highlighted as blue. As can be seen, two-level and three-level voltage source inverters (VSI) are the most popular topologies. Particularly, medium-voltage motor drive applications have received great attention in the LPH-FCS-MPC literature.

C. PRACTICAL RESULTS
To represent the behavior of LPH-FCS-MPC, excerpts from [13] and [52] are depicted in Figs. 6 and 7. The interested reader is referred to works referenced in Table 3 for the further validation of these strategies in other applications. The 1) A remarkable improvement of the harmonic distortion to switching frequency ratio can be achieved at steady-state operation when selecting longer N p . This is noticeable in the provided figures since harmonic distortion is equal to or lower at equalf sw and higher N p . 2) Diminishing returns emerge as the performance benefits become smaller with long N p . In both systems, it is noticeable that increasing N p from 3 to 5 provides a lower THD reduction than when increasing N p from 1 to 3. 3) In systems with order higher than one, performance improvements are more noticeable as the extended N p allows the controller to avoid switching sequences that excite the resonances in the system. For the first-order system, N p = 5 can achieve a THD reduction of up to 20% in comparison to N p = 1. In the second-order system, the THD can be halved by setting N p = 5 in contrast to N p = 1. 4) Performance can be degraded due to suboptimality. An interesting observation can be made as N p is increased from N p = 5 to 7. It can be seen that for higher switching frequency values, performance can be degraded. This is related to the observation that for the same setup, the switching weighting factor has a strong influence on the search stage computational costs [35]. Particularly, higher weighting factor values help the algorithm to discard a greater amount of nodes, i.e., the optimization problem is harder to solve iff sw is higher. For this reason, the controller selects suboptimal solutions in more instances and performance can be degraded. 5) Regarding transient-state performance, the main conclusion in the surveyed works is that the fast dynamic response of one-step FCS-MPC is preserved for longer N p . 6) When setting N p the general rule of thumb is to choose the longest N p that ensures that the computational burden can be handled by the selected control platform, avoiding any time overruns or control outcome degradation due to suboptimality. To achieve the latter, a simulation model can be used to assess suboptimality and performance degradation under the computational limits that will be imposed in the control hardware. This can deliver a good estimation of the maximum N p value that can be selected in the real setup.

V. FUTURE TRENDS AND OPEN TOPICS A. SAMPLING FREQUENCY, SWITCHING FREQUENCY, AND PREDICTION HORIZON
The choice of sampling frequency is also an important topic that has a direct impact on the closed-loop performance. In FCS-MPC, the absence of a modulator implies that switching can only be performed at the discrete time instants. Thus, increasing the sampling frequency improves not only the discretization accuracy but also the granularity of switching [6], [75]. For instance, in [6], it is recommended as a general rule to select a sampling frequency two orders of magnitude higher than the switching frequency and set the desired f sw by tuning an adequate switching effort penalty. Even though high sampling frequencies are considered beneficial in FCS-MPC applications, achieving this is computationally challenging as it requires low execution times of the control algorithm. This is particularly difficult for LPH. In this context, LPH-FCS-MPC for high-frequency applications, such as wide-bandgap (WBG)-based power converters, is not straightforward as switching frequencies ranging from several tens to hundreds of kHz are typically desired in newer Silicon carbide (SiC) or Gallium nitride (GaN) devices. Furthermore, considering computational limitations, it would be necessary to set a switching effort penalty equal to or close to zero, for which extending N p offers small or zero performance improvement [6]. MPC strategies with explicit modulators can be a more desirable option in this case. Besides the sampling interval, another crucial parameter is the length in time of the prediction horizon, i.e., the prediction window. This can be expressed as N p T s , which depends on the number of prediction steps N p and the sampling interval T s . The impact of these two parameters on the closed-loop performance of an induction machine drive is explored in [44]. It can be seen that both influence the closed-loop performance. This is particularly the case for higher order systems, i.e., systems with more than one energy-storage element, such as systems with an LC filter. For these, an LPH length in time is crucial to allow the controller to predict any resonance effect and to endow it with the capability to actively dampen it. As shown in [46], the prediction horizon length in time should cover a significant fraction of the oscillation period of the resonance. More details are also provided in [6]. Regarding the switching frequency, it is reported in works, such as [44], that long N p leads to a higher degree of repetitiveness in the switching patterns. However, the characteristic spread spectrum of FCS-MPC is still present in LPH-FCS-MPC, even though it is less pronounced. This can be a problematic feature for grid-connected applications where ensuring a deterministic spectrum is important for an efficient design of the passive elements. To overcome this issue, there is an ongoing research effort to propose different techniques to achieve a more discrete spectrum [76], [77], [78], [79] or to shape the harmonic spectrum according to harmonic grid codes [80]. The former is applied to one-step FCS-MPC, and the study of their extension to the LPH-FCS-MPC problem is required. The latter is formulated for LPH-FCS-MPC. The proposal involves the introduction of the discrete fourier transform alongside spectral penalties in the quadratic cost function expression. While promising, experimental validation of the proposed methods is required.
In conclusion, it is possible to find some general guidelines to tune the switching and sampling frequencies. However, discussion on the topic is limited and each application requires a careful analysis to find the optimal tradeoff between granularity of switching and prediction window length [6]. Further studies are also necessary to include computational limits in the tradeoff analysis. This is because both the sampling frequency and N p cannot be increased indefinitely without excessive computational costs.

B. COMPLEX SYSTEMS AND ADVANCED FORMULATIONS
An important challenge of LPH-FCS-MPC is the extension of complex FCS-MPC formulations to the LPH paradigm. Generally, FCS-MPC offers great flexibility to address the control problem of complex systems, including constraints, nonlinearities, or multiple control objectives. However, translation to the BILS formulation is generally not straightforward.

1) MULTIOBJECTIVE CONTROL
A standard cost function has so far been considered (8). In this formulation, the control of a single output variable (typically in stationary orthogonal coordinates) is expected. For multivariable control, which requires the tuning of the tradeoff between different variables, a more general cost function expression is required [46] In this cost function expression, ξ 2 Q = ξ T Qξ is a quadratic term in the output vector error that is weighted with the diagonal matrix Q ∈ R q×q . The term involving R is similarly defined, with R ∈ R r×r . Recall that q and r are the size of the output and input vectors, respectively. Through this formulation, it is possible to consider an output vector with several different variables that the controller will attempt to regulate. The weighting matrix Q is typically diagonal, and its terms define the different penalties for each output variable. High penalties indicate to the controller to prioritize the regulation of the variable in that specific component over the remaining output variables. The switching effort weighting matrix R can be expressed in its standard form by choosing equal values for its diagonal entries so that R = λI.
An early example of a multiobjective problem was investigated in [46], which considered a three-level converter with an LC filter and an induction machine. FCS-MPC with an LPH of up to 20 steps was considered, albeit it only in simulations. The case of a two-level four-leg grid-connected inverter was studied in [63].
The interface with the grid consists in an LCL filter that represents a challenging control problem due to the system order and the several involved system variables. The underlying multivariable control problem in this case study was studied for N p = 1 in [81]. In this work, the different state feedback control possibilities for the grid-connected VSI with LCL filter are explored for standard FCS-MPC. The work in [63] extends this work to LPH. In particular, results indicate great benefits of LPH, particularly when attempting direct grid-side current control. LPH allow the controller to detect switching sequences that will further excite the filter resonances and avoid them.

2) AVOIDING THE TUNING OF WEIGHTING FACTORS
As future work in this topic, the weighting factor tuning problem is highlighted. As can be deduced from (27), the different penalties in Q and R are highly coupled and depend on other parameters, such as N p or f s . An approach that aims to solve this issue is known as sequential MPC, proposed first in [82] for the N p = 1 case and adapted to LPH in [73]. In sequential MPC, the optimization problem is divided into several subproblems, with each of them focusing one term of the original cost function. The main control objective is selected as the first optimization problem to solve. In this first optimization stage, several local optimal candidates are selected. These candidates enter the second optimization stage, which seeks to optimize a secondary control objective. This stage can be solved through exhaustive enumeration as the set of control inputs has been reduced to the best solutions from the first stage. The main benefit of these technique is the elimination of weighting factors. However, the selected solution at the end of the optimization chain is often suboptimal, as shown in [6]. Alternatively, it is sometimes possible to avoid the tuning procedure altogether and to analytically compute the desired weighting factors. This is the case when controlling the electromagnetic torque and the stator flux magnitude in of an electrical machine. To minimize the current harmonics, the torque and flux error terms should be as close as possible to that of predictive stator current control. Based on this requirement, a simple analytical equation can be derived that determines the weighting factors in terms of the machine parameters [83]. In doing so, the benefits of directly controlling the torque and flux magnitude are combined with minimal current distortions.
The weighting factor on the switching effort can be avoided as well [84]. A state variable that captures the switching frequency is introduced and regulated along a switching frequency reference. As a result, the switching frequency can be explicitly set and tuning of the switching effort is avoided.

3) NONLINEAR SYSTEMS
BILS transformation is generally performed under the assumption that the plant is a linear system with integer inputs. Thus, applicability of this theory to nonlinear systems is limited and can be considered an open problem.
In the literature, there are several research works addressing this situation. A typical case study that incurs nonlinear terms in the system model is that of a three-level NPC inverter, for which the NP potential is to be balanced. This problem was first studied for LPH-FCS-MPC in [65]. In this work, it is proposed to perform an a priori restriction of the search space depending on the effect that the different switching states have on the NP potential balancing. In this method, an admissible error band for the NP potential is defined in which the entire search space can be considered. When it is detected that the NP potential exceeds the defined threshold, only switching states that can potentially bring the NP potential back into the desired band are considered during the search. This proposal is intuitive and only requires moderate algorithm modifications. However, the solution will be inherently suboptimal in terms of achieving the control goals due to the a priori restriction of the search space.
In [66] and [67], linearization methods are proposed in order to address the underlying nonlinear terms and apply the BILS transformation of a multiobjective problem following a formulation analogue to (27). Through this strategy, an a priori restriction of the search space and the subsequent suboptimality are avoided. However, linearization errors appear. Both the a priori restriction of the search space and the linearization methods are extended and compared with each other in [74] using as a case study a three-level NPC back-to-back wind turbine system.
Future work in this direction should address the extension of these techniques to a wider range of topologies that present nonlinearities.

4) SYSTEM CONSTRAINTS
System constraints are limits imposed on the output or state variables in order to ensure the safe operation of the system and its protection against overcurrents and overvoltages. For standard one-step prediction FCS-MPC, considering these safety constraints is relatively straightforward. However, solving the constrained optimization problem is challenging when adopting LPH strategies. This is because the translation of these constraints into a bounded control input set is nontrivial.
Constrained LPH-FCS-MPC is studied in [85] and [86]. In these papers, the current is bounded at the next time step k + 1 as a state constraint. It is proposed to define a new hypersphere based on the feasible control set according to the corresponding state constraints, i.e., the state or output constraints are translated to input constraints to be considered in the optimization problem.
The main challenge remaining in this topic is to constrain state or output variables not only at time step k + 1 but throughout the prediction horizon, and to experimentally validate and analyze in a practical setup the proposed constrained LPH-FCS-MPC technique.

5) PARAMETER MISMATCHES
Generally, the sensitivity of FCS-MPC to parameter uncertainties is cited as one of its main caveats. FCS-MPC is capable of achieving a superior performance if the prediction model is an accurate representation of the system plant. However, real equipment presents different tolerances and measurement uncertainties. Also, several of the key parameters in the system can be dependent on several time-varying factors, such as temperature or the operating point. Objective evaluation of FCS-MPC under parameter mismatch renders the conclusion that if the parameter mismatch is sufficiently large, accuracy of the prediction steps is noticeably lost, especially at steady state, leading to a higher ripple and a steady-state error [87]. Due to this, robustness in FCS-MPC is the focus of several research works that propose different techniques to overcome this issue. Among these works, the main trend is the usage of disturbance observers [88], [89] or model-free predictive controllers (MFPC) [90], including ultra-local model-based MFPC [91].
For LPH-FCS-MPC, research work [68] studies the effects of parameter mismatches in an induction motor application. A similar approach is followed in [70] for PMSM. These papers propose the addition of an integrating element to the control scheme. The proposal involves the usage of the velocity model of the plant. In this form, the increments of the system state, input, and output variables are used rather than their discrete instantaneous values. By using this alternative formulation, the problem is still compatible with all the theory and techniques developed for LPH-FCS-MPC, but it also allows one to introduce an integrator term which can deal with parameter uncertainties in the system. However, this proposal faces an important drawback, as the addition of the integrator term reportedly causes instability issues for low switching penalty values, thus its general use is not recommended. A more in-depth robustness study for LPH-FCS-MPC is offered in [69]. In this article, it is proposed to perform an analysis of the main parameters that have the greatest potential to degrade performance in a motor drive if the parameter value deviates. Based on that, an estimation algorithm is defined that provides estimates of the stator and rotor leakage reactances that allows one to update the prediction model accordingly at a rate equal or slower than the FCS-MPC algorithm. Results in [69] show greatly improved robustness with modest added complexity in terms of control formulation or computational cost. In [71], a moving horizon estimator-based disturbance observer is proposed to address all the unmodeled mismatches and uncertainties.
As can be seen, while there are some promising results regarding this topic, further work is necessary to fully develop the framework of robust LPH-FCS-MPC. Particularly, extension to a wider range of topologies and applications is necessary.

C. ARTIFICIAL INTELLIGENCE (AI)
In recent years, the concept of AI has become a mainstream term that is receiving great attention from academia, industry, and the public. Thanks to the great capacity of AI to find patterns in large datasets and imitate complex functions, there is a vast number of fields studying the application of AI-based approaches to solve problems in a more efficient manner than analytical solutions [92]. In power electronics, interest in these type of solutions is also attracting the attention of researchers, particularly to address some of the known open issues of FCS-MPC In [93], [94], and [95], artificial neural networks (ANN) are used to select the optimal weighting factors of the cost function. It is also possible to find works that propose the usage of ANN to imitate the control algorithm. In [96], an ANN-based control strategy is proposed for the output voltage control of an UPS. The ANN is trained with a conventional one-step FCS-MPC. The design is validated only with simulation results. In [72], an ANN is used to learn the LPH-FCS-MPC problem up to N p = 5. However, the experimental assessment is not provided. In [97], an ANN is proposed to imitate the behavior of conventional FCS-MPC up to N p = 3. However, usage of the conventional FCS-MPC formulation limits the achievable N p . Also, the control effort term is not considered in the cost function. Thus, extending the N p should not render an improved response in comparison to one-step FCS-MPC [6]. Recently, an ANN-based sphere decoder was proposed in [62]. This work maintains the LPH-FCS-MPC framework as illustrated in this article, but replaces the search strategy with an ANN trained to learn the ideal SDA. This provides a flexible method to solve the optimization problem with fixed and low computational costs that can be implemented in a modest microprocessor and achieve similar performance to FPGA-based designs.
Beyond ANN, there are other AI related concepts with promising potential to be applied to FCS-MPC. For instance, Liu et al. [98] followed a fuzzy logic approach similar to ultra-local MFPC, where the unknown, nonlinear parts of the model are approximated using an estimator based on fuzzy logic. Results report remarkable robustness improvements compared with standard FCS-MPC. However, extension to LPH-FCS-MPC is still an open topic.

VI. CONCLUSION
The availability of control hardware with high computational power is allowing the successful application of LPH-FCS-MPC. This article provides a survey of the state of the art for this technology, describing the control problem, the main methods, their implementations, and future trends of LPH-FCS-MPC. As a summary, this control approach can provide an improved closed-loop performance with reduced harmonic distortions and lower switching power losses.
Despite the benefits of the LPH-FCS-MPC for power converters, some challenges and open research topics still exist to support and facilitate the adoption of LPH-FCS-MPC in industry. In particular, a deterministic and well-defined switching frequency is required with deterministic power converter losses. The need to tune weighting factors by trialand-error methods should be avoided. Instead, analytical rules for weighting factors should be established, and the switching frequency (or losses) should be constant and a design parameter. Harmonic grid codes should be met, which requires a deterministic harmonic spectrum; even-and interharmonics should be minimized or even avoided. State constraints are required to ensure the operation within the safe operating area, particularly during large transients, disturbances, and faults. Very LPH (exceeding ten steps) would help to maximize the closed-loop performance. To achieve this, new computational methods beyond the sphere decoder might be required, particularly to address nonlinear systems.