Model predictive control of a converter based on pulse width modulated switching patterns

11398791 · 2022-07-26

Assignee

Inventors

Cpc classification

International classification

Abstract

A method for controlling a three-phase electrical converter includes selecting a three-phase optimized pulse pattern from a table of pre-computed optimized pulse patterns based on a reference flux. The method includes determining a two-component optimal flux from the optimized pulse pattern and a one-component optimal third variable. The method includes determining a two-component flux error from a difference of the optimal flux and an estimated flux estimated based on measurements in the electrical converter. A one-component third variable error is determined from a difference of the optimal third variable and an estimated third variable. The optimized pulse pattern is modified by time-shifting switching instants of the optimized pulse pattern such that a cost function depending on the time-shifts is minimized. The method includes applying the modified optimized pulse pattern to the electrical converter.

Claims

1. A method for controlling an electrical converter, the electrical converter being adapted for converting a DC voltage into a multi-phase voltage with at least two voltage levels, the method comprising: determining a modulating signal vector from a stator flux reference vector; determining a switching pattern from the modulating signal vector via pulse width modulation, the switching pattern comprising a sequence of switching transitions, wherein a switching transitions defines a switch position, at which a phase of the converter is switched from one voltage level to another voltage level, and a transition time instant at which the phase of the converter is switched, wherein the switching pattern is regularly determined at each sampling time instant over a prediction horizon; determining a stator flux error by subtracting the stator flux reference vector from an estimated stator flux vector, which is estimated from measurements in the electrical converter; modifying the switching pattern by moving transition time instants of switching transitions of the switching pattern, such that the stator flux error is minimized; and applying a part of the modified switching pattern to the electrical converter.

2. The method of claim 1, wherein a stator flux correction is defined by a sum of products of a voltage level difference and a time difference, the voltage level difference of a switching transition being the difference of the voltage level before and after the switching transition and the time difference being the difference between a moved and an unmodified transition time instant; wherein the stator flux correction is optimized by moving the transition time instants, such that the stator flux correction is equal to the stator flux error.

3. The method of claim 1, wherein only the part of the modified switching pattern equal to a difference between consecutive sampling time instants is applied to the electrical converter.

4. The method of claim 1, wherein the switching transitions of the switching pattern are determined over a prediction horizon by: determining future samples of the modulating signal vector over the prediction horizon by rotating the modulating signal vector in an αβ0-coordinate system with an actual angular frequency to a time instant of the respective future sample; and generating a switching transition when a carrier signals crosses a value of the future sample during a time interval of the future sample.

5. The method of claim 1, wherein the stator flux reference vector is a three-component vector in an αβ0-coordinate system and a 0-component of the stator flux reference vector is used for control of a neutral point potential.

6. The method of claim 1, wherein a common-mode component is added to the modulating signal vector.

7. The method of claim 6, wherein, when a modulation index determined from a magnitude of the stator flux reference vector, is smaller than a threshold, the common-mode component is at least the modulation index plus a minimal pulse width divided by a carrier interval length of a carrier signal, such that pulse lengths of pulses generated by pulse width modulation with the carrier signal are longer than the minimal pulse width.

8. The method of claim 6, wherein the common-mode component is controlled with a hysteresis controller, which sets the common-mode component to a first value, when a neutral point potential is larger than a maximal value and which sets the common-mode component to a second value of opposite sign with respect to the first value, when the common-mode component is smaller than a minimal value.

9. The method of claim 1, wherein the stator flux reference vector is determined from a reference angle and a reference magnitude.

10. The method of claim 1, wherein a pulse number for the switching pattern is determined from a fundamental frequency and a maximal allowed switching frequency; and/or wherein, when a pulse number exceeds a threshold, the switching pattern is determined with pulse width modulation and otherwise, the switching pattern is determined from a table of optimized pulse patterns.

11. The method of claim 10, wherein in the case when an optimized pulse pattern is used for determining a switching pattern, the stator flux reference vector is determined from the optimized pulse pattern.

12. A computer program on a computer readable medium, which when executed on a processor, is adapted for controlling an electrical converter, the electrical converter adapted for converting a DC voltage into a multi-phase voltage with at least two voltage levels, comprising: determine a modulating signal vector from a stator flux reference vector; determine a switching pattern from the modulating signal vector via pulse width modulation, the switching pattern comprising a sequence of switching transitions, wherein a switching transitions defines a switch position, at which a phase of the converter is switched from one voltage level to another voltage level, and a transition time instant at which the phase of the converter is switched; wherein the switching pattern is regularly determined at each sampling time instant over a prediction horizon; determine a stator flux error by subtracting the stator flux reference vector from an estimated stator flux vector, which is estimated from measurements in the electrical converter; modify the switching pattern by moving transition time instants of switching transitions of the switching pattern, such that the stator flux error is minimized; and apply a part of the modified switching pattern to the electrical converter.

13. The method of claim 2, wherein only the part of the modified switching pattern equal to a difference between consecutive sampling time instants is applied to the electrical converter.

14. The method of claim 13, wherein the switching transitions of the switching pattern are determined over a prediction horizon by: determining future samples of the modulating signal vector over the prediction horizon by rotating the modulating signal vector in an αβ0-coordinate system with an actual angular frequency to a time instant of the respective future sample; and generating a switching transition when a carrier signals crosses a value of the future sample during a time interval of the future sample.

15. The method of claim 14, wherein the stator flux reference vector is a three-component vector in the αβ0-coordinate system and a 0-component of the stator flux reference vector is used for control of a neutral point potential.

16. The method of claim 15, wherein a common-mode component is added to the modulating signal vector.

17. The method of claim 16, wherein, when a modulation index determined from a magnitude of the stator flux reference vector, is smaller than a threshold, the common-mode component is at least the modulation index plus a minimal pulse width divided by a carrier interval length of a carrier signal, such that pulse lengths of pulses generated by pulse width modulation with the carrier signal are longer than the minimal pulse width.

18. The method of claim 16, wherein the common-mode component is controlled with a hysteresis controller, which sets the common-mode component to a first value, when a neutral point potential is larger than a maximal value and which sets the common-mode component to a second value of opposite sign with respect to the first value, when the common-mode component is smaller than a minimal value.

19. A controller for controlling an electrical converter, the controller comprising: a processor and a computer readable medium, wherein the electrical converter is adapted for converting a DC voltage into a multi-phase voltage with at least two voltage levels, wherein the processor is configured to: determine a modulating signal vector from a stator flux reference vector; determine a switching pattern from the modulating signal vector via pulse width modulation, the switching pattern comprising a sequence of switching transitions, wherein a switching transitions defines a switch position, at which a phase of the converter is switched from one voltage level to another voltage level, and a transition time instant at which the phase of the converter is switched; wherein the switching pattern is regularly determined at each sampling time instant over a prediction horizon, determine a stator flux error by subtracting the stator flux reference vector from an estimated stator flux vector, which is estimated from measurements in the electrical converter; modify the switching pattern by moving transition time instants of switching transitions of the switching pattern, such that the stator flux error is minimized; and apply a part of the modified switching pattern to the electrical converter.

