MODEL PREDICTIVE PULSE PATTERN CONTROL BASED ON OPTIMIZING A SEQUENCE OF AVERAGED SWITCH POSITIONS
20240097553 ยท 2024-03-21
Inventors
Cpc classification
H02M7/48
ELECTRICITY
H02M7/483
ELECTRICITY
H02M1/0025
ELECTRICITY
H02M7/53876
ELECTRICITY
H02M1/0012
ELECTRICITY
International classification
H02M7/483
ELECTRICITY
Abstract
A method for controlling an electrical converter system is provided herein. The method includes determining a switching signal and a reference trajectory of at least one electrical quantity of the electrical converter system over a horizon of future sampling instants; generating a sequence of averaged switch positions from the switching signal over the horizon; determining a sequence of optimized averaged switch positions with optimized averaged switch positions by optimizing a cost function based on the sequence of averaged switch positions; determining an optimized switching signal for the current sampling interval by moving switching transitions in the switching signal, such that the average of the switching signal with the modified switching transitions equals the optimized averaged switch position; and applying at least the next switching transition of the optimized switching signal for the current sampling interval to the electrical converter system.
Claims
1. A method for controlling an electrical converter system, the method comprising: determining a switching signal and a reference trajectory of at least one electrical quantity of the electrical converter system over a horizon of future sampling instants, wherein the switching signal and the reference trajectory are determined from a table of optimized pulse patterns, and wherein the switching signal comprises switching transitions between output levels of an electrical converter of the electrical converter system and the reference trajectory indicates a desired future trajectory of the at least one electrical quantity of the converter system; generating a sequence of averaged switch positions from the switching signal over the horizon, wherein the switching signal is divided into sampling intervals, wherein the sequence of averaged switch positions comprises an averaged switch position per sampling interval, and wherein the averaged switch position is determined by averaging the switching signal defined by the switching instants and output levels in the sampling interval; determining a sequence of optimized averaged switch positions with optimized averaged switch positions by optimizing a cost function based on the sequence of averaged switch positions, wherein the cost function comprises an error term with a difference of the reference trajectory and a predicted trajectory, wherein the cost function additionally comprises a term with a difference of the averaged switch positions and the optimized averaged switch positions, and wherein the predicted trajectory is determined over the horizon from a model of the converter system, into which a sequence of modified averaged switch positions and measurements of the converter system are input; determining an optimized switching signal for a current sampling interval by moving switching transitions in the switching signal, such that in the current sampling interval the average of the switching signal with the modified switching transitions equals the optimized averaged switch position; and applying at least the next switching transition of the optimized switching signal for the current sampling interval to the electrical converter system.
2. The method of claim 1, wherein sampling intervals without switching transitions are discarded from the sequence of averaged switch positions, and wherein the averaged switch positions are solely optimized in the sampling intervals comprising switching transitions.
3. The method of claim 1, wherein the sequence of optimized averaged switch positions is determined by solving a quadratic program into which the averaged switch positions, the reference trajectory trajectory, and the predicted trajectory are input.
4. The method of claim 1, wherein the sequence of optimized averaged switch positions is determined by optimizing the cost function subject to constraints; and wherein the averaged switch positions are constrained, such that the modified switching transitions stay within the respective sampling interval.
5. The method of claim 1, wherein the sequence of optimized averaged switch positions is determined by optimizing the cost function subject to constraints; and wherein the averaged switch positions are constrained, such that the modified switching transitions stay in the original order.
6. The method of claim 1, wherein the reference trajectory has a converter contribution, which is determined from the optimized pulse patterns; wherein the reference trajectory has a grid contribution, which is determined from an estimated sinusoidal grid voltage; and wherein the reference trajectory is the sum of the converter contribution and the grid contribution.
7. The method of claim 1, wherein the converter contribution to the reference trajectory is determined at support points with a different spacing as the controller sampling instants, and values of the reference trajectory at the sampling instants are determined by interpolation.
8. The method of claim 1, wherein the optimized pulse patterns and a converter contribution of the reference trajectory are determined offline and stored in a lookup table.
9. The method of claim 1, wherein the modified switching transitions of the optimized switching signal are determined by solving a linear program with a further cost function, which minimizes the differences of the unmodified switching transitions and the respective modified switching transitions.
10. A computer program, which when executed by a processor, is adapted for performing the method of claim 1.
11. A computer-readable medium, in which a computer program according to claim 10 is stored.
12. A controller for an electrical converter adapted for performing the method of claim 1.
13. A converter system, comprising: an electrical converter interconnected with an electrical grid; and a controller according to claim 12 for controlling the electrical converter.
14. The converter system of claim 13, further comprising: a resonant subsystem comprising at least an inductor, a filter, and/or a transformer; 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
[0055] The subject matter of the disclosure will be explained in more detail in the following text with reference to exemplary embodiments, which are illustrated in the attached drawings.
[0056]
[0057]
[0058]
[0059]
[0060]
[0061]
[0062]
[0063]
[0064]
[0065]
[0066]
[0067] In principle, identical parts are provided with the same reference symbols in the figures.
DETAILED DESCRIPTION
[0068]
[0069] Furthermore,
[0070] The LC-filter 14 may include filter inductors L.sub.1 and filter resistors R.sub.2 connected between the converter 12 and the transformer 16, and filter resistors R.sub.2 and filter capacitors C.sub.2 connected between the converter 12 and the transformer 16.
[0071]
[0072]
System Model
[0073] In the controller 20, a mathematical and/or physical system model is used, which is described with respect to the system 10 with the three-level NPC converter 12 connected to the grid 18 via the LC filter and the transformer as shown in
[0074] The converter system 10 may be connected to the grid 18 at the point of common coupling (PCC). Harmonic grid codes may be imposed at this point. To simplify the problem at hand, it may be assumed that the grid voltage and parameters are known. All quantities are referred to the secondary side of the transformer 16.
[0075] The three-phase converter current i.sub.c,abc(t), the capacitor voltage v.sub.cap,abc(t), the grid current i.sub.g,abc(t), the grid voltage v.sub.g,abc(t) and the converter voltage v.sub.c,abc(t) are transformed by a Clarke transformation (6, see below) to the stationary orthogonal ?? reference frame. The system model is shown in
[0076] From this, the following dynamical equations of the system 10 in the stationary orthogonal reference frame are derived
[0077] The converter voltage
[0079] A state vector
x.sub.??(t)=[i.sub.c,??.sup.T(t) v.sub.cap,??.sup.T(t) i.sub.g,??.sup.T(t) v.sub.g,??.sup.T(t)].sup.T (3) [0080] is chosen, and the grid voltages are introduced as additional state variables in the system 10. The model of the converter system 10 in the ?? frame is then
[0081] The system output
a. y.sub.??(t)=[i.sub.c,??.sup.T(t) v.sub.cap,??.sup.T(t) i.sub.g,??.sup.T(t)].sup.T [0082] includes the converter current, capacitor voltage and grid current. The dimensions of the state, input and output vectors are given by n.sub.x, n.sub.u and n.sub.y, respectively. The system matrix F?.sup.n.sup.
.sup.n.sup.
.sup.n.sup.
[0083] The controller operates at the discrete time instants t=kT.sub.s, with k?N. Transforming the continuous-time dynamical system (4) to the discrete-time domain with the sampling interval T.sub.s is done by exact discretization of the system:
x.sub.??(k+1)=Ax.sub.??(k)+Bv.sub.abc(k)
y.sub.??(k)=Cx.sub.??(k), (5) [0084] where A=e.sup.FT.sup.
Clarke Transformation
[0085] A Clarke transformation is used to translate three-phase quantities from the abc system to the stationary orthogonal reference frame. More specifically, the Clarke transformation translates the three-phase quantity ?.sub.abc=[?.sub.a?.sub.b?.sub.c].sup.T to the vector ?.sub.??=[?.sub.??.sub.?].sup.T and vice versa by:
?.sub.??=K.sub.???.sub.abc and ?.sub.abc=K.sub.??.sup.?1?.sub.??, (6) [0086] where K.sub.?? and K.sub.??.sup.?1 are the transformation matrices given by:
[0087] The scaling factor ? is needed to ensure invariance of the amplitudes.
Continuous-Time System Model
[0088] (2) is inserted into (1), and the notation is simplified by combining the grid and transformer inductances and resistances to
L.sub.3=L.sub.t+L.sub.g and R.sub.3=R.sub.t+R.sub.g.
[0089] This leads to
[0090] When it is assumed that the grid voltages are perfectly sinusoidal quantities, they can be stated in the stationary orthogonal coordinate system as
where {circumflex over (v)}.sub.g is the amplitude of the grid voltage, ?.sub.g=2?f.sub.g is the angular grid frequency, and ?.sub.g is the phase angle. The derivative of the grid voltage follows as
[0091] Writing (8) in vector notation with the definition of the state vector (3) directly leads to the compact continuous-time model (4) with the system, input and output matrices
Note that I.sub.2 and 0.sub.2 are the identity and the zero matrix of the size 2?2, respectively. The identity matrix I.sub.6 is of the size 6?6.
Overall Control Method
[0092] A block diagram of a controller 20 for performing the method as described above and below is shown in
[0093] In the converter voltage determination block 24, the amplitude of the grid voltage is obtained from the absolute value of the measured grid voltage. From the real and reactive power references, P* and Q*, the required load angle ?* can be obtained. This may be done with the help of a phasor analysis using the system model shown in
[0094] The modulation index m is passed to the reference and pattern loader 26 together with the specified pulse number d. Based on these two parameters, the required OPP is loaded from a look-up table. The OPP is represented by the single-phase vectors A* and U*. The former holds the switching angles over one fundamental waveform, whereas the latter holds the corresponding single-phase switch positions.
[0095] The corresponding reference trajectory Y*.sub.1conv,??(?) with a converter contribution is also loaded from the lookup table, which provides the references for the output variables when applying the OPP and when assuming a zero grid voltage. The reference trajectory Y*.sub.1conv,??(?) may be provided at the angle samples ?*.sub.1.
[0096] In the switching table determination block 28, the switching table holds in each phase the next n.sub.p, with p?{a,b,c}, switching transitions within a prediction horizon interval. To compute the entries of the switching table, which correspond to a switching signal, the three-phase pulse pattern is created from the single-phase vectors A* and U*. The desired angular position ?*.sub.c on the pulse pattern is determined with the help of the voltage grid angle ?.sub.g at the current sampling time and the load angle. The switching angles are translated into switching instants by
where ?.sub.g denotes the angular grid frequency. A suitable time offset might be subtracted from t*.sub.pi in (11). Finally, the switching transitions that fall within the prediction horizon are selected and stored with their nominal switching instant t*.sub.pi and switch position u*.sub.pi in the three-phase switching signal T*.sub.abc and U*.sub.abc.
[0097] In the reference trajectory determination block 30, the reference trajectories Y*.sub.??(k) for at least one electrical quantity of the converter system 10 are determined from the reference trajectory Y*.sub.1conv,??(?) with the converter contribution and further quantities. The offline computed reference trajectory Y*.sub.1conv,??(?) may be a function of only the converter voltage (the grid voltage is set to zero) at the support points ?*.sub.1. During online operation, the desired angular position ?*.sub.c on the trajectory may be determined, and the reference vectors Y*.sub.conv,??(k) for the next N sampling instants may be selected by interpolation. The grid-voltage-dependent trajectory Y*.sub.grid,??(k) is computed and both trajectories are superimposed. This will be described in more detail with respect to
[0098] The pulse pattern controller 32, which is described in more detail with respect to
[0099] Typically, the switching instants within the current sampling interval along with the new switch positions are provided to the converter. This concept may be based on time stamps. Alternatively, a single switch position can be computed, e.g. by rounding the averaged switch position to the nearest integer switch position.
Pulse Number, Switching Signal and Optimized Pulse Patterns
[0100] For the converter 12 of
is the time. The pulse number
[0103] To characterize the general periodic switching signal, a fundamental period of 2? is assumed. The 2?-periodic switching signal u*(?) with pulse number d is defined by 4d switching angles ?*.sub.i with i?{1, . . . , 4d} and 4d+1 switch positions u*.sub.i with i?{0, . . . , 4d}, see
?u*.sub.i=u*.sub.i?u*.sub.i?1. (14)
[0104] Switching by more than one level up or down is generally prohibited for multi-level converters; this restricts the switching transitions to ?u*.sub.i?{?1,1}. Furthermore, for the three-level converter, the switch positions are restricted to u*.sub.i?{?1,0,1}.
[0105]
[0106] Optimized pulse patterns A*, U* may be the solution to an optimization problem subject to constraints. From the definition of the general switching signal follows that there are two sets of optimization variables in the optimization problem: the set of switching angles A*=[?*.sub.1 . . . ?*.sub.4d].sup.T and the set of switch positions U*=[u*.sub.0 u*.sub.1 . . . u*.sub.4d].sup.T, which also contains the initial switch position.
[0107] Typically, a cost function J(A*, U*) for optimizing the optimized pulse patterns A*, U* may capture the total demand distortion (TDD) of the current, which is either the grid current of a grid-connected converter or the stator current of a machine-side inverter. The current TDD
[0109] The general OPP optimization problem minimizes the objective function J(A*, U*) subject to the following constraints: [0110] The dc-component of the switching signal is zero; [0111] The phase of the fundamental component is zero; [0112] The amplitude of the fundamental component, ?.sub.1, is equal to the modulation index m; [0113] The switching angles are sorted in an ascending order; and [0114] The switching transitions ?u*.sub.i are limited to ?1.
[0115] This leads to the general OPP optimization problem of the following form:
Reference Trajectories
[0117] The reference trajectories may be the steady-state waveforms of the nominal output variables over one fundamental period. These are directly obtained from the nominal OPP (assuming no disturbances, no dc-link voltage ripple, no ripple on the neutral point potential, etc.). Note that the output variables are a subset of the states.
[0118] In order to calculate the reference trajectories, the converter and grid voltages may be considered separately as inputs to the system using the notion of superposition. In this way, the grid voltages may be removed from the state vector, and the reduced state vector
{tilde over (x)}.sub.??(t)=[i.sub.c,??.sup.T(t) v.sub.cap,??.sup.T(t) i.sub.g,??.sup.T(t)].sup.T
with ?.sub.x=6 state variables may be defined. The corresponding continuous-time state-space model
treats the grid voltage as a time-varying parameter. In this model, the state and output variables are the same; this implies ?.sub.y=?.sub.x.
[0119] To compute the matrices of the reduced state-space model (17a), the grid voltage may be treated as a parameter instead of a state variable. The new system matrix {tilde over (F)} can be derived from F by removing the seventh and eighth dimension
[0120] The input matrix G may be replaced by the two new input matrices
Reference Trajectory Computation
[0121] The controller requires the reference vectors at the next N sampling instants
Y*.sub.??(k)=[y*.sub.??.sup.T(k+1) y*.sub.??.sup.T(k+2) . . . y*.sub.??.sup.T(k+N)].sup.T.
[0122] By using the method of superposition, the contributions to the reference trajectories of the converter voltage Y*.sub.conv,??(k) and of the grid voltage Y*.sub.grid,??(k) are computed separately. This is shown in
Converter Contribution Trajectory Computation (Block 36)
[0123] Consider the nominal OPP with the modulation index m and pulse number d with the vector of switching angles A* and the vector of switch positions U*. From these, the three-phase switching signal u*.sub.abc(?) can be constructed, which has 4d switching transitions in any of the three phases. A single switching angle vector is created, containing the n=3.Math.4d switching angles sorted in ascending order ?=[?.sub.0 ?.sub.1 ?.sub.2 . . . ?.sub.n+1].sup.T. New names are assigned to the switching angles according to their sorted position. Note that the initial angle ?.sub.0=0 and the terminal angle ?.sub.n+1=2? are added to ease the computation over one fundamental period of 2?.
[0124] The constant three-phase switch position u*.sub.abc(?.sub.i) may be determined between two consecutive switching angles ?.sub.i and ?.sub.i+1. Given the state vector {tilde over (x)}.sub.conv,??(?.sub.i) at ?.sub.i the state vector at the next switching angle ?.sub.i+1 is computed using (17a) in which the grid voltage v.sub.g,?? is set to zero:
{tilde over (x)}.sub.conv,??(?.sub.i+1)=e.sup.{tilde over (F)}(?.sup.
a. =?.sub.i{tilde over (x)}.sub.conv,??(?.sub.i)+{tilde over (B)}.sub.iu*.sub.abc(?.sub.i), (20) [0125] where
i. ?.sub.i=e.sup.{tilde over (F)}(?.sup.
i. {tilde over (x)}.sub.conv,??(?.sub.1)=?.sub.0{tilde over (x)}.sub.conv,??(?.sub.0)+{tilde over (B)}.sub.0u*.sub.abc(?.sub.0) (22)
ii. {tilde over (x)}.sub.conv,??(?.sub.2)=?.sub.1{tilde over (x)}.sub.conv,??(?.sub.1)+{tilde over (B)}.sub.1u*.sub.abc(?.sub.1)
a. =?.sub.1?.sub.0{tilde over (x)}.sub.conv,??(?.sub.0)+?.sub.1{tilde over (B)}.sub.0u*.sub.abc(?.sub.0)+{tilde over (B)}.sub.1u*.sub.abc(?.sub.1) (23)
iii. {tilde over (x)}.sub.conv,??(?.sub.3)=?.sub.2{tilde over (x)}.sub.conv,??(?.sub.2)+{tilde over (B)}.sub.2u*.sub.abc(?.sub.2)
a. =?.sub.2?.sub.1?.sub.0{tilde over (x)}.sub.conv,??(?.sub.0)+?.sub.2?.sub.1{tilde over (B)}.sub.0u*.sub.abc(?.sub.0)+
b. ?.sub.2{tilde over (B)}.sub.1u*.sub.abc(?.sub.1)+{tilde over (B)}.sub.2u*.sub.abc(?.sub.2) (24) [0127] c.
iv. {tilde over (x)}.sub.conv,??(?.sub.n+1)=?.sub.n{tilde over (x)}.sub.conv,??(?.sub.n)+{tilde over (B)}.sub.nu*.sub.abc(?.sub.n)
a. =?.sub.n?.sub.n?1 . . . ?.sub.0{tilde over (x)}.sub.conv,??(?.sub.0)+?.sub.n?.sub.n?1 . . . ?.sub.1{tilde over (B)}.sub.0u*.sub.abc(?.sub.0)+
b. ?.sub.n?.sub.n?1 . . . ?.sub.2{tilde over (B)}.sub.1u*.sub.abc(?.sub.1)+ . . . +?.sub.n?.sub.n?1{tilde over (B)}.sub.n?2u*.sub.abc(?.sub.n?2)+
c. ?.sub.n{tilde over (B)}.sub.n?1u*.sub.abc(?.sub.n?1)+{tilde over (B)}.sub.nu*.sub.abc(?.sub.n) (25)
[0128] The product of the matrices can be simplified by noting that
?.sub.n?.sub.n?1 . . . ?.sub.i=e.sup.{tilde over (F)}(?.sup.
[0129] The first term in (25) further reduces to
?.sub.n?.sub.n?1 . . . ?.sub.0=e.sup.{tilde over (F)}(?.sup.
[0130] With (26) and (27), (25) can be rewritten as
{tilde over (x)}.sub.conv,??(?.sub.n+1)=e.sup.{tilde over (F)}2?{tilde over (x)}.sub.conv,??(?.sub.0)+?.sub.i=0.sup.ne.sup.{tilde over (F)}(?.sup.
[0131] Due to periodicity,
{tilde over (x)}.sub.conv,??(?.sub.0)={tilde over (x)}.sub.conv,??(?.sub.n+1). (29)
[0132] With (28) inserted into (29), the initial state vector
{tilde over (x)}.sub.conv,??(?.sub.0)=[I.sub.?.sub.
[0134] In the following, the evolution of the nominal output vector over the fundamental period is computed. To do so, the angle between 0 and 2? is gridded with the angle interval ??*, and the output vectors at the reference angles ?*.sub.1=[0 ??* . . . 2?].sup.T are computed with the reduced system model (17a)
The reference sampling instants ?*.sub.1 and the resulting trajectory of nominal output vectors
Y*.sub.1conv,??(?)=[y*.sub.conv,??.sup.T(0) y*.sub.conv,??.sup.T(??*) . . . y*.sub.conv,??.sup.T(2?)].sup.T (32)
may be stored for one fundamental period in a look-up table. This may be done for each pulse number and modulation index.
Reference Selector (Block 38)
[0135] The reference selector 38 may load the precomputed output trajectories Y*.sub.1conv,??(?) for the appropriate pulse number d and modulation index m, and may select from these the reference vectors for the next N sampling instants in the following way, see also
?*.sub.c=?.sub.g+?*. (33)
[0136] The load angle depends on the real and reactive power references, P* and Q*. In
[0137] The nominal output vectors over the prediction horizon N
Y*.sub.conv,??(k)=[y*.sub.conv,??.sup.T(k+1) y*.sub.conv,??.sup.T(k+2) . . . y*.sub.conv,??.sup.T(k+N)].sup.T
may be computed by interpolation.
Grid Contribution Trajectory Computation (Block 40)
[0138] For the online computation of the output trajectories as a function of the grid voltage, the converter voltage in (17a) may be set to zero and a perfect sinusoidal grid voltage may be assumed. The corresponding state vector is {tilde over (x)}.sub.grid,??. The grid voltage is given in stationary orthogonal ?? coordinates by
and evolves according to the differential equation
[0140] The derivative of the state vector can be explicitly determined, and (17a) can be rewritten as
[0141] Note that 0.sub.2 is the 2?2 zero matrix. Rearranging (37), the nominal output vector can be obtained as a function of the grid voltage
y*.sub.grid,??(k)=[R?{tilde over (F)}].sup.?1{tilde over (G)}.sub.2v.sub.g,??(k), (38) [0142] where (17b) has been used. The matrix
Superposition of the Reference Trajectories
[0143] By superposition, the overall resulting output trajectory of the system is derived as
Y*.sub.??(k)=Y*.sub.conv,??(k)+Y*.sub.grid,??(k), (39) [0144] which contains the output vectors for the next N sampling instants, i.e.,
Y*.sub.??(k)=[y*.sub.??.sup.T(k+1) y*.sub.??.sup.T(k+2) . . . y*.sub.??.sup.T(k+N)].sup.T. (40)
[0145] This trajectory includes the offline computed contribution from the OPP and the online computed contribution from the grid voltage. It may be used by the controller 20 as a reference for the output variables over a prediction horizon.
Pulse Pattern Controller
[0146]
[0147] In particular, at the sampling instants kT.sub.s, the switching table with the entries U*.sub.abc and T*.sub.abc contains the nominal three-phase switch positions and the nominal switching instants of the continuous-time OPP between the current time kT.sub.s and the end of the prediction horizon (k+N)T.sub.s. From this, the real-valued discrete-time sequence of nominal averaged switch positions V*.sub.abc(k) is generated over the prediction horizon by the switching signal transformation explained hereafter.
Switching Signal Transformation (Block 42)
[0148] Block 42 translates the continuous-time switching signal u*.sub.abc(t) into the discrete-time averaged switch positions v*.sub.abc(k). This is done separately for each phase. The discrete-valued switching signal u*.sub.p(t)?{?1,0,1}, with p?{a,b,c} and t?[kT.sub.s,(k+1)T.sub.s] is turned into the real-valued averaged switch position v*.sub.p(k)?[?1,1], which has the same average switch position within the kth sampling interval.
[0149]
[0150] The single-phase switching signal u*.sub.p(t) is constructed from the nominal switching table with the entries T*.sub.abc and U*.sub.abc. This switching signal is defined from the current sampling instant kT.sub.s until the end of the prediction horizon (k+N)T.sub.s. The switching signal approximation, the averaged switch position, is derived by averaging the continuous-time switching signal over the kth sampling interval [kT.sub.s,(k+1)T.sub.s] according to
[0151] Let n.sub.pk be the number of switching transitions occurring in phase p within the kth sampling interval
kT.sub.s?t*.sub.p1?t*.sub.p2? . . . ?t*.sub.pn.sub.
[0152] For simplification in the derivation, the interval limits are renamed to
t*.sub.p0=kT.sub.s and t*.sub.p,n.sub.
[0153] The switching signal has the constant switch position u*.sub.pi between the switching instants t*.sub.pi and t*.sub.p,i+1. With this, (41) is solved by splitting the integral into n.sub.pk+1 intervals of constant switch position, which leads to
[0154] Defining the ith time interval of constant switch position
?.sub.pi=t*.sub.p,i+1?t*.sub.pi with i=0, 1, . . . , n.sub.pk, (45) [0155] (44) can be further simplified to
[0156] This equation states the general transformation of the single-phase switching signal to the averaged switch position in the kth sampling interval, i.e. the kth averaged switch position, with n.sub.pk switching transitions in the kth sampling interval.
[0157] When n.sub.pk=0, meaning there is no switching transition within the kth sampling interval, the time interval of constant switch position ?.sub.p0, as defined in (45), is
?.sub.p0=T.sub.s. (47)
[0158] Inserting (47) in (46) results in
v*.sub.p(k)=u*.sub.p0, (48) [0159] which implies that the averaged switch position corresponds to the switch position of the nominal OPP during that sampling interval.
[0160] The nominal averaged switch positions of each phase for the kth sampling interval are aggregated in the three-phase nominal averaged switch position vector v*.sub.abc(k)=[v*.sub.a(k) v*.sub.b(k) v*.sub.c(k)].sup.T. The sequence of averaged switch positions may include averaged switch positions from the current sampling instant kT.sub.s until the end of the horizon at (k+N)T.sub.s
V*.sub.abc(k)=[v*.sub.abc.sup.T(k) v*.sub.abc.sup.T(k+1) . . . v*.sub.abc.sup.T(k+N?1)].sup.T. (49)
Constraints on the Averaged Switch Positions
[0161] The three-phase averaged switch positions over the prediction horizon may be the manipulated variables of the controller. Their sequence may be defined as the vector
V.sub.abc(k)=[v.sub.abc.sup.T(k) v.sub.abc.sup.T(k+1) . . . v.sub.abc.sup.T(k+N?1)].sup.T. (50)
[0162] Consider phase p and assume n.sub.pk switching transitions in the kth sampling interval. Let t.sub.pi denote the ith modified switching instant, with i?{1, 2, . . . , n.sub.pk}. It is required that the order of the switching instants remains unchanged in each phase. To achieve this, the constraint
kT.sub.s?t.sub.p1?t.sub.p2? . . . ?t.sub.pn.sub.
[0164] Let v.sub.p(k) denote the modified averaged switch position in phase p and in the kth sampling interval. This variable is manipulated by the controller within the bounds
v.sub.p(k)?v.sub.p(k)?
[0166] These definitions hold true independent of the number of switching transitions in that sampling interval.
[0167] In sampling intervals in which no switching transition occurs, i.e., for which n.sub.pk=0, the averaged single-phase switch position remains equal to the nominal switching signal u*.sub.p(t) at the kth sampling instant, i.e.,
v.sub.p(k)=u*.sub.p(kT.sub.s). (54)
[0168] With the above described constraints, the switching instants cannot be moved out of their respective sampling interval, see (51). This implies that the lower and upper constraints on the averaged switch positions are determined by the minimum and maximum switch position that can be synthesized in that sampling interval.
[0169] To relax the restriction imposed by the sampling interval, the bounds may be relaxed by a given ?v.sub.p,max such that the switching instants are allowed to be moved beyond their corresponding sampling intervals.
[0170] Alternatively, the sampling interval restrictions can be fully removed. Consider phase p, with p?{a,b,c}, and consider its n.sub.p switching transitions within the prediction horizon. The constraint (51) is then generalized to the whole prediction horizon interval, i.e.,
kT.sub.s?t.sub.p1?t.sub.p2? . . . ?t.sub.pn.sub.
[0171] The lower constraint at kT.sub.s ensures that switching instants are not moved into the past. The upper constraint at (k+N)T.sub.s limits the last switching instant t.sub.pn.sub.), with
?{k, k+1, . . . , k+N}. These constraints may be added for each phase p. A coupling constraint between the three phases may not be required.
Optimization Stage (Block 44)
[0172] In block 44, the method achieves trajectory tracking by modifying the sequence of averaged switch positions such that the predicted tracking error within the prediction horizon is minimized at the sampling instants. The required inputs are the measured (or estimated) state vector x.sub.??(k), the reference trajectory Y*.sub.??(k), the sequence of nominal averaged switch positions V*.sub.abc(k), and the discrete-time system model (5). The latter is used to predict the tracking error at each sampling instant within the prediction horizon. The controller manipulates the sequence of averaged switch positions V.sub.abc(k) defined in (50).
Cost Function
[0173] The cost function of the optimization problem may be defined as
J(V.sub.abc(k))=?.sub.=k.sup.k+N?1?y*.sub.??(
+1)?y.sub.??(
+1)?.sub.Q.sup.2+?.sub.v?v*.sub.abc(
)?v.sub.abc(
)?.sub.2.sup.2. (56)
[0174] The cost function is a function of the sequence of averaged switch positions over the prediction horizon, V.sub.abc(k). The tracking error y*.sub.??(+1)?y.sub.??(
+1) is the difference between the optimal steady-state reference trajectory, computed in (39), and the output predictions, which are obtained from the discrete-time system model (5) using V.sub.abc(k) as input. The positive definite penalty matrix Q adjusts the weight on the tracking error for each output variable. Note that ???.sub.Q.sup.2=?.sup.TQ?.
[0175] The control effort corresponds to the degree with which the averaged switch positions are corrected. It may be defined as the 2-norm of the difference v*.sub.abc()?v.sub.abc(
) between the nominal and the modified averaged switch positions. The control effort is penalized with the scalar weight ?.sub.v>0.
Constraints
[0176] The constraints on the averaged switch position (52) may be derived for each phase and sampling interval by Algorithm 1.
TABLE-US-00001 Algorithm 1 Averaged switch position constraint 1: for p ? {a, b, c} do 2: for = k to k + N ? 1 do 3: if
i such that
T.sub.s ? t.sub.pi ? (
+ 1)T.sub.s, i ? {1, . . . , n.sub.p} then 4: v.sub.p(
) = u.sub.p.sup.*(
T.sub.s) 5: else i. v.sub.p(
) ? v.sub.p(
) ?
) with
[0177] The upper bounds on the averaged switch positions are aggregated in
[0178] The lower bounds are aggregated accordingly in the vector V.sub.abc(k). This gives the general formulation for the constraints
[0179] Note that I.sub.3N denotes the identity matrix of the size 3N?3N.
[0180] One of the main benefits of MPC is its ability to impose constraints on state, input and output variables. It may be beneficial to impose constraints on the output (or controlled) variables to limit overshoots during transients and faults. By limiting the converter current and capacitor voltage to their safe operating area with the help of output constraints, damage to the converter and its passive components can be avoided.
[0181] Based on the current state vector x.sub.??(k) and the sequence of future manipulated variables V.sub.abc(k), the future output variables Y.sub.??(k) can be predicted. It is straightforward to impose upper and lower constraints on these output variables. To ensure that a solution to the quadratic program always exists, i.e. that a sequence of manipulated variables V.sub.abc(k) can be computed for the given state vector and OPP in all circumstances, it is advisable to impose the constraints on the output variables as soft constraints. These introduce slack variables in the inequality constraints, which are heavily penalized in an additional term in the objective function. In doing so, (slight) violations of the output constraints are possible, albeit at the expense of a huge penalty in the objective function.
Quadratic Program
[0182] The cost function J in (56), the inequality constraints (58) and the discrete-time system model (5) form the basis to formulate the optimization problem underlying the present method. The following optimization problem can be formulated
[0183] To solve this problem, it can be reformulated in the conventional quadratic program (QP) form.
[0184] The sequence of predicted output variables over the prediction horizon computed at the current sampling instant kT.sub.s is
Y.sub.??(k)=[y.sub.??.sup.T(k+1) y.sub.??.sup.T(k+2) . . . y.sub.??.sup.T(k+N)].sup.T, (61) [0185] which can be derived as a function of the current state vector and the sequence of modified averaged switch positions by recursively inserting (5). This leads to
Recall that V.sub.abc(k) is the sequence of modified averaged switch positions defined in (50). Define the penalty matrix
a. {tilde over (Q)}=diag(Q, Q, . . . , Q), [0186] where {tilde over (Q)}?.sup.6N?6N. With this definition and with (62), the cost function (56) can be rewritten as
J=(Y*.sub.??(k)??x.sub.??(k)?YV.sub.abc(k)).sup.T{tilde over (Q)}(Y*.sub.??(k)??x.sub.??(k)?YV.sub.abc(k))+?.sub.v(V*.sub.abc(k)?V.sub.abc(k)).sup.T(V*.sub.abc(k)?V.sub.abc(k)). (63)
[0187] In the end, the cost function is
J=?V.sub.abc.sup.T(k)HV.sub.abc(k)+?.sup.T(k)V.sub.abc(k)+?(k), (64) [0188] with
i. H=2[Y.sup.T{tilde over (Q)}Y+?.sub.vI.sub.3N](65)
ii. ?(k)=2[Y.sup.T{tilde over (Q)}(?x.sub.??(k)?Y*.sub.??(k))??.sub.vV*.sub.abc(k)](66)
iii. ?(k)=?Y*.sub.??(k)??x.sub.??(k)?.sub.{tilde over (Q)}.sup.2+?.sub.v?V*.sub.abc(k)?.sub.2.sup.2. (67)
[0189] Note that the term ?(k) remains constant during the optimization and can thus be neglected in the cost function.
[0190] In summary, the quadratic program (QP)
subject to GV.sub.abc(k)?g [0191] results, where the Hessian matrix H and the parameter vector ?(k) are defined in (65) and (66), respectively. By solving the QP at time step k, the sequence of optimal averaged three-phase switch positions over the prediction horizon, V.sub.abc(k), is obtained.
[0192] By subtracting the sequence of nominal averaged switch positions, the sequence of optimal averaged switch position modifications
Lower Dimensional Quadratic Program
[0194] The proposed control method may be extended in various ways. The optimization vector of the QP, V.sub.abc(k), is of the dimension 3N, owing to the three phases and the prediction horizon N. The time required to solve the QP strongly depends on the dimension of V.sub.abc(k). To speed up the computations, the problem dimension can be easily reduced. Recall that the controller 20 may only be allowed to modify the averaged switch position in sampling intervals in which at least one switching transition occurs. Conversely, in this case, the averaged switch position cannot be manipulated in sampling intervals without a switching transition; the averaged switch position in these sampling intervals is, thus, fixed, and can be removed as a degree of freedom. This means that the dimension of the optimization vector can be reduced accordingly. However, the Hessian matrix then becomes a time-varying matrix.
Switching Instants as Decision Variables
[0195] In an alternative problem formulation, the switching instant modifications of the switching transitions ?t.sub.pi may be used as decision variables. As before, the averaged switch positions v.sub.p(k) are used as input to the discrete-time system model (5). However, the sequence of averaged switch positions V.sub.abc(k), see (50), is considered now an auxiliary variable, not the decision variable. The averaged switch positions are obtained from the nominal averaged switch positions v*.sub.p(k) (46) and the averaged switch position modifications ?v.sub.p(k) according to
v.sub.p(k)=v*.sub.p(k)+?v.sub.p(k). (69)
[0196] At each time step ?{k, k+1, . . . , k+N} within the prediction horizon and for each phase p, with p?a, b, c, equality constraints of the form
[0198] The switching instant modifications in the three phases within the prediction horizon are aggregated in the vector
?T=[?t.sub.a1 ?t.sub.a2 . . . ?t.sub.an.sub.
[0199] The following QP can be derived: The cost function is the same as in (68). Additional equality constraints of the form (70) are added. The constraints (55) are added as inequality constraints with the help of t.sub.pi=t*.sub.pi+?t.sub.pi. The decision variable, over which the QP is solved, is the vector ?T as defined in (71).
Back Transformation (Blocks 46, 48 and 50)
[0200] The sequence of averaged switch position modifications ?V.sub.abc(k) in the discrete-time domain may be translated back into switching instant modifications
?t.sub.abc=[?t.sub.a1 ?t.sub.a2 . . . ?t.sub.an.sub.
[0202] Consider the single-phase averaged switch position modification in the kth sampling interval
?v.sub.p(k)=v.sub.p(k)?v*.sub.p(k), (73) [0203] where v.sub.p(k) is the modified averaged switch position in the kth sampling interval. Recall that n.sub.pk denotes the number of nominal switching transitions in the kth sampling interval, and that the sampling interval limits are renamed according to (43). In (73), v*.sub.p(k) is substituted with (44); v.sub.p(k) can be replaced by an equivalent equation without the superscript *. This results in
[0204] Note that according to (43) the first and last switching instants for the modified and nominal averaged switch positions are equal, as they correspond to the sampling interval limits
t.sub.p0=t*.sub.p0=kT.sub.s and t.sub.p,n.sub.
[0205] Furthermore, the ith switching instant modification in phase p is defined
?t.sub.pi=t.sub.pi?t*.sub.pi (76) [0206] as the difference between the modified switching instant t.sub.pi and the nominal switching instant t*.sub.pi. With (75) and (76), the sums in (74) reduce to
[0207] With the definition of the switching transition ?u*.sub.pi in (14), (77) simplifies to
[0208] Thus, the relationship
?v.sub.p(k)T.sub.s=??.sub.i=1.sup.n.sup.
[0210] To compute the switching instant modifications, the linear optimization problem
Receding Horizon Policy
[0212] The controller 20 may operate in a receding horizon fashion, as illustrated for the single-phase case in
[0213] At time instant kT.sub.s, the controller determines the sequence of optimal averaged switch positions over the prediction horizon of N steps V.sub.p(k)=[v.sub.p(k) v.sub.p(k+1) . . . v.sub.p(k+N?1)].sup.T, see
[0214] At the next sampling instant (k+1)T.sub.s, the controller 20 receives new reference values and a new state vector. Based on these, a new optimization problem is formulated and solved. The solution to this problem is the sequence of modified averaged switch positions V.sub.p(k+1), see
[0215] In general, the receding horizon policy may provide feedback and a high degree of robustness in the presence of unmodeled disturbances and inaccuracies in the model.
Symbols
[0216] t Time, t?.sup.+ [0217] k Discrete time step, k?
[0218]
Discrete time step within the prediction horizon,
?{k, k+1, . . . , k+N} [0219] d Pulse number, d?
[0220] m Modulation index, m?[0,4/?] [0221] ?*.sub.i Nominal ith switching angle, ?*.sub.i?[0,2?] [0222] u*.sub.i Nominal ith single-phase switch position, e.g., u*.sub.i?{?1,0,1} [0223] ?u*.sub.i Nominal ith switching transition, ?u*.sub.i?{?1,1} [0224] u*.sub.abc(t) Three-phase nominal switching signal in continuous-time, e.g. u*.sub.abc?{?1,0,1}.sup.3 [0225] v.sub.g,??(t) Grid voltage in stationary orthogonal ?? coordinates [0226] i.sub.g,??(t) Grid current in stationary orthogonal ?? coordinates [0227] v.sub.cap,??(t) Capacitor voltage in stationary orthogonal ?? coordinates [0228] v.sub.c,??(t) Converter voltage in stationary orthogonal ?? coordinates [0229] i.sub.c,??(t) Converter current in stationary orthogonal ?? coordinates [0230] x.sub.??(t) State variable in stationary orthogonal ?? coordinates [0231] y.sub.??(t) Output variable in stationary orthogonal ?? coordinates [0232] F, {tilde over (F)} System matrices in the continuous-time domain [0233] G, {tilde over (G)}.sub.1, {tilde over (G)}.sub.2 Input matrices in the continuous-time domain [0234] A, ?.sub.i System matrices in the discrete-time domain [0235] B, {tilde over (B)}.sub.i Input matrices in the discrete-time domain [0236] C Output matrix in the continuous-time and discrete-time domain [0237] ?.sub.g Fundamental angular grid frequency [0238] ?.sub.g Grid voltage phase angle [0239] N Prediction horizon, N?
[0240] ?*.sub.1 Sampling angles for the reference trajectory computation based on the converter voltage, ?*.sub.1?[0,2?] [0241] Y*.sub.1conv,??(?) Reference trajectory based on the converter voltage sampled at ?*.sub.1 over one fundamental period in stationary orthogonal ?? coordinates [0242] Y*.sub.conv,??(k) Reference trajectory contribution from the converter voltage over the horizon computed at time instant kT.sub.s in stationary orthogonal ?? coordinates [0243] Y*.sub.grid,??(k) Reference trajectory contribution from the grid voltage over the horizon computed at time instant kT.sub.s in stationary orthogonal ?? coordinates [0244] Y*.sub.??(k) Reference trajectory for the controller over the horizon computed at time instant kT.sub.s in stationary orthogonal ?? coordinates [0245] t.sub.pi Modified ith switching instant in phase p, t.sub.pi?
[0246] ?t.sub.pi Switching instant correction in phase p for the ith switching transition, ?t.sub.pi?
[0247] T.sub.s Sampling interval, T.sub.s?
.sup.+ [0248] n.sub.p Number of switching transitions in phase p occurring within the prediction horizon, n.sub.p?
[0249] n.sub.pk Number of switching transitions in phase p in the kth sampling interval, n.sub.pk?
[0250] v.sub.abc(k) Three-phase modified averaged switch position in the kth sampling interval, v.sub.abc?[?1,1].sup.3 [0251] V*.sub.abc(k) Sequence of nominal three-phase averaged switch positions over the horizon starting at the kth sampling interval, V*.sub.abc?[?1,1].sup.3N [0252] V.sub.abc(k) Sequence of modified (or optimized) three-phase averaged switch positions over the horizon starting at the kth sampling interval, V.sub.abc?[?1,1].sup.3N [0253] ?v.sub.p(k) Correction of the averaged switch position in phase p in the kth sampling interval, ?v.sub.p?
[0254] ?V.sub.abc(k) Sequence of three-phase averaged switch position modifications over the horizon starting at the kth sampling interval, ?V.sub.abc?
.sup.3N [0255] H Hessian matrix in the QP
Variables
[0256] z(t) Scalar quantity in the continuous-time domain [0257] z(k) Scalar quantity in the discrete-time domain [0258] z Column vector referring to, e.g., a three-phase quantity [0259] Z Column vector referring to a sequence of scalar or vector quantities over multiple time instants, or a matrix
Superscripts
[0260] i*, u* Current reference or nominal switching signal [0261] {tilde over (x)} State vector of reduced dimension [0262] z.sup.T Row vector [0263] ?.sub.n Amplitude of nth switching signal harmonic
Abbreviations
[0264] dc Direct current [0265] LP Linear program [0266] MPC Model predictive control [0267] MP.sup.3C Model predictive pulse pattern control [0268] MP.sup.3C.sup.+ Generalized model predictive pulse pattern control [0269] NPC Neutral-point-clamped [0270] OPP Optimized pulse pattern [0271] PCC Point of common coupling [0272] QP Quadratic program [0273] rms Root-mean-square [0274] TDD Total demand distortion
[0275] While the disclosure has 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 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 and practising the claimed disclosure, 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.