Model predictive pulse pattern control based on small-signal pulse pattern optimization

20220368247 · 2022-11-17

    Inventors

    Cpc classification

    International classification

    Abstract

    Disclosed herein is a method for controlling an electrical converter system that includes: determining a nominal pulse pattern (t.sub.p,i*, Δu.sub.p,i*) and a reference trajectory (x*) of at least one electrical quantity of the electrical converter system over a horizon of future sampling instants, the nominal pulse pattern (t.sub.p,i*, Δu.sub.p,i*) comprises switching transitions (Δu.sub.p,i*) between output voltages of an electrical converter of the electrical converter system and the reference trajectory (x*) indicates a desired future development of an electrical quantity of the converter system; determining a small-signal pulse pattern (ũ.sub.abc(t, λ.sub.p,i)) by minimizing a cost function; determining a modified pulse pattern (t.sub.opt,p,i, Δu.sub.p,i) by moving the switching transitions of the nominal pulse pattern (t.sub.p,i*, Δu.sub.p,i*) to generate modified switching transitions; and applying at least the next switching transition of the modified pulse pattern (t.sub.opt,p,i, Δu.sub.p,i) to the electrical converter system.

    Claims

    1. A method for controlling an electrical converter system, the method comprising: determining a nominal pulse pattern (t.sub.p,i*, Δu.sub.p,i) and a reference trajectory (x*) of at least one electrical quantity of the electrical converter system over a horizon of future sampling instants, wherein the nominal pulse pattern (t.sub.p,i*, Δu.sub.p,i*) and the reference trajectory (x*) are determined from a table of optimized pulse patterns, the nominal pulse pattern (t.sub.p,i*, Δu.sub.p,i*) comprises switching transitions (Δu.sub.p,i*) between output voltages of an electrical converter of the electrical converter system, and the reference trajectory (x*) indicates a desired future development of an electrical quantity of the converter system; determining a small-signal pulse pattern (ũ.sub.abc (t, λ.sub.p,i)) by minimizing a cost function, wherein the cost function includes a small-signal error, wherein the small-signal error is based on a difference of the reference trajectory (x*) and a predicted trajectory (x), wherein impulse strengths (λ.sub.p,i) of the small-signal pulse pattern (ũ.sub.abc (t,λp,i)) encode a voltage-time value at each switching transition of the nominal pulse pattern (t.sub.p,i*, Δu.sub.p,i*), and wherein the predicted trajectory (x) is determined over the horizon from measurements (i, v.sub.c, i.sub.g) in the converter system and from a model of the converter system, into which a sum of the nominal pulse pattern (t.sub.p,i*, Δu.sub.p,i*) and small-signal pulse pattern (ũ.sub.abc (t,λ.sub.p,i)) are input; determining a modified pulse pattern (t.sub.opt,p,i, Δu.sub.p,i) by moving the switching transitions of the nominal pulse pattern (t.sub.p,i*, Δu.sub.p,i*) to generate modified switching transitions, wherein a switching transition is moved by a time interval, such that the time interval times a direction of the switching transition equals the voltage-time value that the impulse strength (λ.sub.p,i) encodes at a nominal switching transition of the nominal pulse pattern (t.sub.p,i*, Δu.sub.p,i*); and applying at least a next switching transition of the modified pulse pattern (t.sub.opt,p,i, Δu.sub.p,i) to the electrical converter system.

    2. The method of claim 1, wherein switching transitions of the modified pulse pattern (t.sub.opt,p,i, Δu.sub.p,i) during a current sampling interval are applied to the electrical converter system, and wherein, during the current sampling interval, the small-signal pulse pattern (ũ.sub.abc (t, λ.sub.p,i)) and the modified pulse pattern (t.sub.opt,p,i, Δu.sub.p,i) are determined again for a horizon starting at a next sampling interval.

    3. The method of claim 1, wherein the cost function is a quadratic function in the impulse strengths (λ.sub.p,i), which are arranged into a vector of impulse strengths (Λ), wherein the cost function comprises a quadratic term with a model matrix (V), which is multiplied at both sides by the vector of impulse strengths (Λ) and a linear term with a model vector (c) multiplied by the vector of impulse strengths (Λ), and wherein the model matrix (V) and the model vector (c) are determined from measurements (i, v.sub.c, i.sub.g) in the converter system, the reference trajectory (x*), and the small-signal pulse pattern (ũ.sub.abc(t,λ.sub.p,i)) such that the cost function encodes the small-signal error.

    4. The method of claim 1, wherein the cost function additionally minimizes a magnitude of the impulse strengths (λ.sub.p,i).

    5. The method of claim 1, wherein the cost function comprises a quadratic term with a penalty matrix (R), which is multiplied at both sides by a vector of impulse strengths (Λ).

    6. The method of claim 1, wherein the small-signal pulse pattern (ũ.sub.abc(t,λ.sub.p,i)) is determined by minimizing the cost function subject to constraints, and wherein the impulse strengths (λ.sub.p,i) of the small-signal pulse pattern (ũ.sub.abc (t,λ.sub.p,i)) are constrained, such that the modified switching transitions in the same phase stay in an original order.

    7. The method of claim 1, wherein the small-signal pulse pattern (ũ.sub.abc(t,λ.sub.p,i)) is determined by solving a quadratic program into which the reference trajectory (x*), the measurements (i, v.sub.c, i.sub.g), and the small-signal pulse pattern (ũ.sub.abc(t,λ.sub.p,i)) are input.

    8. The method of claim 1, further comprising: determining an incumbent pulse pattern (t.sub.p,i′, Δu.sub.p,i) over the horizon, wherein the incumbent pulse pattern (t.sub.p,i′, Δu.sub.p,i) comprises the modified switching transitions (t.sub.opt,p,i) determined at a previous sampling instant and remaining switching transitions of the nominal pulse pattern (t.sub.p,i*, Δu.sub.p,i*) up to the horizon, wherein the predicted trajectory (x) is determined from the model of the converter system, into which a sum of the incumbent pulse pattern (t.sub.p,i′, Δu.sub.p,i) and small-signal pulse pattern (ũ.sub.abc(t, λ.sub.p,i) are input.

    9. The method of claim 8, wherein the impulse strengths (λ.sub.p,i) of the small-signal pulse pattern (ũ.sub.abc(t, λ.sub.p,i)) are positioned at each switching transition of the incumbent pulse pattern (t.sub.p,i′, Δu.sub.p,i), and wherein a difference pulse pattern (ū.sub.abc(t)) is determined, which encodes at least one rectangular voltage-time area compensating a difference between the nominal pulse pattern (t.sub.p,i*, Δu.sub.p,i*) and the incumbent pulse pattern (t.sub.p,i′, Δu.sub.p,i).

    10. The method of claim 1, wherein the optimized pulse patterns and/or the at least one reference trajectory (x*) are determined offline and stored in a lookup table.

    11. A computer program, which when executed by a processor is adapted for performing the method of claim 1.

    12. A non-transitory computer-readable medium, in which a computer program according to claim 11 is stored.

    13. A controller for an electrical converter adapted for performing the method of claim 1.

    14. A converter system, comprising: an electrical converter interconnected with an electrical grid; and a controller according to claim 13 for controlling the electrical converter.

    15. The converter system of claim 14, further comprising: a resonant subsystem comprising at least one of inductors and a filter, wherein the model of the converter system used during optimizing the cost function includes a model of the electrical converter and the resonant subsystem.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0057] The subject matter of the present disclosure will be explained in more detail in the following text with reference to exemplary embodiments which are illustrated in the attached drawings.

    [0058] FIG. 1 schematically shows a converter system according to an embodiment of the present disclosure.

    [0059] FIG. 2 shows a block diagram for a controller according to an embodiment of the present disclosure.

    [0060] FIGS. 3A and 3B show pulse patterns, which are used in a method according to an embodiment of the present disclosure.

    [0061] In principle, identical parts are provided with the same reference symbols in the figures.

    DETAILED DESCRIPTION

    [0062] FIG. 1 shows a converter system 10 including an electrical converter 12 and an LC filter 14, which are coupled with an electrical grid 16. The further respective quantities shown in FIG. 1 are listed in the end of the present description. FIG. 1 also shows a controller 18, which is adapted for performing the method for controlling the converter system 10, as described herein.

    [0063] The LC filter 14 may include filter inductors L and filter resistors R connected between the converter 12 and the grid 16, and filter resistors R.sub.C and filter capacitors C connected to the interconnection of the converter 12 and the grid 16.

    [0064] As shown, the electrical converter 12 may be a neutral-point-clamped converter having a neutral-point-clamped phase leg 20 for each output phase. Other converters 12, such as T-type converters, modular multi-level converters and/or converters with flying capacitors may be used as multi-level converter 12. Also, two-level converters could be used.

    [0065] FIG. 2 is a further drawing of the system 10, where the controller 18 is shown in more detail. The controller 18 includes a pulse pattern selector 20, a reference trajectory generator 22, a small-signal optimizer 24, an incumbent pulse pattern determiner 26 and a Clarke transformation block 28.

    [0066] A method for controlling the converter system 10, which may be automatically performed by the controller 18, will be explained with respect to the different blocks 20, 22, 24, 26, 28 in the following.

    [0067] In a first step, depending on the grid voltage v.sub.g, the grid current reference I.sub.g* and the grid phase reference ϕ.sub.g*, an appropriate optimized pulse pattern is selected by the pulse pattern selector 20. The pulse pattern selector 20 then provides the nominal switching instants t.sub.p,i* and the nominal switching transitions Δu.sub.p,i* of a nominal pulse pattern.

    [0068] Offline computed OPPs are a specific pulse width modulation (PWM) method. Unlike carrier-based PWM or space vector modulation, OPPs abandon the notion of the fixed modulation interval with one switching transition per phase and modulation (half)interval. The removal of these restrictions facilitates the computation of optimal switching angles that minimize the harmonic current distortions for a given switching frequency.

    [0069] The switching instants and switch positions of an OPP are typically computed for one phase over a quarter of a fundamental period, assuming quarter- and half-wave symmetry and a 120° phase shift between the three phases.

    [0070] In a second step, the optimal state reference trajectory x* is generated by the reference trajectory generator 22 from the nominal pulse pattern t.sub.p,i*, Δu.sub.p,i*.

    [0071] In summary, a nominal pulse pattern t.sub.p,i*, Δu.sub.p,i* and at its corresponding reference trajectory x* of the electrical converter system 10 are determined over a horizon of future sampling instants, wherein the nominal pulse pattern t.sub.p,i*, Δu.sub.p,i* and the corresponding reference trajectory x* are determined from a table of optimized pulse patterns. The nominal pulse pattern t.sub.p,i*, Δu.sub.p,i*, includes switching transitions Δu.sub.p,i*, between output voltages of an electrical converter 12 of the electrical converter system 10 and the reference trajectory x* indicates a desired future development of the electrical quantities of the converter system 10.

    [0072] The optimized pulse patterns and optionally the reference trajectory x* may be determined offline and stored in lookup tables in block 20 and block 22, respectively.

    [0073] In a third step, the small-signal optimizer 24 receives measurement values, such as the converter current i, the filter capacitor voltage v.sub.c and the grid current i.sub.g, which have been measured in the system 10 and which have been Clarke transformed by block 28.

    [0074] The Clarke Transformation


    ξ.sub.αβ=Kξ.sub.abc  (1)

    maps any variable ξ.sub.abc=[ξ.sub.aξ.sub.bξ.sub.c].sup.T in the abc-plane to the two-dimensional vector ξ.sub.αβ=[ξ.sub.αξ.sub.β].sup.T in the αβ-plane via the transformation matrix

    [00001] K = 2 3 [ 1 - 1 2 - 1 2 0 3 2 - 3 2 ] .

    [0075] Herein, all variables in the abc-plane are denoted by their corresponding subscript, whereas the subscript is dropped for those in the αβ-plane.

    [0076] From the measurements, the small-signal optimizer 24 calculates an initial small-signal error, {tilde over (x)}.sub.0=x.sub.0−x.sub.0*. It then builds the Hessian H with the help of (44), see below, and the model vector c with the help of (50) and (51). By solving the QP (61), the vector of optimal impulse strengths Λ.sub.opt is found.

    [0077] A small-signal pulse pattern ũ.sub.abc(t,λ.sub.p,i), which may be provided as a vector of optimal impulse strengths Λ.sub.opt, is determined by minimizing a cost function, which cost function includes a small-signal error, which is based on a difference of the reference trajectory x* and the predicted trajectory x. The impulse strengths λ.sub.p,i of the small-signal pulse pattern ũ.sub.abc(t, λ.sub.p,i) encode a voltage-time value λ.sub.p,i at each switching transition of the nominal pulse pattern t.sub.p,i*, Δu.sub.p,i*, and wherein the predicted trajectory x is determined over the horizon from measurements i, v.sub.c, i.sub.g in the converter system and from a model of the converter system 10, into which a sum of the nominal pulse pattern t.sub.p,i*, Δu.sub.p,i*, and small-signal pulse pattern ũ.sub.abc (t, λ.sub.p,i) are input and/or are inputs.

    [0078] After that, in a fourth step, the strengths λ.sub.p,i are translated back to the switching instant modifications Δt.sub.opt,p,i by the small-signal optimizer 24, which are then added to the switching instants t.sub.p,i* of the nominal pulse pattern or to the switching instants t.sub.p,i′ of the incumbent pulse pattern (see below) to determine the modified switching instants t.sub.opt,p,i of the modified pulse pattern, in accordance with (63).

    [0079] A modified pulse pattern t.sub.opt,p,i, Δu.sub.p,i is determined by moving the switching transitions of the nominal pulse pattern t.sub.p,i*, Δu.sub.p,i*, wherein a switching transition is moved by a time interval, such that the time interval times a direction of the switching transition equals the voltage-time value that the impulse strength λ.sub.p,i encodes at the nominal switching transition.

    [0080] Only the switching transitions of the modified pulse pattern t.sub.opt,p,i, Δu.sub.p,i within the sampling interval are then applied to the electrical converter 12.

    [0081] Optionally, it may be that the method also uses an incumbent pulse pattern t.sub.p,i′, Δu.sub.p,i instead of the nominal pulse pattern in the small-signal optimizer 24.

    [0082] In this case, the modified switching instants t.sub.p,i′ and the switching transitions Δu.sub.p,i determined at a sampling instant are stored as the incumbent pulse pattern by block 26. The incumbent pulse pattern t.sub.p,i′, Δu.sub.p,i is updated at each sampling instant. At the subsequent sampling instant, the incumbent switching pattern t.sub.p,i′, Δu.sub.p,i is an input (instead of the nominal pulse pattern) into the optimizer 24.

    [0083] In summary, an incumbent pulse pattern t.sub.p,i′, Δu.sub.p,i is determined over the horizon, wherein the incumbent pulse pattern t.sub.p,i′, Δu.sub.p,i includes the modified switching transitions t.sub.opt,p,i determined at the previous sampling instant and the remaining switching transitions of the nominal pulse pattern t.sub.p,i*, Δu.sub.p,i* up to the horizon. In the optimizer 24, the predicted trajectory x is determined from the model of the converter system 10, into which a sum of the incumbent pulse pattern t.sub.p,i′, Δu.sub.p,i and small-signal pulse pattern ũ.sub.abc(t,λ.sub.p,i) is the input.

    [0084] The above steps may be repeated at each sampling instant. Note that the first two steps may be only required, if the operating conditions of the converter system 10 change.

    [0085] In the method, several types of pulse patterns are used, which are shown in FIGS. 3A and 3B.

    [0086] The nominal pulse pattern u* is determined from the offline calculated optimized pulse pattern. The three-phase nominal pulse pattern is denoted by u.sub.abc*(t). Its switching transitions occur at time instants t.sub.p,i*.

    [0087] The incumbent pulse pattern u may be used by the controller 18 as a starting point, i.e. the pulse pattern whose switching transitions are modified. The three-phase incumbent pulse pattern is denoted by u.sub.abc (t). Its switching transitions occur at t.sub.p,i′.

    [0088] The impulse strengths (or voltage-time values) λ.sub.p,i of the small-signal pulse pattern ũ are optimized by the small-signal optimizer 24. The small-signal pulse pattern ũ includes a train of Dirac delta functions (also known as impulses) at switching instants t.sub.p,i′ with impulse strengths λ.sub.p,i.

    [0089] The modified pulse pattern u.sub.mod results from the optimizer, and its first part (within the sampling interval) is applied to the converter 12. The three-phase modified pulse pattern is denoted by u.sub.mod,abc(t). Its switching transitions occur at t.sub.p,i=tp.sub.p,i′+Δt.sub.p,i.

    [0090] As shown in FIGS. 3A and 3B, the controller 18 operates at discrete time steps kT.sub.s, where k∈custom-character, and T.sub.s is the sampling interval, such as 25 μs. Note that, even though the controller 18 operates at discrete time instants kT.sub.s, the switching instant modification may be formulated in the continuous-time domain. This implies that the modified switching instants are real-valued quantities.

    [0091] The pulse patterns u*, u and ũ+ū are only determined for a prediction horizon 22. Out of the prediction horizon 22, only the modified switching instants within the current sampling interval are applied, that is, between kT.sub.s and (k+1)T.sub.s. Then, at each subsequent sampling instant, the modified switching instants from the previous sample (which are now the incumbent switching instants) are re-optimized based on new information. This may be called receding horizon policy, which provides feedback and may make the controller robust to disturbances and modelling errors.

    [0092] Converter System

    [0093] Converter systems 10 are considered, which include linear elements and switching elements. The switch positions of the switching elements can be described by integer variables. Typical linear elements are voltage and current sources, ohmic resistances, capacitors and inductors. Because inductors and ohmic resistances are the building blocks of transformers and rotating electrical machines, these also may be part of the converter system 10.

    [0094] A converter system 10 with linear elements and integer inputs can be described by the continuous-time state-space representation

    [00002] d x ( t ) dt = Fx ( t ) + G u a b c ( t ) + Pv g ( t ) , ( 2 )

    [0095] where x∈custom-character.sup.n.sup.x and v.sub.g∈custom-character.sup.n.sup.v are the state and parameter vectors in the αβ reference frame, respectively, with n.sub.x∈custom-character.sup.+ and n.sub.v∈custom-character.sub.0.sup.+. The input vector u.sub.abc=[u.sub.a u.sub.b u.sub.c].sup.T∈custom-character.sup.3 is the three-phase switch position. Finally, F, G, and P are the state, input and parameter matrices, which characterize the converter system 10.

    [0096] The formulation in (2) is sufficiently general to include any converter topology, including dc/ac, ac/dc, dc/dc and ac/ac converters, two-level, three-level and general multilevel converters, and voltage-source as well as current-source converters. By adapting the dimension of the input vector u.sub.abc, converters with a wide range of phase configurations can be addressed, including single-phase, three-phase and multi-phase converters.

    [0097] As an embodiment, consider an NPC converter 12 connected to the grid 16 via an LC filter 14, as shown in FIG. 1. The phase voltages are denoted by v.sub.p, where p∈{a,b,c} are the three phases. Assume that the dc-link capacitors have an infinite capacitance, and that the neutral point N is fixed, dividing the dc-link voltage V.sub.d evenly across the dc-link capacitors. Each phase leg can synthesize three voltage levels:

    [00003] - V d 2 , 0 , V d 2 .

    Thus, the output voltage for a particular phase is given by

    [00004] v p = V d 2 u p , ( 3 )

    [0098] where u.sub.p∈{−1,0,1} represents the switch position of the particular phase.

    [0099] The three-phase grid voltages are assumed to be symmetrical, and its phase voltages are shifted by 120° with respect to each other with a positive phase sequence. The stationary orthogonal reference frame can be defined by the grid voltage

    [00005] v g ( t ) = [ v g , α ( t ) v g , β ( t ) ] = 2 3 V g , LL K [ sin ( ω 1 t ) sin ( ω 1 t - 2 π 3 ) sin ( ω 1 t + 2 π 3 ) ] ,

    [0100] where V.sub.g,LL is the root-mean-square (rms) line-to-line grid voltage, and ω.sub.1 is the fundamental angular frequency.

    [0101] Also the three-phase converter current i.sub.abc=[i.sub.a i.sub.b i.sub.c].sup.T, the three-phase capacitor voltage v.sub.c,abc=[v.sub.c,a v.sub.c,b v.sub.c,c].sup.T of the LC filter, and the three-phase grid current i.sub.g,abc=[i.sub.g,a i.sub.g,b i.sub.g,c].sup.T may be defined. These quantities are transformed into the stationary orthogonal reference frame with the Clarke transformation (1).

    [0102] Based on this, the state vector is defined as


    x(t)=[i.sub.α(t)i.sub.β(t)i.sub.g,α(t)i.sub.g,β(t)v.sub.c,α(t)v.sub.c,β(t)].sup.T

    [0103] and the converter system can be written in the continuous-time state-space form (2). The corresponding matrices are given as

    [00006] F = [ - R + R C L I 2 R C L I 2 - 1 L I 2 R C L g I 2 - R g + R C L g I 2 1 L g I 2 1 C I 2 - 1 C I 2 0 2 × 2 ] , G = V d 2 L [ I 2 0 2 × 2 0 2 × 2 ] K , and P = 1 L g [ 0 2 × 2 - I 2 0 2 × 2 ] .

    [0104] In here, I.sub.2 denotes the 2×2 identity matrix, and 0.sub.2×2 is a 2×2 zero matrix. The grid voltage v.sub.g is treated as a time-varying parameter to the system. Note that the input u.sub.abc is given in the three-phase abc frame, whereas the state vector x and the parameter vector v.sub.g are given in the stationary orthogonal αβ reference frame.

    [0105] Control Problem

    [0106] The control problem at hand is to regulate the state variables x of the power converter system (2) along a suitable state reference x*. In general, state variables include voltages, currents, fluxes and power of the converter, filter, load, grid or electrical machine. In doing so, the real and reactive power of the converter, its dc-link voltage or current, internal converter quantities such as neutral-point potential or a flying capacitor voltage, and the grid or load can be controlled. Typical load quantities to be controlled are the electromagnetic torque and the magnetization of an electrical machine, the phase currents of a load, or the real and reactive power of a load. Any converter topology can be considered, including single-phase, three-phase, multi-phase, dc/ac, ac/dc, dc/dc, and ac/ac converters. Two-level, three-level and general multilevel converter can be addressed, and voltage-source and current-source converters may be considered.

    [0107] In order to minimize the harmonic distortions and the switching frequency, optimized pulse patterns (OPPs) with discontinuous switching angles may be used to modulate the converter switches. OPPs lack a fixed modulation interval. Therefore, regularly spaced time instants, and thus sampling instants, do not exist at which the ripple on the state variables is zero. This implies that when sampling the state quantities at regularly spaced time instants, the sum of the fundamental component with its ripple component will be measured. This significantly complicates the controller design.

    [0108] The present control method described herein regulates the states of a linear multiple-input multiple-output system with integer inputs along its reference trajectories, manipulates the switch positions of the converter, modulates the converter with OPPs during steady-state operation to achieve a superior harmonic performance at a low switching frequency, achieves fast responses with little overshoots during reference step changes, and rejects unmeasured disturbances.

    [0109] Small-Signal Modifications of the OPP Switching Instants

    [0110] Small-Signal Corrections

    [0111] Firstly, solely FIG. 3A is considered. To simplify the notation, the phase p is dropped from the variables. The nominal pulse pattern is denoted with u*(t). The nominal pulse pattern has n* switching transitions that occur at the (nominal) switching instants t.sub.i*, i=1, . . . , n*, and can be represented as

    [00007] u * ( t ) = u 0 * + .Math. i = 1 n * Δ u i * h ( t - t i * ) ,

    [0112] where h(t) is the Heavyside step function and u.sub.0* is the initial (nominal) switch position.

    [0113] The pulse pattern that may be optimized, i.e. the pulse pattern whose switching transitions are modified, is called the incumbent pulse pattern, and it is denoted with u(t). The incumbent pulse pattern can be represented as

    [00008] u ( t ) = u 0 + .Math. i = 1 n Δ u i h ( t - t i ) , ( 5 )

    [0114] where the switching transitions t; are referred to as the incumbent switching instants.

    [0115] The pulse pattern that will be applied to the power converter is denoted with u.sub.mod(t) and is referred to as the modified pulse pattern. The modified pulse pattern has n switching transitions that occur at the modified switching instants


    t.sub.i=t.sub.i′+Δt.sub.i  (6)

    [0116] for i=1, . . . , n, and where Δt.sub.i is the time modification. It can be observed that the ith switching instant modification is associated with an area of


    λ.sub.i=−Δt.sub.iΔu.sub.i  (7)

    that is removed or added to the incumbent pulse pattern. This area is proportional to a voltage-time area. The modified pulse pattern may be represented by

    [00009] u mod ( t ) = u 0 + .Math. i = 1 n Δ u i h ( t - ( t i + Δ t i ) ) . ( 8 )

    [0117] Recall that the time derivative of the step function h(t) is the Dirac delta function, or simply the impulse, δ(t). By using a first-order Tayler series expansion of the step functions around the incumbent switching instants t.sub.i′, (8) can be approximated by

    [00010] u mod ( t ) u 0 + .Math. i = 1 n Δ u i ( h ( t - t i ) - Δ t i δ i ( t - t i ) ) . ( 9 )

    [0118] With the definitions of (5) and (7), (9) simplifies to

    [00011] u mod ( t ) u ( t ) + .Math. i = 1 n λ i δ i ( t - t i ) . ( 10 )

    [0119] The (linearized) modified pulse pattern in (10) includes two terms. The first one is the (unmodified) incumbent pulse pattern u(t), whereas the second expression

    [00012] u ~ ( t ) = .Math. i = 1 n λ i δ i ( t - t i ) ( 11 )

    [0120] states the (approximated) modifications. These modifications are impulses at the incumbent switching instants t.sub.i′ with strengths λ.sub.i, and the strengths may be seen as representing (rectangular) voltage-time areas.

    [0121] This gives rise to a train of voltage-time impulses that will be an input to a small-signal model, as describe below. Based on this model, the model predictive controller of the optimizer 24 will adjust the impulse strengths λ.sub.i of the small-signal pulse pattern as required. By rewriting (7), the impulse strengths can be translated into the switching instant modifications

    [00013] Δ t i = - λ i Δ u i . ( 12 )

    [0122] The translation from impulse strengths to switching instant modification is based on the linearization in (10). More specifically, the (shaded) rectangular voltage-time areas in FIGS. 3A and 3B are approximated by the strengths of the voltage-time impulses. The narrower the voltage-time areas, the better the approximation.

    [0123] Updating the Incumbent Switching Instants

    [0124] Since the modifications to the pulse pattern of (10) are based on approximating rectangular voltage-time areas with impulse strengths, the influence of the modifications on the behavior of the system states will as a rule only be accurate for small modifications (i.e. small impulse strengths) to the switching instants. However, using impulse strengths to model corrections will result in the underlying optimization problem of the control algorithm to be a convex QP. If impulse strengths were not used to model corrections, and therefore no linearization step was used, the optimization problem would be substantially more difficult and time consuming to solve. To address this issue, the optimization problem is formulated around the switching instants computed at the previous time step, rather than the nominal switching instants. This ensures a convex QP and highly accurate predictions during steady-state operation within a few sampling instants after a step-like transient.

    [0125] The small-signal input is defined as the difference between the modified pulse pattern and the nominal pulse pattern,


    u.sub.mod(t)−u*(t)=u(t)−u*(t)+ũ(t)  (13)


    =ū(t)+ũ(t).  (14)

    [0126] The small-signal input ū(t)+ũ(t) includes two terms.

    [0127] The first term ū(t)=ũ(t)−u*(t) refers to the difference between the incumbent pulse pattern and the nominal pulse pattern. This term is called small-signal difference pulse pattern, or small-signal difference input, and/or may be composed of voltage-time areas.

    [0128] The second term ũ(t) refers to the train of voltage-time impulses, which may be called small-signal pulse pattern.

    [0129] In FIG. 3A, the switching instants of the nominal pulse pattern and the incumbent pulse pattern are equal (t.sub.i′=t.sub.i*). This results in the small-signal input only containing voltage-time impulses ũ(t) as defined in (11) and depicted in FIG. 3A. The controller 18 then calculates the impulse strengths, which are then translated to the modified switching instants t.sub.i (of the modified pulse pattern) using (6) and (12).

    [0130] At the subsequent step in FIG. 3B, the incumbent switching instants t.sub.i′ are updated with the modified switching instants t.sub.i computed at the previous time step k−1 (i.e. the modified switching instants shown in FIG. 3A). The small-signal input now contains additional terms, which are the actual (rectangular) voltage-time areas from the previous correction, alongside the voltage-time impulses, i.e.,

    [00014] u _ ( t ) + u ~ ( t ) = ( u 0 - u 0 * ) + ( .Math. i = 1 n Δ u i h ( t - t i ) - .Math. i = 1 n * Δ u i * h ( t - t i * ) ) + .Math. i = 1 n λ i δ ( t - t i ) . ( 15 )

    [0131] This is illustrated in FIG. 3B. Note that all terms in (15), except for the last one, refer to the small-signal difference pulse pattern ũ(t).

    [0132] Three-Phase Case

    [0133] The previous sections are generalized to the three-phase case. The modification of the ith switching instant in phase p, with p∈{a, b, c}, is defined as


    Δt.sub.p,i=t.sub.p,i−t.sub.p,i′,  (16)

    [0134] where t.sub.p,i denotes the modified switching instant, and t.sub.p,i′, is the incumbent switching instant. The corresponding switching transition is defined as


    Δu.sub.p,i=u.sub.p,i−u.sub.p,i−1  (17)

    [0135] from u.sub.p,i−1 to u.sub.p,i, where u.sub.p,i−1 and u.sub.p,i∈custom-character. Generalizing (7), the ith pulse strength in phase p is defined as


    λ.sub.p,i=−Δt.sub.p,iΔu.sub.p,i.  (18)

    [0136] Consider the modified three-phase pulse pattern u.sub.mod,abc(t) over the time interval t∈[0, T.sub.p], where T.sub.p is the prediction horizon of the to-be-designed controller. Following the principle derived in (10), the modified pulse pattern is defined as the superposition


    u.sub.mod,abc(t)≈u.sub.abc(t)+ũ.sub.abc(t,λ.sub.p,i)  (19)

    [0137] of the incumbent three-phase pulse pattern

    [00015] u abc ( t ) = [ u a ( t ) u b ( t ) u c ( t ) ] = [ u a , 0 + .Math. i = 1 n a Δ u a , i h ( t - t a , i ) u b , 0 + .Math. i = 1 n b Δ u b , i h ( t - t b , i ) u c , 0 + .Math. i = 1 n c Δ u c , i h ( t - t c , i ) ] ( 20 )

    [0138] and the three-phase modification (i.e. the three-phase small-signal pulse pattern)

    [00016] u ~ abc ( t , λ p , i ) = [ u ~ a ( t , λ a , i ) u ~ b ( t , λ b , i ) u ~ c ( t , λ c , i ) ] = [ .Math. i = 1 n a δ ( t - t a , i ) λ a , i .Math. i = 1 n b δ ( t - t b , i ) λ b , i .Math. i = 1 n c δ ( t - t c , i ) λ c , i ] ( 21 )

    [0139] in the form of a train of weighted voltage-time impulses. In here, n.sub.p is introduced as the number of switching transitions in phase p that fall within the horizon T.sub.p and λ.sub.p,i as the strength of the ith impulse in that phase. Note that the incumbent switching instants t.sub.p,i′, are defined relative to the current time step t.sub.0=0. The total number of switching transitions in the three phases within the horizon T.sub.p is denoted by n.sub.sw=n.sub.a+n.sub.b+n.sub.c.

    [0140] Internal Dynamic Model

    [0141] Recall the differential equation of the power converter system in (2). The modified three-phase pulse pattern u.sub.mod,abc(t) is used as the input to this system. By integrating (2), the future state vector at time t∈[0, T.sub.p] is

    [00017] x ( t ) = e Ft x 0 + 0 t e F ( t - r ) Gu mod , abc ( r ) dr + 0 t e F ( t - r ) Pv g ( r ) dr , ( 22 )

    [0142] where x.sub.0 is the initial state at time t.sub.0=0. Similarly, the optimal state reference trajectory during steady-state operation follows from the nominal pulse pattern as

    [00018] x * ( t ) = e Ft x 0 * + 0 t e F ( t - r ) Gu abc * ( r ) dr + 0 t e F ( t - r ) Pv g ( r ) dr , ( 23 )

    [0143] where x.sub.0* is the optimal initial state and

    [00019] u abc * ( t ) = [ u a * ( t ) u b * ( t ) u c * ( t ) ] = [ u a , 0 * + .Math. i = 1 n a * Δ u a , i * h ( t - t a , i * ) u b , 0 * + .Math. i = 1 n b * Δ u b , i * h ( t - t b , i * ) u c , 0 * + .Math. i = 1 n c * Δ u c , i * h ( t - t c , i * ) ] . ( 24 )

    [0144] The error between the actual state and its reference


    {tilde over (x)}(t)=x(t)−x*(t)  (25)

    [0145] is the so-called small-signal error, {tilde over (x)}∈custom-character.sup.n.sup.x. By inserting (23) and (22) with (19) into (25), the expression

    [00020] x ~ ( t , λ p , i ) e Ft x ~ 0 + 0 t e F ( t - r ) G ( u abc ( r ) - u abc * ( r ) ) dr + 0 t e F ( t - r ) G u ~ abc ( r , λ p , i ) dr ( 26 )

    [0146] is obtained, where {tilde over (x)}.sub.0=x.sub.0−x.sub.0* is the initial small-signal error. Because the expression (19) only holds approximately, the small-signal error in (26) is also an approximation. Note that the state error {tilde over (z)}(t, λ.sub.p,i) is a function of the impulse strengths λ.sub.p,i, which model the modifications to the incumbent pulse pattern. The grid voltage is not part of the small-signal model in (26), but the grid voltage will be required by the controller when selecting the appropriate pulse pattern.

    [0147] State Error in Vector Form

    [0148] The small-signal error (26) can be written in a compact form. To this end, in (26) the small-signal pulse pattern ũ.sub.abc (t, λ.sub.p,i) is rearranged, see (21), resulting in

    [00021] x ~ ( t , λ p , i ) e Ft x ~ 0 + Γ ( t ) + 0 t e F ( t - r ) G ( [ 1 0 0 ] .Math. i = 1 n a δ ( r - t a , i ) λ a , i + [ 0 1 0 ] .Math. i = 1 n b δ ( r - t b , i ) λ b , i + [ 0 0 1 ] .Math. i = 1 n c δ ( r - t c , i ) λ c , i ) dr , ( 27 ) where Γ ( t ) = 0 t e F ( t - r ) G ( u abc ( r ) - u abc * ( r ) ) dr . ( 28 )

    [0149] Manipulations involving }(t) are moved to Appendix A. By using the well-known sifting property of the impulse,

    [00022] - t f ( r ) δ ( r - t p i ) dr = f ( t p i ) h ( t - t p i ) ,

    [0150] the integral in (27) turns into

    [00023] x ~ ( t , λ p , i ) e F t x ~ 0 + Γ ( t ) + .Math. i = 1 n a e F ( t - t a , i ) G a h ( t - t a , i ) λ a , i + .Math. i = 1 n b e F ( t - t b , i ) G b h ( t - t b , i ) λ b , i + .Math. i = 1 n c e F ( t - t c , i ) G c h ( t - t c , i ) λ c , i , ( 29 )

    [0151] where G.sub.a=G[100].sup.T, G.sub.b=G[010].sup.T, and G.sub.c=G[001].sup.T.

    [0152] The small-signal error can now be written in vector form as


    {tilde over (x)}(t,Λ)≈e.sup.Ft{tilde over (x)}.sub.0+r(t)+Φ(t)Λ,  (30)

    [0153] where Φ(t)∈custom-character.sup.n.sup.x.sup.×n.sup.sw is the input matrix,

    [00024] Φ ( t ) = [ e F ( t - t a , 1 ) G a h ( t - t a , 1 ) .Math. e F ( t - t a , n a ) G a h ( t - t a , n a ) e F ( t - t b , 1 ) G b h ( t - t b , 1 ) .Math. e F ( t - t b , n b ) G b h ( t - t b , n b ) e F ( t - t c , 1 ) G c h ( t - t c , 1 ) .Math. e F ( t - t c , n c ) G a h ( t - t c , n c ) ] , ( 31 )

    [0154] and Λ∈custom-character.sup.n.sup.sw is introduced as the vector of impulse strengths,


    Λ=[λ.sub.a,1 . . . λ.sub.a,n.sub.aλ.sub.b,1 . . . λ.sub.b,n.sub.bλ.sub.c,1 . . . λ.sub.c,n.sub.c].sup.T  (32)

    [0155] with the n.sub.sw impulse strengths over the horizon T.sub.p. Note that Γ(t) captures the behavior of the previous corrections. It will be shown below that it may be neglected at the expense of accuracy.

    [0156] Control Method

    [0157] In this section, the controller 18 and the control method performed by the controller is described in more detail. The controller 18 and the control method are based on the small-signal error expression (30).

    [0158] Objective Function

    [0159] The objective function

    [00025] J ( Λ ) = 0 T p .Math. x ~ ( t ) .Math. Q 2 d t + 1 2 .Math. Λ .Math. R 2 ( 33 )

    [0160] penalizes with the positive semidefinite penalty matrix Q∈custom-character.sup.n.sup.x.sup.×n.sup.x the integral of the small-signal error over the prediction horizon of length T.sub.p. Note that ∥{tilde over (x)}∥.sub.Q.sup.2={tilde over (x)}.sup.TQ{tilde over (x)}. The second term in (33) penalizes the strength of the voltage-time impulses in order to discourage unnecessarily large modifications to the incumbent pulse pattern. The corresponding penalty matrix R∈custom-character.sup.n.sup.sw.sup.×n.sup.sw, is required to be positive semidefinite.

    [0161] First Term The first term can be expanded to

    [00026] J 1 ( Λ ) = 0 T p ( e F t x ~ 0 + Γ ( t ) + Φ ( t ) Λ ) T Q ( e F t x ~ 0 + Γ ( t ) + Φ ( t ) Λ ) dt , = 0 T p ( 1 2 Λ T Υ ( t ) Λ + Θ ( t ) T Λ + θ ( t ) ) d t , = 1 2 Λ T ( 0 T p Υ ( t ) dt ) Λ + ( 0 T p Θ ( t ) T d t ) Λ + 0 T p θ ( t ) dt , ( 34 )

    [0162] where


    Y(t)=2Φ(t).sup.T(Q)Φ(t),  (35)


    Φ(t)=(e.sup.Ft{tilde over (x)}.sub.0+r(t)).sup.TQΦ(t)  (36)


    and


    θ(t)=(e.sup.Ft{tilde over (x)}.sub.0+r(t)).sup.TQ(e.sup.Ft{tilde over (x)}.sub.0+r(t)).  (37)

    [0163] Consider the (i′,j′)th entry of the n.sub.sw×n.sub.sw matrix custom-character in (35). Assume that the i'th entry corresponds to phase p.sub.1∈{a, b, c} and the ith switching transition in that phase. The quantities p.sub.2 and j are defined accordingly for a given j′. The (i′,j′)th entry of custom-character can then be written as


    custom-character.sub.(i′j′)(t)=2(e.sup.F(t-t.sup.p1,i.sup.′)G.sub.p1h(t−t.sub.p1,i′)).sup.TQe.sup.F(t−t.sup.p2,j.sup.′)G.sub.p2h(t−t.sub.p2,j′),  (38a)


    =2G.sub.p1.sup.T(e.sup.F(t−t.sup.p1,j.sup.′)).sup.TQe.sup.F(t−t.sup.p2,j.sup.′)G.sub.p2h(t−t.sub.ij′),  (38b)

    where t.sub.ij′=max{t.sub.p1,i′, t.sub.p2,j′}. The integral of (38b) results in

    [00027] V ( i j ) = 2 0 T p G p 1 T ( e F ( t - t p 1 , i ) ) T Q e F ( t - t p 2 , j ) G p 2 h ( t - t i j ) dt . ( 39 )

    [0164] Calculating the integral of the product of two matrix exponentials, which do not commute, is not trivial. According to a theorem, the integral

    [00028] Ξ ( t ) = 0 t ( e F r ) T Q e F r dr ( 40 )

    [0165] can be calculated as

    [00029] Ξ ( t ) = M ( t ) T N ( t ) , ( 41 ) where e [ - F T Q 0 n x × n x F ] t = [ ( e Ft ) T ( e - Ft ) T 0 t ( e Fr ) T Qe Fr dr 0 n x × n x e Ft ] = [ L ( t ) N ( t ) 0 n x × n x M ( t ) ] . ( 42 )

    [0166] Next, the integral in (39) is rewritten in the form of (40) so that (41) and (42) can be used to solve it:

    [00030] V ( i j ) = 2 G p 1 T ( e - Ft p 1 , i ) T 0 T p ( e Ft ) T Qe Ft h ( t - t ij ) dte - F t p 2 , j G p 2 = 2 G p 1 T ( e - Ft p 1 , i ) T t ij T p ( e Ft ) T Qe Ft dte - F t p 2 , j G p 2 ( 43 )

    [0167] By time shifting the integrand forward by t.sub.ij′, the integral becomes

    [00031] V ( i j ) = 2 G p 1 T ( e - Ft p 1 , i ) T T p - t ij 0 ( e F ( t + t i j ) ) T Q e F ( t + t i j r ) dt e - F t p 2 , j G p 2 = 2 G p 1 T ( e F ( t ij - t p 1 , i ) ) T 0 T p - t i j ( e F t ) T Q e F t dte F ( t i j - t p 2 , j ) G p 2 = 2 G p 1 T ( e F ( t ij - t p 1 , i ) ) T Ξ ( T p - t ij ) e F ( t ij - t p 2 , j ) G p 2 . ( 44 )

    [0168] The n.sub.sw-dimensional column vector Θ(t) in (36) is split it up into two terms


    Θ(t).sup.T=Θ.sub.0(t).sup.T+Θ.sub.r(t).sup.T  (45)


    where


    Θ.sub.0(t).sup.T=2(e.sup.Ft{tilde over (x)}.sub.0).sup.TQΦ(t)  (46)


    Θ.sub.r(t).sup.T=2(Γ(t)).sup.TQΦ(t).  (47)

    [0169] Consider the i'th entry of Θ.sub.0(t).sup.T, and assume that it corresponds to phase p and the ith switching transition in that phase. With (31),


    Θ.sub.0,i′(t).sup.T=2{tilde over (x)}.sub.0.sup.T(e.sup.Ft).sup.TQe.sup.F(t−t.sup.p,i.sup.′)G.sub.ph(t−t.sub.p,i′).  (48)

    [0170] Its integral

    [00032] c 0 , i T = 2 x ~ 0 T t p , i T p ( e F t ) T Q e F ( t - t p , i ) dt G p , ( 49 )

    [0171] can also be written in the form of (40), so that (41) and (42) can be used to solve it. Following a time shift forward by t.sub.p,i′, the integral becomes

    [00033] c 0 , i T = 2 x ~ 0 T ( e Ft p , i ) T 0 T p - t p , i ( e F t ) T Q e F t d t G p , = 2 x ~ 0 T ( e Ft p , i ) T Ξ ( T p - t p , i ) G P . ( 50 )

    [0172] The calculation involving the second term in (45),

    [00034] c Γ , i T = 0 T p 2 ( Γ ( t ) ) T Q Φ ( t ) dt , ( 51 )

    [0173] are moved to Appendix B.

    [0174] The i'th entry of the vector c is then given by


    c.sub.i′=c.sub.0,i′+c.sub.Γ,i′.  (52)

    Note that θ(t) in (34) is not a function of the vector of impulse strengths Λ. Therefore, it is merely a constant in the cost function, which has no influence on the solution of the to-be-derived optimization problem. This fact allows us to omit θ(t) hereafter.

    [0175] The first term of the objective function, J.sub.1, which minimizes the small-signal error, can now be written as


    J.sub.1(Λ)=½Λ.sup.TVΛ+c.sup.TΛ.  (53)

    [0176] Second term The second term of the objective function, which penalizes the entries of the vector of impulse strengths Λ, is


    J.sub.2(Λ)=½Λ.sup.TRΛ.  (54)

    Vector Form The objective function is the quadratic function


    J(Λ)=J.sub.1(Λ)+J.sub.2(Λ)=½Λ.sup.T(V+R)Λ+c.sup.TΛ


    =½Λ.sup.THΛ+c.sup.TΛ,  (55)

    [0177] where H=V+R is known as the Hessian and contains the second-order partial derivatives of J(Λ), and c is a vector with linear coefficients.

    [0178] In the above, the matrix V is also called the model matrix, while the vector c is called the model vector. The matrix R is called the penalty matrix.

    [0179] Constraints

    [0180] To enforce an ascending order on the modified switching instants in each phase, the set of constraints


    0≤t.sub.p,1≤t.sub.p,2≤ . . . ≤t.sub.p,n.sub.p≤T.sub.p  (56)

    must be imposed for each phase p. Switching instants cannot be shifted into the past and not beyond the prediction horizon T.sub.p. Alternatively, the n.sub.pth switching transition in a phase can be upper bounded by the next incumbent switching transition beyond the horizon, t.sub.p,n.sub.p.sub.+1′.

    [0181] With the help of (16) and (18), the set of constraints (56) can be recast in terms of the impulse strengths λ.sub.p,i:

    [00035] 0 t p , 1 - λ p , 1 Δ u p , 1 t p , 2 - λ p , 2 Δ u p , 2 .Math. t p , n p - λ p , n p Δ u p , n p T p . ( 57 )

    [0182] Applying (57) to the phases a, b, and c, the constraint


    AΛ≤B  (58)

    [0183] in matrix form arises, with respect to

    [00036] A = [ A a A b A c ] , with A p = [ 1 Δ u p , 1 0 0 .Math. 0 0 - 1 Δ u p , 1 1 Δ u p , 2 0 .Math. 0 0 - 1 Δ u p , 2 1 Δ u p , 3 0 0 .Math. .Math. .Math. 0 0 0 .Math. - 1 Δ u p , n p - 1 1 Δ u p , n p 0 0 0 .Math. 0 1 Δ u p , n p ] ( 59 ) and B = [ B a T B b T B c T ] T , with B p = [ t p , 1 t p , 2 - t p , 1 .Math. T p - t p , n p ] T . ( 60 )

    [0184] Additional constraints may be added to the controller formulation. For example, state constraints in the form of {tilde over (x)}(t)∈X, with the time t∈[0, T.sub.p], could be added to (61b), see below. Provided that the constraint set X is a polyhedron, the optimization problem (61) below remains a convex QP.

    [0185] Quadratic Program

    [0186] Minimizing the objective function (55) while respecting the constraint (58) leads to the quadratic program (QP)

    [00037] Λ opt = arg min Λ 1 2 Λ T H Λ + c T Λ ( 61 a ) subject to A Λ B . ( 61 b )

    [0187] The vector of impulse strengths Λ is the decision (or optimization) variable, and Λ.sub.opt is the optimal solution to the QP. The latter cannot be solved algebraically; instead, numerical optimization techniques must be employed, such as gradient methods or interior point methods.

    [0188] Note that the problem (61) is convex, since the constraints are linear and the objective function is quadratic in the decision variable with a positive semidefinite Hessian H. One can show that this follows from the fact that the penalty matrices Q and R are positive semidefinite. If R is positive definite, then the Hessian H is also positive definite.

    [0189] Optimal Switching Instants

    [0190] Having solved the QP (61), the vector of optimal pulse strengths Λ.sub.opt is translated with (18) into the optimal switching instant advancements or delays

    [00038] Δ t opt , p , i = - λ opt , p , i Δ u p , i . ( 62 )

    [0191] By adding these modifications to the incumbent switching instants of the pulse pattern, the optimal switching instants are obtained

    [00039] t opt , p , i = t p , i - λ opt , p , i Δ u p , i , ( 63 )

    [0192] where (16) was used.

    [0193] Standard Controller

    [0194] The computational burden of the control algorithm can be reduced if the switching instant updating step is neglected (i.e. the linearization is always done around the nominal switching instants). This implies that the incumbent pulse pattern u.sub.abc(t) is replaced by the nominal pulse pattern u.sub.abc*(t). Because the incumbent pulse pattern and the nominal pulse pattern are then equal, the small-signal error in (30) reduces to


    {tilde over (x)}(t,Λ)≈e.sup.Ft{tilde over (x)}.sub.0+Φ(t)Λ.  (64)

    [0195] The i'th entry of the linear term in the cost function, see (52), then reduces to c.sub.i′=c.sub.0,1′.

    [0196] The accuracy of the small-signal error prediction may be reduced. Recall that the voltage-time areas in FIG. 3A where approximated by the strengths of their corresponding impulses. Small modifications, and thus small voltage-time areas with small impulse strengths are accurately represented, but a certain error may arise for larger modifications. These errors may manifest themselves in inaccurate predictions. Nevertheless, thanks to the receding horizon policy, these inaccuracies may be compensated by the controller.

    APPENDIX A

    [0197] The expression Γ(t) defined in (28), which appears in (30), can be re-arranged as

    [00040] Γ ( t ) = .Math. i = 1 n a ( e F ( t - t a , i ) - I ) F - 1 G a Δ u a , i h ( t - t a , i ) + .Math. i = 1 n b ( e F ( t - t b , i ) - I ) F - 1 G b Δ u b , i h ( t - t b , i ) + .Math. i = 1 n c ( e F ( t - t c , i ) - I ) F - 1 G c Δ u c , i h ( t - t c , i ) - .Math. i = 1 n a * ( e F ( t - t a , i * ) - I ) F - 1 G a Δ u a , i * h ( t - t a , i * ) - .Math. i = 1 n b * ( e F ( t - t b , i * ) - I ) F - 1 G b Δ u b , i * h ( t - t b , i * ) - .Math. i = 1 n c * ( e F ( t - t c , i * ) - I ) F - 1 G c Δ u c , i * h ( t - t c , i * ) + ( e F t - I ) F - 1 G Δ u a b c , 0 ( 65 )

    [0198] where it has been used that an integral involving the step function is

    [00041] 0 t e F ( t - r ) G p Δ u p , i h ( r - t p , i ) dr = ( e F ( t - t p , i ) - I ) F - 1 G p Δ u p , i h ( t - t p , i ) .

    [0199] Here, Δu.sub.abc,0.sup.T=[u.sub.a,0u.sub.b,0u.sub.c,0].sup.T−[u.sub.a,0*u.sub.b,0*u.sub.c,0*].sup.T has been introduced.

    [0200] (65) is decomposed into three terms

    [00042] Γ ( t ) = Γ ( t ) - Γ * ( t ) + Γ 0 ( t ) , ( 66 ) Γ ( t ) = .Math. i = 1 n a ( e F ( t - t a , i ) - I ) F - 1 G a Δ u a , i h ( t - t a , i ) + .Math. i = 1 n b ( e F ( t - t b , i ) - I ) F - 1 G b Δ u b , i h ( t - t b , i ) + .Math. i = 1 n c ( e F ( t - t c , i ) - I ) F - 1 G c Δ u c , i h ( t - t c , i ) , Γ * ( t ) = .Math. i = 1 n a * ( e F ( t - t a , i * ) - I ) F - 1 G a Δ u a , i * h ( t - t a , i * ) + .Math. i = 1 n b * ( e F ( t - t b , i * ) - I ) F - 1 G b Δ u b , i * h ( t - t b , i * ) + .Math. i = 1 n c * ( e F ( t - t c , i * ) - I ) F - 1 G c Δ u c , i * h ( t - t c , i * ) , ( 68 ) Γ 0 ( t ) = ( e F t - I ) F - 1 G Δ u a b c , 0 . ( 69 )

    APPENDIX B

    [0201] The equations involving the integral of (66) are evaluated. The integrals of the terms in (48) will be considered separately,

    [00043] c Γ , i T = 0 T p Θ Γ , i ( t ) T dt + 0 T p Θ Γ * , i ( t ) T dt + 0 T p Θ Γ 0 , i ( t ) T dt = c Γ , i T + c Γ * , i T + c Γ 0 , i , T ( 70 ) where Θ Γ , i ( t ) T = 2 Γ ( t ) T Q e F ( t - t p , i ) G p h ( t - t p , i ) ( 71 ) Θ Γ * , i ( t ) T = 2 Γ * ( t ) T Q e F ( t - t p , i ) G p h ( t - t p , i ) ( 72 ) Θ Γ 0 , i ( t ) T = 2 Γ 0 ( t ) T Q e F ( t - t p , i ) G p h ( t - t p , i ) ( 73 )

    [0202] First, (71) is further decomposed into each phase separately

    [00044] Θ Γ , p 2 , i ( t ) T == 2 .Math. j = 1 n p 2 Δ u p 2 , j G p , 2 T ( F - 1 ) T ( e F ( t - t p 2 , j ) - I ) T h ( t - t p 2 , j ) Q e F ( t - t p , i ) G p h ( t - t p , i ) = 2 G p 2 T ( F - 1 ) T .Math. j = 1 n p 2 ( Δ u p 2 , j ( e F ( t - t p 2 , j ) - I ) T Q e F ( t - t p , i ) h ( t - t p , i ) G p , ( 74 )

    [0203] where p.sub.2 is a particular phase of (67) and t.sub.ij′=max {t.sub.p,i′, t.sub.p2,j′}. Note that Θ.sub.Γ′,i′(t)=Θ.sub.Γ′,a,i′(t)+Θ.sub.Γ′,b,i′(t)+Θ.sub.Γc,i′(t). Its integral is split into two parts

    [00045] c Γ , p 2 , i T = 2 G p 2 T ( F - 1 ) T .Math. j = 1 n p 2 ( Δ u p 2 , j 0 T p ( e F ( t - t p 2 , j ) - I ) T Q e F ( t - t p , i ) h ( t - t i j ) dt ) G p = 2 G p 2 T ( F - 1 ) T .Math. j = 1 n p 2 ( Δ u p 2 , j ( t ij T p ( e F ( t - t p 2 , j ) ) T Q e F ( t - t p , i ) dt - t i j T p Q e F ( t - t p , i ) dt ) ) G p ( 75 )

    [0204] and following a time shift forward with t.sub.ij′, and using algebraic manipulations similar to the derivation of (44), becomes

    [00046] c Γ , p 2 , i T = 2 G p 2 T ( F - 1 ) T .Math. j = 1 n p 2 ( Δ u p 2 , j ( ( e F ( t i j - t p 2 , j ) ) T Ξ ( T p - t i j ) - 0 T p - t i j Q e F t dt ) e F ( t i j - t p , i ) ) G p , ( 76 )

    [0205] where Ξ(t) is defined in (40). The second integral can be calculated using

    [00047] W ( t ) = 0 t Q e F t dt ( 77 ) where e [ 0 n x × n x Q 0 n x × n x F ] t = [ I n x 0 t Qe Fr dr 0 n x × n x e Ft ] = [ I n x W ( t ) 0 n x × n x M ( t ) ] . ( 78 )

    [0206] Using (77), (76) becomes

    [00048] c Γ , p 2 , i T = 2 G p 2 T ( F - 1 ) T .Math. j = 1 n p 2 ( Δ u p 2 , j ( ( e F ( t i j - t p 2 , j ) ) Ξ ( T p - t i j ) - W ( T p - t i j ) ) e F ( t i j - t p , i ) ) G p . ( 79 )

    [0207] Next consider (72), which has the same structure as (71), and after following the same derivations used in the calculation of the latter, can be stated as

    [00049] c Γ * , p 2 , i T = 2 G p 2 T ( F - 1 ) T .Math. j = 1 n p 2 * ( Δ u p 2 , j * ( ( e F ( t i j * - t p 2 , j * ) Ξ ( T p - t i j ) - W ( T p - t i j ) ) e F ( t i j * - t p , i ) ) G p . ( 80 )

    [0208] where t.sub.ij′*=max{t.sub.p,i′t.sub.p2,j*}.

    [0209] Lastly, consider (73), which can be re-written as


    Θ.sub.Γ.sub.0.sub.,i′(t).sup.T=2Δu.sub.abc,0.sup.TG.sup.T(F.sup.−1).sup.T(e.sup.Ft−I).sup.TQe.sup.F(t−t.sup.p,i.sup.′)G.sub.ph(t−t.sub.p,i′).  (81)

    [0210] Its integral is also split into two parts

    [00050] c Γ 0 , i T = 2 Δ u a b c , 0 T G T ( F - 1 ) T ( t p , i T p ( e F t ) T Q e F ( t - t p , i ) dt - t p , i T p Q e F ( t - t p , i ) dt ) G p ( 82 )

    [0211] and following a time shift forward by t.sub.p,i becomes

    [00051] c Γ 0 , i T = 2 Δ u abc , 0 T G T ( F - 1 ) T ( ( e Ft p , i ) T 0 T p - t p , i ( e F t ) T Q e F t dt - 0 T p - t p , i Q e F t d t ) G p . ( 83 )

    [0212] Using (41) and (77), (83) becomes


    c.sub.Γ.sub.0,i′.sup.T=2Δu.sub.abc,0.sup.TG.sup.T(F.sup.−1).sup.T((e.sup.Ft.sup.p,i.sup.′).sup.TΞ(T.sub.p−t.sub.p,i′)−W(T.sub.p−t.sub.p,i′))G.sub.p.  (84)

    Symbols

    [0213] t Time, t∈custom-character.sup.+ [0214] k Discrete time step, k∈custom-character [0215] d Pulse number, d∈custom-character [0216] m Modulation index, m∈ [0,4/π] [0217] p A particular phase, p∈{a, b, c} [0218] u.sub.p,i ith single-phase switch position of phase p, u.sub.p,i∈{−1,0,1} [0219] Δu.sub.p,i ith switching transition in phase p, Δu.sub.p,i∈{−1,1} [0220] λ.sub.p,i ith impulse strength (also known as the voltage-time value) in phase p, λ.sub.p,i∈custom-character [0221] Λ Vector of impulse strengths (also known as the vector of voltage-time values) over the horizon, Λ∈custom-character.sup.n.sup.sw [0222] t.sub.p,i* ith nominal switching instant of phase p [0223] t.sub.p,i′ ith incumbent switching instant of phase p [0224] t.sub.p,i ith modified switching instant of phase p [0225] Δt.sub.p,i ith switching instant modification of phase p, Δt.sub.p,i=t.sub.p,i−t.sub.p,i′ [0226] u.sub.abc*(t) Three-phase nominal pulse pattern [0227] u.sub.abc(t) Three-phase incumbent pulse pattern [0228] u.sub.mod,abc(t) Three-phase modified pulse pattern [0229] ũ(t) Three-phase small-signal pulse pattern, defined as ũ(t)=u.sub.mod,abc(t)−u.sub.abc(t) [0230] ū(t) Three-phase difference pulse pattern, defined as ū(t)=−u.sub.abc(t)−u*.sub.abc(t) [0231] X(t) State vector [0232] x*(t) Optimal (reference) trajectory of the state vector [0233] {tilde over (x)}(t) Small-signal error, defined as: {tilde over (x)}(t)=x(t)−x*(t) [0234] T.sub.p Prediction horizon in time, T.sub.p∈custom-character.sup.+ [0235] T.sub.s Sampling interval of the controller, T.sub.s∈custom-character.sup.+ [0236] n.sub.p Number of switching transitions in phase p occurring within the horizon [0237] n.sub.sw Total number of switching transitions within horizon, n.sub.sw=n.sub.a+n.sub.b+n.sub.c [0238] F System matrix in the continuous-time domain [0239] G Input matrix in the continuous-time domain [0240] P Parameter matrix in the continuous-time domain [0241] H Hessian matrix in the QP [0242] c Column vector in the QP

    Variables

    [0243] z(t) Scalar quantity in the continuous-time domain [0244] z Column vector referring to, e.g., a three-phase quantity

    Abbreviations

    [0245] ac Alternating current [0246] dc Direct current [0247] MPC Model predictive control [0248] MP.sup.3C Model predictive pulse pattern control [0249] NPC Neutral-point-clamped [0250] OPP Optimized pulse pattern [0251] PWM Pulse width modulation [0252] QP Quadratic program [0253] rms Root-mean-square

    [0254] While embodiments of the present disclosure have been illustrated and described in detail in the drawings and foregoing description, such illustration and description are to be considered illustrative or exemplary and not restrictive; the present disclosure is not limited to the disclosed embodiments. Other variations to the disclosed embodiments can be understood and effected by those skilled in the art from a study of the drawings, the disclosure, and the appended claims. In the claims, the word “comprising” does not exclude other elements or steps, and the indefinite article “a” or “an” does not exclude a plurality. A single processor or controller or other unit may fulfil the functions of several items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage. Any reference signs in the claims should not be construed as limiting the scope.