20. An electrical converter, comprising: a converter circuit adapted for converting a DC voltage into a multi-phase voltage with at least two voltage levels; and a controller according to claim 19 adapted for controlling semiconductor switches of the converter circuit.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) The subject matter of the invention will be explained in more detail in the following text with reference to exemplary embodiments, which are illustrated in the attached drawings.

(2) FIG. 1 schematically shows a converter system with an electrical converter according to an embodiment of the invention.

(3) FIG. 2 shows a diagram illustrating a controller and a control method according to an embodiment of the invention.

(4) FIG. 3 shows a diagram illustrating a part of the controller and the control method of FIG. 2.

(5) FIG. 4 shows a diagram illustrating a part of the controller and the control method of FIG. 2.

(6) FIG. 5 shows a diagram illustrating a common-mode controller used in the control method of FIG. 2.

(7) FIG. 6 shows a diagram with examples for a modulating signal vector and a switch position vector.

(8) FIG. 7 shows a diagram with an example of a switching pattern used in the control method of FIG. 2.

(9) FIG. 8 shows a diagram indicating how switching transitions may be determined in the control method of FIG. 2.

(10) FIG. 9 shows a diagram indicating how additional switching transitions may be determined in the control method of FIG. 2.

(11) FIG. 10 shows a diagram indicating how switching transitions may be moved in the control method of FIG. 2.

(12) FIG. 11 shows a diagram illustrating receding horizon used in the control method of FIG. 2.

(13) FIGS. 12a to 12d show diagrams with modulating signals, voltages, fluxes and currents produced by the method of FIG. 2 during normal-speed operation.

(14) FIGS. 13a to 13d show diagrams with modulating signals, voltages, fluxes and currents produced by the method of FIG. 2 during low-speed operation.

(15) FIGS. 14a and 14b show a flux reference and generated switching patterns during a change from optimized pulse patterns to carrier-based pulse width modulated pulse patterns as performed by the method of FIG. 2.

(16) In principle, identical parts are provided with the same reference symbols in the figures.

Detailed Description of Exemplary Embodiments

(17) Three-Level Converter System

(18) FIG. 1 shows a converter system 10 comprising an electrical converter 12, which is supplied with a DC voltage v.sub.dc and which generates a three-phase output or stator voltage, which is supplied to an electrical machine 14. It may be that the electrical machine 14 is a generator or a motor, and that the stator current i.sub.s,abc flows to or from the electrical machine 14. It also may be that the electrical converter is connected to an electrical grid instead of the electrical machine 14.

(19) As shown, the electrical converter 12 is a three-phase three-level neutral point clamped voltage source converter. However, also other topologies are possible with the control method described above and below.

(20) The electrical converter comprises a split DC link 16 providing a neutral point N. A converter circuit 20 is composed of phase branches 18, which are connected in parallel to the DC link and to the neutral point N. For each phase a, b, c (three as shown in FIG. 1), a phase branch is present. Each phase branch 18 comprises an output connected to the electrical machine 14 through which the corresponding component of the output current i.sub.s,abc flows. At its respective output, each phase branch 18 is adapted for providing an output or stator voltage at different voltage levels. These voltage levels may be synthesized by switching the semiconductor switches 22 of the phase branches 18 accordingly.

(21) FIG. 2 shows a diagram with components of a controller 24 for the electrical converter 12. In particular, an overall control diagram is shown, including outer control loops, the converter 12 and the load 14.

(22) Throughout the following text, normalized quantities are used. To this end, a per unit system may be introduced. Typical base values may be the peak value of a rated phase voltage of the electrical machine 14 and/or the peak value of a rated machine current, as well as a rated fundamental frequency.

(23) All variables ξ.sub.abc=[ξ.sub.a ξ.sub.b ξ.sub.c].sup.T in the three-phase system (abc) may be transformed to ξ.sub.αα0=[ξ.sub.α ξ.sub.β ξ.sub.0].sup.T in the stationary orthogonal αβ0-coordinate system through a Clarke transformation ξ.sub.αβ0=Kξ.sub.abc. The inverse Clarke transformation may be given by ξ.sub.abc=K.sup.−1ξ.sub.αβ0. The transformation matrices of the Clarke and the inverse Clarke transformation may be

(24) K = 2 3 [ 1 - 1 2 - 1 2 0 3 2 - 3 2 1 2 1 2 1 2 ] and K - 1 = [ 1 0 1 - 1 2 3 2 1 - 1 2 - 3 2 1 ] . ( 1 )

(25) The first two elements of ξ.sub.αβ0, ξ.sub.α and ξ.sub.β, are the so-called differential-mode components, whereas the third element, ξ.sub.0, is the common-mode component. When only differential-mode components are required, the reduced Clarke transformation ξ.sub.αβ={tilde over (K)}ξ.sub.abc and the reduced inverse Clarke transformation ξ.sub.abc={tilde over (K)}.sup.1ξ.sub.αβ may be defined with the corresponding matrices

(26) K ~ = 2 3 [ 1 - 1 2 - 1 2 0 3 2 - 3 2 ] and K ~ - 1 = [ 1 0 - 1 2 3 2 - 1 2 - 3 2 ] . ( 2 )

(27) Note that {tilde over (K)} holds the first two rows of K, and {tilde over (K)}.sup.−1 holds the first two columns of K.sup.−1. K.sup.−1 is the pseudo-inverse of {tilde over (K)}, in which the 0-component is implicitly assumed to be zero.

(28) In the following text, bold variables refer either to two-dimensional vectors of the form ξ.sub.αβ=[ξ.sub.α ξ.sub.β].sup.T or to three-dimensional vectors, such as ξ.sub.αβ0=[ξ.sub.α ξ.sub.β ξ.sub.0].sup.T and ξ.sub.abc=[ξ.sub.a ξ.sub.b ξ.sub.c].sup.T.

(29) The variable t is used to denote a continuous time axis, with t∈custom character. The controller 24 may operate at regularly spaced discrete time steps or sampling time instants kT.sub.s, where k∈custom character is the controller time step and T.sub.s is the controller sampling interval. For example, T.sub.s=25 μs may be chosen.

(30) The total (instantaneous) DC-link voltage may be υ.sub.dc=υ.sub.dc,up+υ.sub.dc,lo where υ.sub.dc,up and υ.sub.dc,lo denote the voltages over the upper and lower DC-link capacitors, respectively. The potential
υ.sub.n=½(υ.sub.dc,lo−υ.sub.dc,up)
of the neutral point N between the two DC-link capacitors may float.

(31) The electrical converter 12 may produce three voltage levels at its outputs with respect to the neutral point N. The voltage levels may be given by

(32) { - υ dc 2 , 0 , υ dc 2 } .
These voltages can be described by the integer variables u.sub.x∈{−1,0,1}, with x∈{a,b,c} denoting one of the three phases. The three-phase switch position is defined as u.sub.abc=[u.sub.a u.sub.b u.sub.c].sup.T. In general, the switch positions u.sub.abc also may be seen as normalized voltage levels.

(33) The phase voltages with respect to the neutral point N are given by

(34) υ x = { υ dc , up , if u x = 1 0 , if u x = 0 - υ dc , lo , if u x = - 1 , ( 3 )

(35) The three-phase voltage is equal to υ.sub.abc=[υ.sub.a υ.sub.b υ.sub.c].sup.T. When the neutral point potential is close to zero, or equivalently, when the voltages over the upper and the lower DC-link capacitors in FIG. 1 are approximately equal, the three-phase voltage can be written as

(36) υ abc υ dc 2 u abc . ( 4 )

(37) In case an electrical machine is connected to the converter phase terminals, the machine's stator voltage in stationary orthogonal coordinates is
υ.sub.s,αβ={tilde over (K)}υ.sub.abc.  (5)

(38) The machine is conveniently described by its stator and rotor flux linkage vectors in stationary orthogonal coordinates, i.e. by ψ.sub.s,αβ=[ψ.sub.sα ψ.sub.sβ].sup.T and ψ.sub.r,αβ=[ψ.sub.rα ψ.sub.rβ].sup.T. Ψ.sub.s=∥ψ.sub.s,αβ∥.sup.T is the magnitude of the stator flux vector. The magnitude of the rotor flux vector Ψ.sub.r is defined accordingly. The angular frequency of the stator is denoted by ω.sub.s. Note that the stator and the rotor flux vectors rotate at this angular frequency. The electrical angular speed of the rotor is ω.sub.r=pω.sub.m, where p is the number of pole pairs and ω.sub.m is the mechanical angular speed of the rotor. The difference between ω.sub.s and ω.sub.r is the slip frequency.

(39) Alternatively, when the converter is connected to an electrical grid, the stator and rotor flux linkage vectors are replaced by virtual flux vectors. Specifically, the stator flux vector is replaced by the virtual converter flux vector, and the rotor flux vector is replaced by the grid flux vector, which is typically defined at the point of common coupling (PCC).

(40) Outer Control Loop

(41) Returning to FIG. 2, an inner control loop 26, which generates a switch position signal u.sub.abc, is supplied by an outer control loop 28 with the modulation index m, a pulse number d, a stator flux reference magnitude Ψ*.sub.s, a stator flux reference angle θ* and an estimated stator flux vector ψ.sub.s,αβ. Furthermore, the neutral point potential υ.sub.n and the carrier interval T.sub.c=1/f.sub.c, where f.sub.c is the carrier frequency, are supplied to the inner control loop.

(42) As described below, the inner control loop may either determine the switch position signal u.sub.abc based on optimized pulse patterns or on (carrier-based) pulse width modulated switching patterns depending on the pulse number d.

(43) The outer control loop 28 operates as following:

(44) Based on the measured stator current vector i.sub.s,αβ and the stator voltage υ.sub.s,αβ, the flux observer 30 estimates the estimated stator flux vector ψ.sub.s,αβ, the estimated rotor flux vector ψ.sub.r,αβ and the estimated electromagnetic torque T.sub.e. From the estimated rotor flux vector ψ.sub.r,αβ, its magnitude Ψ.sub.r and its angle position <ψ.sub.r,αβ are determined with blocks 32, 34.

(45) The speed controller 36 regulates the (electrical) angular speed ω.sub.r of the rotor along its reference ω*.sub.r by manipulating the setpoint of the electromagnetic torque T*.sub.e. The angular speed ω.sub.r may be determined by an encoder 38, which measures the speed of the rotor of the electrical machine 14.

(46) The torque controller 40 manipulates the desired load angle γ*, i.e. the desired angle between the stator flux vector and the rotor flux vector. The torque controller 40 requires the reference of the stator flux magnitude Ψ*.sub.s and the actual magnitude of the rotor flux vector Ψ.sub.r.

(47) The flux controller 42 maintains the magnitude of the stator flux vector close to its reference Ψ*.sub.s by manipulating the modulation index m. In its simplest form, the feedforward term

(48) m = 2 υ dc ω s Ψ s * ( 6 )

(49) can be used for this purpose. In (6), υ.sub.dc is the (instantaneous) total DC-link voltage and ω.sub.s denotes the angular stator frequency. The angular stator frequency ω.sub.s is determined in block 44 and is the angular speed at which the flux vectors rotate.

(50) Optimized Pulse Patterns

(51) The inner control loop 26 will either use optimized pulse patterns or pulse width modulated switching patterns for determining the switch position signal u.sub.abc. This is dependent on the pulse number d. For a pulse number d smaller as a threshold, optimized pulse patterns are used, while for a pulse number d higher as the threshold, the pulse width modulated switching patterns are used.

(52) The use of optimized pulse patterns with high pulse numbers (for example in excess of d=20) may face the following practical limitations: (i) the offline computation of such optimized pulse patterns may be demanding and time consuming, (ii) these optimized pulse patterns may require a significant amount of storage capacity in the controller memory, and (iii) the incentive to use optimized pulse patterns diminishes, as the harmonic benefit of optimized pulse patterns over established modulation methods is significantly reduced at high pulse numbers. Thus it may be beneficial to determine pulse width modulated switching patterns online.

(53) The need to operate at high pulse numbers arises naturally when operating at low fundamental frequencies. In drive applications, low fundamental frequencies correspond to low-speed operation. In power converters, the semiconductor losses and the adopted cooling technology usually impose an upper bound f.sub.sw,max on the switching frequency. When the fundamental frequency f.sub.1 varies, the pulse number needs to be adjusted according to

(54) d = floor ( f sw , max f 1 ) ( 7 )

(55) Thus, as the fundamental frequency reduces with lowering the drive speed, the required pulse number d increases, theoretically towards infinity at zero fundamental frequency.

(56) The switching angles and switch positions of an optimized pulse pattern may be computed for one phase over a quarter of a fundamental period, assuming quarter- and half-wave symmetry and 1200 phase shift between the three phases. The number of (primary) switching angles over a quarter period is the so called pulse number d, which is a natural number. For three-level optimized pulse patterns and a neutral point clamped converter 12, the switching frequency of a semiconductor device may be given by
f.sub.sw=df.sub.1,  (8)

(57) where f.sub.1 denotes the frequency of the fundamental component.

(58) FIG. 3 shows the parts of the inner control loop 26, which are used for the storage, retrieval and modification of optimized pulse patterns.

(59) The pattern loader 46 provides an operating point specific optimized pulse pattern 48, which is determined by the modulation index m and the pulse number d. In order to ensure that the switching frequency does not exceed its maximum f.sub.sw,max, the pulse number d may be selected as the largest integer that does not exceed f.sub.sw,max/f.sub.1 through (7).

(60) The pattern loader 46 provides the vector of d primary switching angles A=[α.sub.1 α.sub.2 . . . α.sub.d].sup.T and the corresponding vector of single-phase switch positions U=[u.sub.1 u.sub.2 . . . u.sub.d].sup.T. The latter is commonly referred to as the (single-phase) switching sequence. A three-phase optimized pulse pattern 48 over a complete period may be constructed based on the vectors A and U by using quarter- and half-wave symmetry.

(61) A flux reference generator 50 may determine the stator flux reference ψ*.sub.s,αβ from the vectors A and U as well as the modulation index m, the stator flux reference magnitude ψ*.sub.s and the stator flux reference angle provided by the outer control loop 28. The stator flux reference ψ*.sub.s,αβ with the magnitude Ψ*.sub.s and the angle (where the notation <ξ.sub.αβ is used to denote the angular position of the vector ξ.sub.αβ)
θ*=<ψ.sub.r,αβ+γ*  (9)

(62) may be derived by integrating over time the voltage waveform of the optimized pulse pattern 48. Alternatively, the stator flux reference ψ*.sub.s,αβ may be derived from the corner points of the stator flux reference trajectory, which may be computed offline and stored in a look-up table.

(63) Additionally, a common-mode flux reference component ψ*.sub.s0 may be added to the stator flux reference ψ*.sub.s,αβ in order to control the neutral point potential υ.sub.n. Such a common-mode flux reference component ψ*.sub.v0 may be determined by a neutral point controller 56, which may monitor the deviation of the neutral point potential through a virtual common-mode flux error. By correcting it, in effect, a common-mode voltage is injected that drives the neutral point potential υ.sub.n to its reference.

(64) The instantaneous stator flux error
ψ*.sub.s,err,αβ0=ψ*.sub.s,αβ0−ψ*.sub.s,αβ0  (10)

(65) is determined as the difference between the stator flux reference ψ*.sub.s,αβ0 and its estimate ψ.sub.s,αβ0, of which the αβ components are provided by the outer control loop 28.

(66) With a switching pattern generator 52, switching patterns 54 are constructed that hold in each phase the upcoming switching transitions. More specifically, the vector of single-phase switch positions
U.sub.x=[u.sub.x1u.sub.x2 . . . u.sub.xn.sub.x].sup.T  (11)

(67) with n.sub.x entries is constructed for the phase x, with x∈{a,b,c}. The nominal switching angles relative to the angle reference θ* are translated into nominal switching time instants or transition time instants (relative to the current time instant) by dividing them by the angular stator frequency ω.sub.s. This leads to the corresponding vector of nominal transition time instants
T*.sub.x=[t*.sub.x1t*.sub.x2 . . . t*.sub.xn.sub.x].sup.T  (12)

(68) The pair U.sub.x and T*.sub.x forms the switching pattern 54 for phase x. A transition time instant t*.sub.xi and its corresponding switch position u.sub.xi may be seen as a switching transition. The pair U.sub.x and T*.sub.x may be seen as a sequence of switching transitions.

(69) The pattern controller 58 receives the switching pattern 54 and manipulates the transition time instant t*.sub.xi to reduce the stator flux error ψ.sub.s,err,αβ0. In doing so, the stator flux vector is controlled along its reference trajectory and closed-loop control of the stator flux error ψ.sub.s,err,αβ0 is achieved. The optimization of the switching pattern 54 will be described in more detail with respect to FIG. 4. The result is a modified switching pattern.

(70) In the present case of a three-phase converter 12, the modified switching pattern (as well as the switching pattern 54) can be interpreted as a sequence of three-phase switch positions u.sub.abc=[u.sub.a u.sub.b u.sub.c].sup.T. The (integer) three-phase switch position 55 for the first sampling time interval is computed from the modified switching pattern and applied to the converter 12. At the next sampling instant, the modified switching pattern is recomputed, in accordance with the receding horizon policy.

(71) Pulse Width Modulated Switching Pattern

(72) FIG. 4 shows the parts of the inner control loop 26, which are used, when the pulse number d is higher than the threshold. In this case, the switching patterns 54 determined from offline computed optimized pulse patterns 48 are replace with online generated switching patterns 54, which are based on pulse width modulation.

(73) However, the same pattern controller 58 is used again. Also the pulse width modulated switching patterns 54 are modified by moving the transition time instants t*.sub.xi to control the stator flux of the machine 12. Switching to another control loop is avoided. Only the switching pattern 54 is changed, which may be compared to a switch between two optimized pulse patterns 48 with different pulse numbers.

(74) In the case of FIG. 4, a flux reference generator 59 determines the stator flux reference vector ψ*.sub.s,αβ directly from the stator flux reference magnitude Ψ*.sub.s and the stator flux reference angle θ* provided by the outer control loop 24. A common-mode flux reference component ψ*.sub.s0 may be added to the stator flux reference vector ψ*.sub.s,αβ as described with respect to FIG. 3. The stator flux ψ*.sub.s,err,αβ0 may be determined as described with respect to FIG. 3.

(75) In summary, a modulating signal generator 60 determines from the stator flux reference vector ψ*.sub.s,αβ a modulating signal vector u*.sub.abc, which may be generated as a differential-mode modulating signal vector u*.sub.abc. A common-mode generator 62 may generate and add a common-mode component u*.sub.0 to the modulating signal vector u*.sub.abc. A pattern generator 64 then generates the switching pattern 54 online from the modulating signal vector u*.sub.abc based on (for example carrier-based) pulse width modulation.

(76) In the following, the controller blocks 59, 60, 62, 64 and 58 will be described in more detail.

(77) Differential-Mode Modulating Signal Generation

(78) When the pulse number d is high, the ratio between the switching frequency and the fundamental frequency is high. Thus, the stator flux trajectory may be approximated by a circle, thus simplifying the implementation of the flux reference generator 59.

(79) Given the stator flux reference in terms of its angle θ*, see (9), and magnitude Ψ*.sub.s, the stator flux reference vector ψ*.sub.s,αβ in stationary orthogonal coordinates directly follows to

(80) ψ s , αβ * = Ψ s * [ cos ( θ * ) sin ( θ * ) ] . ( 13 )

(81) During steady-state operation, the reference angle is given by θ*=ω.sub.st, where ω.sub.s is the angular stator frequency. Therefore, the stator flux vector rotates with ω.sub.s. The stator flux reference vector ψ*.sub.s,αβ is computed by the flux reference generator 59 based on (13).

(82) Neglecting the stator resistance, the stator voltage is the derivative of the stator flux:

(83) υ s , a β * = d d t ψ s , a β * ( 14 )

(84) Inserting (13) into (14) leads to

(85) 0 υ s , α β = Ψ s * ω s [ - s in ( θ * ) cos ( θ * ) ] = ω s [ 0 - 1 1 0 ] ψ s , αβ * ( 15 )

(86) where it was used that the time derivative of the reference angle θ* is the angular stator frequency ω.sub.s. The stator voltage reference is thus equal to the stator flux reference rotated forward by 90 degrees and scaled by the angular stator frequency.

(87) To obtain the three-phase (differential-mode) modulating signal vector u*.sub.abc, it is used that the converter voltage is equal to the stator voltage, see (5). Assuming the neutral point potential υ.sub.n to be zero, and according to (4), the three-phase modulating signal vector u*.sub.abc is scaled by half the total DC-link voltage v.sub.dc. This leads to

(88) u a b c * = 2 υ d c K ˜ - 1 υ s , α β . ( 16 )

(89) The modulating signal generator 60 determines from the stator flux reference vector ψ*.sub.s,αβ the modulating signal vector u*.sub.abc based on (15) and (16).

(90) Common-Mode Voltage Injection

(91) The common-mode generator 62 may generate and add a common-mode component u*.sub.0 to the modulating signal vector u*.sub.abc. In general, the common-mode component u*.sub.0 may be added to the modulating signal vector u*.sub.abc via u*.sub.abc+u*.sub.0 or via

(92) u abc * = K - 1 [ u α β * u 0 * ] .

(93) One may distinguish between operation at very low speed and operation in the remaining (normal) operating range. At very low speed, the objective may be twofold: (1) avoidance of overly narrow switching pulses that violate the minimum on-time and must be typically dropped, and (2) avoidance of an uneven distribution of the semiconductor losses between the upper and the lower halves of the converter 12. In normal speed operation, the current distortions may be reduced by injecting an appropriate common-mode voltage.

(94) Low-Speed Common-Mode Voltage Injection

(95) When operating at very low speed and correspondingly very low modulation indices, such as m∈[0,0.02], the modulating signal vector u*.sub.abc may have a very small amplitude. As a result, the switch positions or the voltage levels are mostly zero with short positive (negative) pulses during the positive (negative) half-wave of the modulating signal vector u*.sub.abc. These pulses may have to meet a certain minimum width in time, the so called on-time. In high-power converters, the minimum on-time can be as long as t.sub.min=50 μs. Pulses of width between 0 and t.sub.min may be either extended to t.sub.min or removed by a post processing unit. As a result, switching may be avoided altogether when operating at very low modulation indices m, jeopardizing closed-loop control of the machine currents and flux vectors.

(96) To avoid a dropping of pulses, a suitable common-mode component u*.sub.0 may be injected. For instance, when operating at a small (non-negative) modulation index m<<1, the positive common-mode signal

(97) u 0 * = m + t min T c ( 17 )

(98) may shift the modulating signal vector u*.sub.abc into the positive half and ensures that the minimum pulse width of t.sub.min is met. Note that the offset t.sub.min/T.sub.c in (17) may directly result from the rule of proportions applied to the carrier interval and the modulating signals.

(99) The second issue, the uneven distribution of the semiconductor losses, may be caused by the low fundamental frequency. For a sinusoidal carrier-based pulse width modulation, during half the fundamental period, only the switches in the upper (or the lower) converter half may be used. To mitigate this issue, the injection of a sufficiently large common-mode signal as in (17) may be used to periodically shift the semiconductor losses between the two converter halves. This approach may distribute the losses more evenly, avoiding the need to derate the converter or to lower the switching frequency.

(100) As a side effect, an offset in the modulating signal adds a bias to the neutral point current, thus increasing or decreasing the neutral point potential υ.sub.n. More specifically, in motoring mode, a positive u*.sub.0 leads to a positive drift, dυ.sub.n(t)/dt>0, whereas in generating mode a negative drift results. By flipping the sign of the common-mode term, the sign of the derivative of the neutral point potential υ.sub.n can be reversed. This relation between u*.sub.0 and dυ.sub.n (t)/dt may be exploited to construct a hysteresis controller that keeps the neutral point potential υ.sub.n within a pre-defined interval [υ.sub.n,min, υ.sub.n,max]. Symmetrical bounds, i.e. υ.sub.n,max=−υ.sub.n,min may be chosen.

(101) An example of such a hysteresis controller is

(102) σ 0 ( k ) = { - σ p ( k ) if υ n ( k ) υ n , max σ p ( k ) if υ n ( k ) υ n , min σ 0 ( k - 1 ) otherwise ( 18 )
operating at the discrete time steps k∈custom character, where σ.sub.p(k)∈{−1,1} is the sign of the electrical power flow. By definition, the power flow is positive i motoring operation and negative in generating mode. The output of the hysteresis controller is the integer σ.sub.0(k)∈{−1,1}. The to-be-injected common-mode component is then
u*.sub.0(k)=û.sub.0σ.sub.0(k),  (19)

(103) where the non-negative scalar û.sub.0 is a design parameter. For the modulation indices considered at low-speed operation, û.sub.0>>m+t.sub.min/T.sub.c may be chosen.

(104) The choice of û.sub.0 is a trade-off between two considerations. On the one hand, for û.sub.0=0, the neutral point potential υ.sub.n is characterised by a ripple with a particularly strong third harmonic component. On the other hand, a non-zero DC-offset ±û.sub.0 adds to this ripple a linear increase or decrease of the neutral point potential υ.sub.n over time. For large û.sub.0, this linear trend dominates over the ripple, thus facilitating the use of the hysteresis controller (18) and (19). However, an overly large û.sub.0 requires frequent flipping of the sign σ.sub.0 and increases the current distortions.

(105) The selection of û.sub.0 is thus determined by the magnitude of neutral point potential ripple and the degradation of harmonic performance.

(106) Determining the sign of the power flow σ.sub.p might be erroneous at low electrical power, owing to errors in the current and voltage measurements. An alternative hysteresis controller avoids the dependency on σ.sub.p, by simply reversing the sign whenever the bound is exceeded. This simplifies (18) to

(107) σ 0 ( k ) = { - σ 0 ( k - 1 ) if .Math. υ n ( k ) .Math. υ n , max σ 0 ( k - 1 ) otherwise . ( 20 )

(108) This control scheme, which balances the neutral point potential υ.sub.n at low-speed operation while ensuring switching pulses of a minimum width may be implemented by the common-mode generator 62 according to (19) with (18) or (20).

(109) Normal-Speed Common-Mode Voltage Injection

(110) At higher modulation indices, say m>0.02, the issue of overly short switching pulses is not present. Instead, it may be expedient to inject an appropriate common-mode component to the modulating signal to reduce the current distortions.

(111) During normal speed operation one or more of the following terms may be added as common-mode component to the modulating signal vector u*.sub.abc:

(112) u 0 * = m 6 sin ( 3 ω 1 t + ϕ 1 ) ( 21 ) u 0 * = - 1 2 ( min ( u a b c * ) + max ( u a b c * ) ) ( 22 ) u 0 * = u _ 0 * + 1 2 - 1 2 ( min ( u ¯ abc * ) + max ( u ¯ abc * ) ) . ( 23 )

(113) The first term (21) is a sinusoidal signal with the amplitude m/6, three times the angular fundamental frequency ω.sub.1=2πf.sub.1 and the same phase ϕ.sub.1 as the modulating signal. The addition of the second term (22) centers the three-phase modulating signal around zero. As a result, at any given time instant, −min(u*.sub.abc+u*.sub.0)=max(u*.sub.abc+u*.sub.0) holds. The third term (23) is based on the scalar and three-phase terms
ū*.sub.0=−½(min(u.sub.abc.sup.0)+max(u*.sub.abc))  (24)
ū*.sub.abc=((u*.sub.abc+ū*.sub.0+1)mod 1.  (25)

(114) Note that the term (24) is the same as in (22). The expression ξ mod 1 in (25) is defined as the remainder of the Euclidean division of ξ by one. The result is bounded between zero and one.

(115) Any one of the three common-mode terms increases the linear modulation region from m=1 to 1.155. They also tend to reduce the current distortions.

(116) During normal-speed operation, the common-mode generator 62 may implement the generation according to (21), (22) or (23).

(117) As a further example, control of the neutral point potential υ.sub.n may be achieved by manipulating the common-mode component u*.sub.0 of the modulating signal vector u*.sub.abc. A positive common-mode component u*.sub.0, for example, shifts the phase voltages to the upper converter half. Depending on the sign of the phase current (or the direction of the power flow), this shift adds a positive or negative bias to the average current drawn from the neutral point, which, in turn, modifies the neutral point potential υ.sub.n.

(118) FIG. 5 shows an example of such a controller 62. The neutral point potential υ.sub.n is low-pass filtered with a filter 66, whose cut-off frequency is adapted in accordance with the angular stator frequency ω.sub.s. The filtered error of the neutral point potential υ.sub.n is fed to a proportional controller with the gain k.sub.p and multiplied by the sign of the electrical power flow σ.sub.p. The resulting common-mode voltage reference υ*.sub.0 is scaled by half the DC-link voltage v.sub.dc to obtain the common-mode component of the modulating signal.

(119) This type of neutral point controls may tend to be slow, addressing the drift of the neutral point potential υ.sub.n rather than its instantaneous value. On the other hand, instantaneous control of the common-mode voltage, and thus of the neutral point potential υ.sub.n, may be achieved by exploiting the redundancy in the voltage vectors.

(120) Pulse Width Modulation

(121) Pulse width modulation translates the modulating signal vector u*.sub.abc, which may be seen as a real-valued input signal, into the three-phase switch position vector u.sub.abc, which may be seen as a discrete-valued output signal using pulses of fixed amplitude but variable width. The output waveform u.sub.abc approximates u*.sub.abc regarding the magnitude and phase of its fundamental component.

(122) An electrical converter 12 with DC-link voltage υ.sub.dc may be used as actuator to translate the switch position vector u.sub.abc into the switched voltage waveform υ.sub.abc at the converter terminals. By appropriately scaling the reference voltage υ*.sub.abc, the converter voltage υ.sub.abc approximates its reference υ*.sub.abc. This principle applies to both (machine-side) inverters and (grid-side) active rectifier.

(123) FIG. 6 shows a diagram with examples for a modulating signal vector u*.sub.abc and a switch position vector u.sub.abc. In this and all following diagrams the time axis is given in ms.

(124) Carrier-based pulse width modulation for three-level (or N-level) converters is based on two (or N−1) carrier signals 68. The carrier signals 68 may have triangular waveforms with the carrier frequency f.sub.c. Typically, the carrier frequency is (significantly) higher than the fundamental frequency, i.e. f.sub.c>>f.sub.1. The peak-to-peak magnitude of each carrier signal 68 is one. For a three-level converter, the carrier signals 68 are arranged such that they cover the range from −1 to 1 without overlapping. The phase shift between the two carrier signals is a design parameter. When choosing phase disposition, the two carrier signals are in phase, whereas in the phase opposite disposition, their phases are shifted by 180° with respect to each other. The former option is commonly used, because it results in lower harmonic distortions. The carrier interval

(125) T c = 1 f c ( 26 )

(126) is the time interval between the upper peaks of the carrier signal. The three phases a, b, c use the same carrier signals 68.

(127) Using asymmetric regular sampling and a carrier interval T.sub.c, a carrier signal 68 may be sampled every 0.5 T.sub.c at the discrete time steps k.sub.c0.5T.sub.c, k.sub.c∈custom character. In general, the subscript c refers to “carrier”.

(128) Carrier-based pulse width modulation is achieved by comparing each component u*.sub.a, u*.sub.b and u*.sub.c of the modulating signal vector u*.sub.abc with the two (or more) carrier signals 68. In phase a, for example, the switch position u.sub.a is chosen based on the modulating signal u*.sub.a and the following three rules:

(129) When u*.sub.a is less than both carrier signals, choose u.sub.a=−1.

(130) When u*.sub.a is less than the upper carrier signal, but exceeds the lower one, select u.sub.a=0.

(131) When u*.sub.a is greater than both carrier signals, choose u.sub.a=1.

(132) In a digital implementation, u*.sub.abc is a sampled signal, giving rise to regularly sampled pulse width modulation. With symmetric sampling, the modulating signal is sampled once per carrier interval T.sub.c, for example, at the upper triangular peaks. Throughout the remainder of the carrier interval, the modulating signal is held constant. With asymmetric sampling, the modulating signal is sampled twice per carrier interval, i.e. at the upper and at the lower peaks of the carrier. The modulating signal is held constant for half the carrier interval.

(133) In FIG. 6, the dashed lines are continuous modulating signals, while the solid lines show asymmetric regularly sampled modulating signals.

(134) Consider phase disposition and asymmetric sampling. The sampling instants of the modulating signal may be defined as t.sub.c=0.5T.sub.ck.sub.c, with k.sub.c∈custom character being the discrete time step. Switching is performed when the sampled modulating signal u*.sub.abc(k.sub.c) intersects with a carrier signal. This time instant (relative to the sampling instant t.sub.c) is the switching instant or transition time instant. For phase a, for example, the variable t.sub.a is introduced to denote the switching instant. The switching instants and the new switch positions can be derived as a function of the polarity of the modulating signal and the carrier slope.

(135) The switching instants or transition time instants are shown in FIG. 6 as vertical dashed lines. The resulting time evolution of the switching position u.sub.abc is shown below.

(136) Online Generation of Pulse Width Modulated Switching Pattern

(137) The pattern generator 64 in FIG. 4 generates a switching pattern 54 that is composed of the pair of vectors T*.sub.x and U.sub.x for each phase x∈{a,b,c}. The vectors T*.sub.x contains the nominal transition time instants, whereas the vector U.sub.x contains the single-phase switch positions or voltage levels of phase x. The definitions of these vectors is provided in (11) and (12). The switching patterns 54 are updated at the discrete time steps k.sub.c, as indicated in FIG. 7. Each switching pattern 54 spans a prediction horizon of K carrier half-intervals from 0.5T.sub.ck.sub.c to 0.5T.sub.c(k.sub.c+K−1). The time step custom character.sub.c denotes these half-intervals, where custom character.sub.c∈{0, 1, . . . , K−1}.

(138) To compute the switching pattern 54 at time step k.sub.c, the sampled modulating signal u*.sub.abc(k.sub.c) is translated into the αβ0-coordinate system through the Clarke transformation matrix K, see (1), and then rotated forward custom character.sub.c times assuming a constant angular frequency ω.sub.s. This allows one to predict future samples of the modulating signal at time steps k.sub.c+custom character.sub.c according to

(139) u abc * ( k c + c ) = K - 1 [ cos ( ρ ) - s in ( ρ ) 0 sin ( ρ ) cos ( ρ ) 0 0 0 1 ] K u abc * ( k c ) , ( 27 )

(140) where custom character.sub.c∈{0, 1, . . . , K−1} and ρ=ω.sub.s0.5T.sub.ccustom character.sub.c. Recall that K.sup.−1 is the matrix of the inverse Clarke transformation.

(141) The integer variable σ.sub.c(k.sub.c+custom character.sub.c)=(−1).sup.(k.sup.c.sup.+custom character.sup.c.sup.), with σ.sub.c∈{−1,1}, indicates the sign of the carrier slope at time step k.sub.c+custom character.sub.c. The nominal switching instants relative to the time instant t.sub.c are obtained through linear mappings of the modulating signals u*.sub.a, u*.sub.b, u*.sub.c. This mapping needs to be done depending on the polarity of the modulating signal and the carrier slope. This leads to four different cases for the first carrier half-interval (with custom character.sub.c=0) as shown in FIG. 8. The (custom character.sub.c+1)th switching transition in phase x occurs at the nominal time instant

(142) t x ( c + 1 ) * = 0.5 T c c + T c 2 { ( 1 - u x * ( k c + c ) ) if u x * ( k c + c ) 0 and σ c ( k c + c ) = - 1 u x * ( k c + c ) if u x * ( k c + c ) 0 and σ c ( k c + c ) = 1 ( - 1 ) u x * ( k c + c ) if u x * ( k c + c ) < 0 and σ c ( k c + c ) = - 1 ( 1 + u x * ( k c + c ) ) if u x * ( k c + c ) < 0 and σ c ( k c + c ) = 1 . ( 28 )

(143) The new switch positions are identified based on the polarity of the modulating signal

(144) 0 σ x ( u x * ) = { 1 if u x * 0 - 1 if u x * < 0

(145) and the sign of the carrier slope σ.sub.c. Thus,
u.sub.x(custom character.sub.c.sub.+1)=½(σ.sub.x(u*.sub.x(k.sub.c+custom character.sub.c))−σ.sub.c(k.sub.c+custom character.sub.c)).  (29)

(146) Additional switching transitions might occur at time step k.sub.c+custom character.sub.c when the modulating signal changes its sign. An example is shown in FIG. 9, where an additional watching transition occurs at the time step k.sub.c+1. These additional transitions need to be captured and included when generating the witching patterns 54.

(147) Pattern Controller

(148) The pattern controller 58 manipulates the switching instants of the switching pattern 54 to achieve fast closed-loop control of the stator flux. FIG. 10 shows an example how switching instants may be moved by the pattern controller 58.

(149) As an example, a pattern controller based on deadbeat control is described in the following.

(150) The pattern controller 58 operates at the sampling instants t=kT.sub.s, where T.sub.s<<T.sub.c. The inputs to the pattern controller 58 are the flux error ψ.sub.s,err,αβ0 and a switching pattern 54 with the pair of vectors T*.sub.x and U.sub.x as defined in (11) and (12) for each phase x, with x∈{a,b,c}.

(151) The vector T=[t*.sub.x1 t*.sub.x2 . . . t*.sub.xn.sub.x].sup.T captures the nominal, unmodified switching instants. In the case of FIG. 4, where a pulse width modulated switching pattern 54 is generated, these switching instants are given relative to the carrier sampling instant t.sub.c. At the input to the pattern controller 58, the nominal switching instants are redefined as t*.sub.xi=t*.sub.xi−(t−t.sub.c). As a result, by subtracting the time interval t−t.sub.c, the nominal switching instants in T*.sub.x are defined relative to the current time instant t. In the case of FIG. 3, when using optimized pulse patterns, no modification of T*.sub.x is required.

(152) The vector U.sub.x contains the single-phase switch positions of phase x. To denote changes in the switch positions, for phase x the ith switching transition is introduced
Δu.sub.xi=u.sub.xi−u.sub.x(i-1)

(153) from the switch position u.sub.x(i-1) to u.sub.xi. Typically, Δu.sub.xi is limited to {−1,1}, but {−2,−1,1,2} etc. is also possible during large transients and disturbances.

(154) The deadbeat control algorithm of the pattern controller 58 is summarized in the following.

(155) Step 1. The required stator flux correction is translated from αβ0 to abc according to
Δψ.sub.s,abc=K.sup.−1ψ.sub.s,err,αβ0,  (30)

(156) where the transformation matrix of the inverse Clarke transformation K.sup.−1 was defined in (1).

(157) Step 2. The flux correction is scaled by the inverse of the instantaneous DC-link voltage to make it independent thereof. To this end, Δψ′.sub.s,abc=[Δψ′.sub.sa Δψ′.sub.sb Δψ′.sub.sc].sup.T is introduced and defined as

(158) Δψ s , abc = 2 υ dc Δψ s , abc . ( 31 )

(159) For phase a, for example, this implies that the required volt-second modification in phase a is achieved by modifying n.sub.a switching transitions in phase a by Δt.sub.ai, i.e.

(160) Δψ sa = - .Math. i = 1 n a Δ u ai Δ t ai . ( 32 )

(161) Similar statements hold for phases b and c.

(162) Step 3. Phase x is considered and i is set to 1. For the ith switching transition in this phase with the nominal switching instant t*.sub.xi and the switching transition Δu.sub.xi, the following operations are performed (see FIG. 10):

(163) 1. The desired modification Δt.sub.xi=−Δψ*.sub.sx/Δu.sub.xi is computed.

(164) 2. The switching instant is modified to t.sub.xi=t*.sub.xi+Δt.sub.xi.

(165) 3. The switching instant t.sub.xi is constrained by imposing timing constraints. For i=1, 0≤t.sub.x1≤t*.sub.x2 is imposed, whereas for i>1, t.sub.x(i 1)≤t.sub.xi≤t*.sub.x(i|1) is imposed.

(166) 4. The desired volt-second correction in phase x is updated by replacing Δψ′.sub.sx with Δψ′.sub.sx+Δu.sub.xi(t.sub.xi−t*.sub.xi)

(167) While the desired volt-second correction Δψ′.sub.sx in this phase is nonzero and a stopping criteria on i (such as i=n.sub.x) has not been reached, i=i+1 is set and this procedure is repeated for the next switching transition. Step 3 is performed for each of the three phases.

(168) As the deadbeat controller aims to remove the stator flux error as quickly as possible, and because corrections in the switching instants are not penalized, the deadbeat controller tends to be aggressive and it achieves fast responses during transients and disturbances. The prediction horizon is the time interval starting at the current time instant such that a certain number of switching transitions per phases is covered. In the simplest version, the prediction horizon is the shortest time interval until switching transitions in all three phases are included. In both cases, the length of the prediction horizon is time-varying.

(169) Alternatively, an optimal control problem can be formulated with a quadratic cost function and linear constraints, which leads to a quadratic program (QP). The numerical result of the QP are the optimal modifications Δt.sub.xi of the switching instants.

(170) FIG. 11 shows, how the switching pattern 54 may be regularly determined at each sampling time instant kT.sub.s over a prediction horizon T.sub.p. The upper part of the diagram shows the prediction horizon T.sub.p at sampling time instant kT.sub.s, while the lower part shows the prediction horizon T.sub.p at sampling time instant (k+1)T.sub.s. A modified pulse pattern 54 may be determined only for time interval within the moving prediction horizon T.sub.p. After that, the unmodified pulse pattern may be present.

(171) Even though at time kT.sub.s a sequence of switch positions is planned over the prediction horizon T.sub.p, only the switching sequence over the sampling interval T.sub.s is applied to the converter 12. Only the part of the modified switching pattern 54 that has a length in time equal to a difference between consecutive sampling time instants may be applied to the electrical converter 12.

(172) The predictions are recomputed at the next sampling instant (k+1)T.sub.s using new measurements; a shifted and/or revised sequence of switch positions may be derived. This is referred to as receding horizon policy. This policy provides feedback and makes the controller robust to flux observer noise and modelling errors.

(173) Simulation Results

(174) FIGS. 12a to 12d show quantities of a converter system 10 during normal-speed operation and under the control of the controller 24 as described above. The carrier frequency is chosen as f.sub.c=400 Hz, which leads to a device switching frequency of approximately 200 Hz. FIG. 12 shows simulation results for the system 10 operating at rated torque and 20% speed with the fundamental frequency f.sub.1=10 Hz. The corresponding pulse number is d=20. The modulating signal is shown in FIG. 12a. The common-mode component (23) is added to the modulating signal to produce switching patterns 54 that are equivalent to space vector modulation. The resulting three-phase switch positions are shown in FIG. 12b. FIG. 12c shows the (piecewise affine) trajectory of the stator flux vector in the stationary orthogonal αβ-coordinate system. The stator flux trajectory is almost circular at this high pulse number. The rotor flux trajectory is the inner circular trajectory. The three-phase stator currents of the machine are shown in FIG. 12d. The total demand distortion of the current is 7.5%.

(175) FIGS. 13a to 13d show quantities of a converter system 10 during low-speed operation and under the control of the controller 24 as described above. The system 10 is operated at 2% speed, i.e. at f.sub.1=1 Hz, and rated torque. A quarter of the fundamental period is shown. The carrier frequency is kept at f.sub.c=400 Hz, resulting in the high pulse number d=200. A large common-mode offset of ±û.sub.0 is added to the modulating signal. Specifically, û.sub.0=0.1 is chosen, which allows one to use the hysteresis controller (18) to control the neutral point potential υ.sub.n. The large common-mode offset ±û.sub.0 shifts the three-phase switching pattern completely into the upper or the lower half, see FIG. 13b. Whenever the neutral point potential υ.sub.n hits its bounds at υ.sub.n,min=−0.025 and υ.sub.n,max=0.025, the hysteresis controller (18) flips the sign of the common-mode component. This happens at the time instants t=37.5 ms, 113.75 ms and 190 ms. Despite the significant common-mode component, the stator currents are almost sinusoidal, as can be seen in FIG. 13d.

(176) FIGS. 14a and 14b show a switch from optimized pulse patterns to carrier-based pulse width modulated pulse patterns at time t=0. Before time t=0, an optimized pulse pattern with pulse number d=11 is used, whereas after time t=0, the switching patterns are generated online with the carrier to fundamental frequency ratio f.sub.c/f.sub.1=22.

(177) FIG. 14a shows that the change in switching pattern generation does not cause any transient or disturbance. At time t=0, the shape of the flux reference changes from piecewise affine (for optimized pulse patterns) to sinusoidal. The stator flux ripple increases when using the online generated switching patterns, since these switching patterns and their flux trajectory are suboptimal. The corresponding three-phase switch positions are depicted in FIG. 14b. The shift from optimized pulse patterns to pulse width modulated switching patterns with a fixed modulation cycle at time t=0 is clearly visible.

(178) While the invention 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 invention is not limited to the disclosed embodiments.

(179) Other variations to the disclosed embodiments can be understood and effected by those skilled in the art and practising the claimed invention, 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.