Method and Apparatus for M-Level Control and Digital-To-Analog Conversion

20230205149 · 2023-06-29

Assignee

Inventors

Cpc classification

International classification

Abstract

A method is disclosed for steering a physical analog system (e.g., an electric motor) using a discrete-level (e.g., binary) control signal. The discrete-level control signal is computed by an iterative scheme that can handle a long planning horizon. A preference for infrequent level switches can be taken into account. The quality of the fit to the target trajectory can be expressed not only by the quadratic error, but also by other norms. The method can be used also for digital-to-analog conversion.

Claims

1. A method for controlling an analog physical system with input signal u=(u.sub.1, . . . , u.sub.K) to follow a given target trajectory y̆=(y̆.sub.1, . . . , y̆.sub.K), wherein at least one component (custom-character, . . . , custom-character) of said input signal is discrete-valued with M levels, M∈{2, 3, . . . }, wherein u.sub.k=(u.sub.k,1, . . . , u.sub.k,L)∈custom-character.sup.L is the input signal of the analog physical system at time k∈{1, . . . , K}, K∈custom-character is a planning horizon, L is the number of input signal components, custom-character(with 1≤custom-character≤L) is the index of said discrete-valued component of u, y̆.sub.k=(y̆.sub.k,1, . . . , y̆.sub.k,H)∈custom-character.sup.H is the given target trajectory at time k, H is the number of components of the target trajectory, wherein said method uses an extended system model with output signal {tilde over (y)}=({tilde over (y)}.sub.1, . . . , {tilde over (y)}.sub.K), {tilde over (y)}.sub.k∈custom-character.sup.H for some {tilde over (H)}≥H, and with input signal ũ=(ũ.sub.1, . . . , ũ.sub.K)∈custom-character.sup.L for some {tilde over (L)}≥L, such that
u.sub.k=Sũ.sub.k  (81) for some matrix S and all k∈{1, . . . , K}, and with time-dependent parameters θ=(θ.sub.1, . . . , θ.sub.K) and optional additional parameters ξ=(ξ1, . . . , ξ.sub.K), wherein ũ=(ũ.sub.1, . . . , ũ.sub.K) is determined by iteratively executing, in iterations i=1, 2, 3, . . . , wherein said method comprises the steps of (a) executing a maximization step in said extended system model with parameters θ fixed to θ.sup.(i−1) and fixed to θ.sup.(i−1), thereby obtaining a candidate input signal (ũ.sub.1.sup.(i), . . . , ũ.sub.K.sup.(i)) with optional precision information (V.sub.Ũ.sub.1.sup.(i), . . . , V.sub.Ũ.sub.K.sup.(i)), and an output signal (y.sub.1.sup.(i), . . . , y.sub.K.sup.(i)) with optional precision information (V.sub.{tilde over (Y)}.sub.1.sup.(i), . . . , V.sub.{tilde over (Y)}.sub.K.sup.(i)), and (b) determining new parameters θ.sup.(i)=(θ.sub.1.sup.(i), . . . , θ.sub.K.sup.(i)) and optionally ξ.sup.(i)=(ξ.sub.1.sup.(i), . . . , ξ.sub.K.sup.(i)), where θ.sub.k.sup.(i) is a function of ũ.sub.k.sup.(i) and V.sub.Ũ.sub.k.sup.(i), and ξ.sub.k.sup.(i) is a function of {tilde over (y)}.sub.k.sup.(i) and V.sub.{tilde over (Y)}.sub.k.sup.(i), as computed in Step (a), and wherein said extended system model can be expressed as
p(ũ,ẙ,{tilde over (x)}.sub.0,{tilde over (e)}|θ,ξ)∝p(ẙ|ũ,{tilde over (x)}.sub.0,{tilde over (e)},ξ)p(ũ,θ)p({tilde over (x)}.sub.0)p({tilde over (e)})  (82) wherein p(ũ, ẙ, {tilde over (x)}.sub.0, {tilde over (e)}|θ, ξ) is a probability density function in ũ, ẙ, {tilde over (x)}.sub.0 and {tilde over (e)} with parameters θ and ξ, ẙ=, (ẙ.sub.1, . . . , ẙ.sub.k), ẙ.sub.k∈custom-character.sup.H, is the target trajectory of said extended system model comprising y̆ and optionally additional trajectories, “∝” denotes equality up to a scale factor, said analog physical system is modeled by a discrete-time linear state space model with recursions
x.sub.k=A.sub.kx.sub.k−1 B.sub.ku.sub.k D.sub.ke.sub.k  (83)
y.sub.k=C.sub.kx.sub.k  (84) for k∈{1, . . . , K}, and with state vector x.sub.k∈custom-character.sup.N, initial state x.sub.0, noise e.sub.k∈custom-character.sup.G, model output y.sub.k∈custom-character.sup.H, and matrices A.sub.k, B.sub.k, C.sub.k, D.sub.k, said method uses an extended version of model of eq. 83 and eq. 84 which is given by the state space recursions
{tilde over (x)}.sub.k.sub.k{tilde over (x)}.sub.k+{tilde over (B)}.sub.k.sub.k+{tilde over (D)}.sub.k{tilde over (e)}.sub.k  (85)
{tilde over (y)}.sub.k={tilde over (C)}.sub.k{tilde over (x)}.sub.k  (86) for k∈{1, . . . , K}, and with state vector x.sub.k∈custom-character.sup.N with Ñ≥N, initial state {tilde over (x)}.sub.0, noise e.sub.k∈custom-character.sup.G with {tilde over (G)}≥G, and wherein the matrices A.sub.k, B.sub.k, C.sub.k and D.sub.k are derived from A.sub.k, B.sub.k, C.sub.k and D.sub.k, p(ẙ|ũ, x.sub.0, {tilde over (e)}, ξ) is given by p ( y .Math. u ~ , x ~ 0 , e ~ , ζ ) exp ( - 1 2 .Math. k = 1 K w k ( y k - y ~ k ) T W k ( y k - y ~ k ) ) ψ ( y ~ , ζ ) ( 87 ) where W.sub.k is a real non-negative weight matrix and where y.sub.k is the extended system model output signal determined by eq. 85 and eq. 86, ψ({tilde over (y)}, ξ) is an optional factor in eq. 87, which means it is either 1, or if present, it may take the form ψ ( y ~ , ζ ) = .Math. k = 1 K ψ k ( y ~ k , ζ k ) ( 88 ) such that, for fixed ξ.sub.k, ψ.sub.k({tilde over (y)}.sub.k, ξ.sub.k) is a Gaussian probability density function in y.sub.k, up to a scale factor, p({tilde over (x)}.sub.0) is a Gaussian probability density, p({tilde over (e)}) factors as p ( e ~ ) = .Math. k = 1 K p ( e ~ k ) ( 89 ) where each p({tilde over (e)}.sub.k) is a Gaussian probability density, p(ũ, θ) factors as ρ ( u ~ , θ ) = .Math. k = 1 K ρ k ( u ~ k , θ k ) ( 90 ) such that, for fixed θ.sub.k, p.sub.k(ũ.sub.k, θ.sub.k) is a Gaussian probability density function in u.sub.k, up to a scale factor, and for at least one index custom-character∈{1, . . . , {tilde over (L)}}, p.sub.k(ũ.sub.k, θ.sub.k) contains as a factor the product
custom-character(custom-character;m.sub.1,σ.sub.k,1.sup.2) . . . custom-character(custom-character;m.sub.J,σ.sub.k,j.sup.2)  (91) of J≥2 Gaussian probability density functions with different means m.sub.1, . . . , m.sub.J and with variances σ.sub.k,1.sup.2, . . . , σ.sub.k,J.sup.2 determined by θ.sub.k.

2. The method of claim 1 wherein, in Step (a), the candidate input signal (ũ.sub.1.sup.(i), . . . , ũ.sub.K.sup.(i)) is the mean of the posterior distribution p(ũ|ẙ, θ.sup.(i−1), ξ.sup.(i−1)).

3. The method of claim 1 wherein, in Step (a), the output signal ({tilde over (y)}.sub.1.sup.(i), . . . , {tilde over (y)}.sub.K.sup.(i)) is the mean of the posterior distribution p({tilde over (y)}|ẙ, θ.sup.(i−1), ξ.sup.(i−1))

4. The method of claim 1 wherein, in Step (a), the precision information V.sub.U.sub.k(i), k∈{1, . . . , K}, comprises the posterior variances of p(custom-characterẙ, θ.sup.(i−1), ξ.sup.(i−1)) wherein custom-character∈{1, . . . , L} indicates a discrete-valued component of ũ.sub.k.

5. The method of claim 1 wherein, in Step (a), the precision information V.sub.Y.sub.k.sup.(i), k∈{1, . . . , K}, comprises the posterior variances of p({tilde over (y)}.sub.k,{tilde over (h)}|ẙ, θ.sup.(i−1), ξ.sup.(i−1)) for all {tilde over (h)}∈{1, . . . ,{tilde over (H)}}.

6. The method of claim 1 wherein, in Step (b), the new parameters θ.sub.k.sup.(i) are determined by θ k ( i ) = argmax θ k ρ k ( u ~ k ( i ) , θ k ) ( 92 ) for k∈{1, . . . , K}.

7. The method of claim 1 wherein, in Step (b), the new parameters θ.sub.k.sup.(i) are determined by θ k ( i ) = argmax θ k E [ log ρ k ( U ~ k , θ k ) ] ( 93 ) for k∈{1, . . . , K} and where the expectation E[.Math.] is with respect to p(ũ.sub.k|ẙ, θ.sup.(i−1), ξ.sup.(i−1)).

8. The method of claim 1 any of the preceding claims wherein
p.sub.k(ũ.sub.k,θ.sub.k)=custom-character(ũ.sub.k;a,σ.sub.k,1.sup.2)custom-character(ũ.sub.k;b,σ.sub.k,2.sup.2)  (94) where θ.sub.k=(σ.sub.k,1.sup.2, σ.sub.k,2.sup.2), S=1, {tilde over (L)}=L=1 and with the two levels a∈custom-character and b∈custom-character.

9. The method of claim 1 wherein
p.sub.k(ũ.sub.k,θ.sub.k)=p.sub.k(ũ.sub.k,1.sub.k,2,θ.sub.k)  (95)
with
p.sub.k(ũ.sub.k,1.sub.k,2;θ.sub.k)=custom-character(ũ.sub.k,1;0,σ.sub.k,1,1.sup.2)custom-character(ũ.sub.k,1;b,σ.sub.k,1,2.sup.2).Math.custom-character(ũ.sub.k,2;0,σ.sub.k,2,1.sup.2)custom-character(ũ.sub.k,2;−b,σ.sub.k,2,2.sup.2)  (96) where θ.sub.k=(σ.sub.k,1,1.sup.2, σ.sub.k,1,2.sup.2, σ.sub.k,2,1.sup.2, σ.sub.k,2,2.sup.2), S=[1 1], {tilde over (L)}=2, L=1 and b∈custom-character.

10. The method of claim 1 wherein a preference for sparsity in the number of level switches in at least one of the discrete valued input signal components (custom-character, . . . , custom-character) is achieved by utilizing extended state space matrices Ã.sub.k, {tilde over (B)}.sub.k, {tilde over (C)}.sub.k and {tilde over (D)}.sub.k, such that said level switches appear as an additional output signal component ({tilde over (y)}.sub.1,{tilde over (h)}, . . . , {tilde over (y)}.sub.K,{tilde over (h)}) with
{tilde over (y)}.sub.k,{tilde over (h)}=custom-charactercustom-character  (97) for at least one {tilde over (h)}∈{1, . . . , {tilde over (H)}}.

11. The method of claim 1 wherein W.sub.k≠0.sub.{tilde over (H)}×{tilde over (H)} for several k∈{k.sub.1, k.sub.2, . . . } ⊂{1, . . . , K} and W.sub.k=0.sub.{tilde over (H)}×{tilde over (H)} otherwise.

12. The method of any of the preceding claims wherein eq. 87 is p ( y .Math. u ~ , x ~ 0 , e ~ , ζ ) exp ( - 1 2 .Math. k = 1 K w k ( y k - y ~ k ) T W k ( y k - y ~ k ) ) exp ( - β k , h ~ 2 ( 2 - p ) ( w k , h ~ ) - p 2 - p 2 p ) ( 98 ) wherein W.sub.k=diag (w.sub.k,1, . . . , w.sub.k,H), β.sub.k,{tilde over (h)} is a constant scale factor, depends on the initial weight w.sub.k h, and is defined by β k , h ~ = ( pw k , h ~ 2 ) 1 2 - p , ( 99 ) p is the order of the utilized p-norm with p>0, p≠2, ξ.sub.k=w.sub.k,{tilde over (h)}, and wherein the optional parameters ξ.sub.k are determined in every iteration i by ζ k ( i ) = w k , h ~ ( i ) = .Math. "\[LeftBracketingBar]" y k , h ~ - y ~ k , h ~ ( i ) β k , h ~ .Math. "\[RightBracketingBar]" p - 2 , ( 100 ) for k∈{1, . . . , K}.

13. The method of claim 12 wherein the optional factor in eq. 88 penalizes the difference |ẙ.sub.k,{tilde over (h)}−{tilde over (y)}.sub.k,{tilde over (h)}| by the p-th power by specifically setting the factor ψ({tilde over (y)}, ξ) to ψ k ( y ~ k , ζ k ) = 2 π w k , h ~ exp ( - β k , h ~ 2 ( 2 - p ) ( w k , h ~ ) - p 2 - p 2 p ) , ( 101 ) for k∈{1, . . . , K}.

14. The method of claim 1 wherein eq. 87 is p ( y .Math. u ~ , x ~ 0 , e ~ , ζ ) exp ( - 1 2 .Math. k = 1 K w k ( y k - y ~ k ) T W k ( y k - y ~ k ) ) exp ( - 1 2 .Math. k = 1 K w k , h ~ ( y k , h ~ + η k , h ~ - y ~ k , h ~ ) 2 ) .Math. exp ( - 1 2 .Math. k = 1 K γ h ~ 2 w k , h ~ ) exp ( - 1 2 .Math. k = 1 K γ h ~ 2 w k , h ~ ) ( 102 ) wherein W.sub.k=diag (w.sub.k,1, . . . , w.sub.k,{tilde over (H)}), w.sub.k,{tilde over (h)} is an auxiliary weight, η.sub.k,{tilde over (h)} is the width of the bound at time k, γ.sub.{tilde over (h)} is a constant scale factor, ξ.sub.k=(w.sub.k,{tilde over (h)}, w.sub.k,{tilde over (h)}.sup.′), and wherein the optional parameters ξ.sub.k are determined in every iteration i by ζ k ( i ) = ( w k , h ~ ( i ) , w k , h ~ + ( i ) ) = ( .Math. "\[LeftBracketingBar]" γ h ~ y k , h ~ - y ~ k , h ~ ( i ) .Math. "\[RightBracketingBar]" , .Math. "\[LeftBracketingBar]" γ h ~ y k , h ~ + η k , h ~ - y ~ k ( i ) .Math. "\[RightBracketingBar]" ) , ( 103 ) for k∈{1, . . . , K}.

15. The method of claim 14 wherein the optional factor in eq. 88 penalizes γ(|ẙ.sub.k,{tilde over (h)}−{tilde over (y)}.sub.k,{tilde over (h)}|+|ẙ.sub.k,{tilde over (h)}+η.sub.k,{tilde over (h)}−{tilde over (y)}.sub.k,{tilde over (h)}|) by specifically setting the factor ψ({tilde over (y)}, ξ) to ψ k ( y ~ k , ζ k ) = 2 π w k , h ~ exp ( - γ h ~ 2 2 w k , h ~ ) exp ( - 1 2 w k , h ~ ( y k , h ~ + η k , h ~ - y ~ k , h ~ ) 2 ) exp ( - γ h ~ 2 2 w k , h ~ ) , ( 104 ) for k∈{1, . . . , K}.

16. The method of claim 1 wherein S is a linear mapping between at least one two-level component of u and at least one discrete-valued component of u.

17. A device for carrying out the method of claim 1, said device comprising: an output interface for generating said input signal u to the analog physical system and a digital control unit connected to said output interface and adapted and structured to carry out the method of claim 1.

18. Use of the method of claim 1 for at least one of: digital-to-analog conversion by feeding a discrete-valued signal into an analog low-pass filter, digital-to-analog conversion by feeding a discrete-valued signal into an analog band-pass filter, controlling an electric motor with at least one discrete-level input signal, controlling an electric power converter with at least one discrete-level input signal.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

[0045] The invention will be better understood and objects other than those set forth above will become apparent when consideration is given to the following detailed description thereof. This description makes reference to the annexed drawings, wherein:

[0046] FIG. 1 shows the system model with an analog physical system and a control unit, comprising a digital control unit and an output interface.

[0047] FIG. 2 shows a third order low-pass filter in Sallen—Key topology.

[0048] FIG. 3 shows a numerical example of the DAC of FIGS. 1 and 2.

[0049] FIG. 4 shows the cost function of eq. (22) for a two-level constraint.

[0050] FIG. 5 shows the cost, function or eq. (25) for a three-level constraint.

[0051] FIG. 6 shows the cost function of eq. (28) for a four-level constraint.

[0052] FIG. 7 shows three numerical examples of electric motor control as in Section 7.

[0053] FIG. 8 shows a numerical example of box-constrained trajectory planning as in Section 9.

[0054] FIG. 9 shows a numerical example of MIMO electric motor control as in Section 10.1.

[0055] FIG. 10 shows a diagram illustrating the dynamical system of Section 0.1.0.2.

[0056] FIG. 11 shows a numerical example of trajectory planning as in Section 10.2.

MODES FOR CARRYING OUT THE INVENTION

[0057] As mentioned, the key idea of the disclosed invention is to represent the M-level constraint by a combination of parameterized Gaussian distributions, as will be detailed in Section 4 below. However, this key idea requires a context of several other (mostly well-known) concepts, as will be explained in Sections 3, 5 and 6. Throughout Sections 3-5, a digital-to-analog converter as in Section 2.1 will be used for illustration. Further examples (i.e., further embodiments of the disclosed invention) will be given in Sections 7 and 10.

1 Notation

[0058] We denote the all-zero vector of length N by 0.sub.N, the all zero matrix of dimension N×M by 0.sub.N×M, the all-ones vector of length N by 1.sub.N, the all-ones matrix of dimension N×M by 1.sub.N×M and the identity matrix of dimension N×N by I.sub.N.

[0059] Further, the probability density function of a univariate Gaussian distribution in x∈custom-character with mean m∈R and variance σ.sup.2∈custom-character is denoted by

[00005] 𝒩 ( s ; m , σ 2 ) = 1 2 πσ 2 exp ( - ( x - m ) 2 2 σ 2 ) . ( 12 )

[0060] The probability density function of a multivariate Gaussian distribution in x∈custom-character.sup.N with mean vector m∈custom-character.sup.N and covariance matrix V∈custom-character.sup.N×N is denoted by

[00006] 𝒩 ( xz ; m , V ) = 1 ( 2 π ) N .Math. "\[LeftBracketingBar]" V .Math. "\[RightBracketingBar]" exp ( - 1 2 ( x - m ) T V - 1 ( x - m ) ) . ( 13 )

2 System Overview

[0061] As shown in FIG. 1, the present invention relates to techniques for controlling an analog physical system 1 by means of a device 2. For example, system 1 may be a low-pass or band-pass filter as part of a digital-to-analog converter, an electric motor, or the load in a electric power converter.

[0062] System 1 has at least one input signal u that can take on at least M>1 discrete levels and at least one output signal y.

[0063] Device 2 comprises an output interface 4 for generating the input signal u. For example, the output interface 4 may be a binary or ternary output port of device 2.

[0064] Further, device 2 comprises a control unit 3, such as a microprocessor or FPGA, adapted to carry out the steps of the method described here. Device 2 is adapted to generate the input signal u in such a manner that the output signal y follows a desired trajectory (target trajectory).

2.1 EXAMPLE

[0065] As a first example, consider a digital-to-analog converter wherein the analog physical system 1 of FIG. 1 is a simple (i.e., low-cost) analog low-pass filter. The analog filter is exemplified by the circuit in FIG. 2, which shows a Sallen—Key low-pass filter [13]. The task of the digital control unit 3 and the output interface 4 is to produce a two-level input signal u to the analog filter such that the resulting output waveform y closely approximates any given target waveform y, as illustrated in FIG. 3. This task is solved by the disclosed invention as will be detailed below. Moreover, in Sections 3 and 5, this example will be used to illustrate the concepts and methods of this disclosure.

3 Analog-System Model

[0066] The linear state space model (3) and (4) represents the given analog physical system. Such a state space model can be obtained by well-known methods (including discretization in time and linearization) from an underlying continuous-time state space model. However, the method utilizes an extended system model (5) and (6) which is an extended version of said analog physical system model and may contain additional inputs, states or outputs.

3.1 EXAMPLE

[0067] In the example of Section 2.1, we have a single scalar input signal u=(u.sub.1, . . . , u.sub.K)(i.e., L=1) and a single scalar output y (i.e., H=1). Between ticks t.sub.k and t.sub.k+1 of the digital clock, the continuous-time input voltage is kept at the constant level u.sub.k (cf. FIG. 3). For the specific circuit of FIG. 2, we obtain a state space representation of the form (3) and (4) with x.sub.k∈custom-character.sup.3 as follows.

[0068] The numerical example in FIG. 3 is obtained with the following values for the components in FIG. 2:


R.sub.1=9.1 kΩ,C.sub.1=16 μF,  (14)


R.sub.2=82 kΩ,C.sub.2=1.3 μF,  (15)


R.sub.3=36 kΩ,C.sub.3=2 μF.  (16)

[0069] The resulting frequency response is

[00007] output voltage input voltage = .Math. "\[LeftBracketingBar]" 270.535 ( i ω ) 3 + 16.926 ( i ω ) 2 + 108.16 ( i ω ) + 270.535 .Math. "\[RightBracketingBar]" ( 17 )

[0070] with i=√{square root over (−1)} and frequency f=w/(2π). The corresponding discrete-time model of the analog physical system is given by

[00008] A k = [ 0.83941 - 1.006 - 2.48427 0.00918 0.99485 - 0.01278 0.00005 0.00998 0.99996 ] , ( 18 )

B.sub.k=[0.00918 0.00005 0].sup.T, C.sub.k=[0 0 270.53523], and D.sub.k=[0 0 0].sup.T. The state space matrices of the extended system model for this example are trivially given by Ã.sub.k=A.sub.k, {tilde over (B)}.sub.k=B.sub.k, {tilde over (C)}.sub.k=C.sub.k, and {tilde over (D)}.sub.k=D.sub.k.

3.2 Beyond the Example

[0071] In the above example, the matrices A.sub.k, B.sub.k, C.sub.k and D.sub.k do not depend on k, but in general, they might. In fact, these matrices may even depend on the iteration step i (e.g., as a consequence of customary linearization techniques). Moreover, in general, the analog physical system may have multiple inputs (L≥1) and/or multiple outputs (H≥1), cf. Section 10.1. Not all input signals need be restricted to discrete levels. In addition, the system model may also be driven by stochastic noise, hence the term D.sub.ke.sub.k in (3).

4 M-level Priors

[0072] For ease of exposition, we assume here a single scalar input signal (i.e., L=1).

4.1 Two-Level Prior

[0073] Restricting the analog-system input signal u to two levels {a, b} can be achieved with


S=1  (19)

in (1), i.e., L=1 and u=ũ, and with p.sub.k(ũ.sub.k, θ.sub.k) and θ.sub.k in (10) as


p.sub.k(u.sub.k,θ.sub.k)=custom-character(ũ.sub.k;a,σ.sub.k,1.sup.2)custom-character(ũ.sub.k;b,σ.sub.k,2.sup.2)  (20)

and θ.sub.k=(σ.sub.k,1.sup.2, σ.sub.k,2.sup.2) For fixed θ.sub.k, the function (20) is a product of two Gaussian probability density functions, which is again a Gaussian probability density function, up to a scale factor.

[0074] The function

[00009] max θ k ρ k ( u ~ k , θ k ) ( 21 )

can be viewed as a prior on u.sub.k (=ũ.sub.k) that strongly encourages u.sub.k to lie in {a, b}, as is obvious from FIG. 4, which shows the function

[00010] cost ( u k ) = - log max θ k ρ k ( u k , θ k ) . ( 22 )

4.2 Three-Level Prior

[0075] Restricting the analog-system input signal u to three levels {b, 0, −b} can be achieved with


S=[1 1]  (23)

i.e., L=2 and u.sub.k=u.sub.k,2, and with p.sub.k(ũ.sub.k, θ.sub.k)=p.sub.k(ũ.sub.k,1, ũ.sub.k,2, θ.sub.k) in (10) as


p.sub.k(ũ.sub.k,1.sub.k,2,θ.sub.k)=custom-character(ũ.sub.k,1;0,σ.sub.k,1,1.sup.2)custom-character(ũ.sub.k,1;b,σ.sub.k,1,2.sup.2)custom-character(ũ.sub.k,2;−b,σ.sub.k,2,2.sup.2)  (24)

with θ.sub.k=(σ.sub.k,1,1.sup.2, σ.sub.k,1,2.sup.2, σ.sub.k,2,1.sup.2, σ.sub.k,2,2.sup.2). Again, for fixed θ.sub.k, the function (24) is a Gaussian probability density function, up to a scale factor.

[0076] In this case, the function (21) can be viewed as a prior on ũ.sub.k that strongly encourages u.sub.k=Sũ.sub.k to lie in {b, 0, −b}, as is obvious from FIG. 5, which shows the function

[00011] cost ( u k ) = - log max u ~ k : S u ~ k = u k max θ k ρ k ( u k , θ k ) . ( 25 )

[0077] The three-level prior is a combination of two two-level priors whereas S acts as a mapping between the two-level components of a and the three-level component of u.

4.3 Four-Level Prior

[0078] Restricting the analog-system input signal u to four levels {0, 2b, 3b} can be achieved with


S=[1 1 1],  (26)

i.e., {tilde over (L)}=3 and ũ.sub.k=ũ.sub.k,1+ũ.sub.k,2+ũ.sub.k,3, and with p.sub.k(ũ.sub.k, θ.sub.k)=p.sub.k(ũ.sub.k,1, ũ.sub.k,2, ũ.sub.k,3, θ.sub.k) in (10) as


p.sub.k(ũ.sub.k,1.sub.k,2.sub.k,3,θ.sub.k)=custom-character(ũ.sub.k,1;0,σ.sub.k,1,1.sup.2)custom-character(u.sub.k,1;b,σ.sub.k,1,2.sup.2).Math.custom-character(ũ.sub.k,2;0,σ.sub.k,2,1.sup.2)custom-character(ũ.sub.k,2;b,σ.sub.k,2,2.sup.2).Math.custom-character(ũ.sub.k,3;0,σ.sub.k,3,1.sup.2)custom-character(ũ.sub.k,3;b,σ.sub.k,3,2.sup.2)  (27)

with θ.sub.k=(σ.sub.k,1,1.sup.2, σ.sub.k,1,2.sup.2, σ.sub.k,2,1.sup.2, σ.sub.k,2,2.sup.2, σ.sub.k,3,1.sup.2, σ.sub.k,3,2.sup.2), Again, for fixed θ.sub.k, the function (27) is a Gaussian probability density function, up to a scale factor.

[0079] In this case, the function (21) can be viewed as a prior on ũ.sub.k that strongly encourages u.sub.k=Sũ.sub.k to lie in {0, b, 2b, 3b)}, as is obvious from FIG. 6, which shows the function

[00012] cost ( u k ) = - log max u ~ l : S u ~ k = u k max θ k ρ k ( u ~ k , θ k ) . ( 28 )

4.4 M-Levels

[0080] M-level priors with M>3 can be achieved, in more than one way, by generalizations of (23) and (24) with

[00013] ρ k ( u ~ k , 1 , .Math. , u ~ k , L ~ , θ k ) = .Math. ~ = 1 L ~ .Math. j = 1 J ~ 𝒩 ( u ~ k , ~ ; m ~ , j , σ k , ~ , j 2 ) ( 29 )

with fixed means custom-character and with θ.sub.k comprising the variances custom-character. Advantageously, the components ũ.sub.k,l are restricted to two levels and S is an all-ones vector.

5 Extended System Model and Algorithms

[0081] The analog physical system is modeled by a discrete-time linear state space model with state recursions (3) and output relation (4) where the matrices A.sub.k, B.sub.k, C.sub.k and D.sub.k are obtained using well-known methods. Said model consists of L input signal components, N states and H output signal components where at least one input signal component is discrete-valued. One may use D.sub.k and e.sub.k, to model any present system noise. For the sake of simplicity, said system noise is omitted in the given examples of Sections 5, 7 and 10.

[0082] The disclosed method, however, utilizes an extended system model (5) and (6) which is an extended version of said analog physical system model and may contain additional inputs, states or outputs. In the example of Section 2.1, the extended system model is trivially given by the analog physical model since no additional inputs signal components, states or output signal components are needed. Beyond this example, additional inputs signal components may be used to model discrete-valued inputs for M>2, as shown in Section 4. Additional states and output signal components may be introduced, for example, to map input level differences to additional output signal components, as detailed in Section 7.

[0083] The extended system model comprises, besides (5) and (6), also the function (7), the prior p(ũ, θ), the initial state distribution p({tilde over (x)}.sub.0), and the noise distribution p({tilde over (e)}) and is summarized in (2).

5.1 Harnessing Linear Gaussian Estimation

[0084] For fixed parameters θ (and ξ, if applicable), the extended system model (2) is a customary linear-Gaussian model. In particular, the posterior distributions p(ũ|ẙ, θ, ξ) and p({tilde over (y)}|ẙ, θ, ξ) are both jointly Gaussian, and the MAP (maximum a posteriori) estimates of ũ and {tilde over (y)} coincide with their MMSE (mini-mum mean-squared error) estimates. Moreover, the estimate of u=(ũ.sub.1, . . . , ũ.sub.K) with ũ.sub.k=(ũ.sub.k,1, . . . , ũ.sub.k,L), the estimate of {tilde over (y)}=({tilde over (y)}.sub.1, . . . , {tilde over (y)}.sub.K) with {tilde over (y)}.sub.k({tilde over (y)}.sub.k,1, . . . , {tilde over (y)}.sub.k,{tilde over (H)}) and the corresponding sequence of posterior variances V.sub.Ũ=(V.sub.Ũ.sub.1, . . . , V.sub.Ũ.sub.K) with V.sub.c=(V.sub.Ũ.sub.k,1, . . . , V.sub.Ũ.sub.k,L), and V.sub.{tilde over (Y)}(V.sub.{tilde over (Y)}.sub.1, . . . , V.sub.{tilde over (Y)}.sub.K) with V.sub.{tilde over (Y)}.sub.k=(V.sub.{tilde over (Y)}.sub.k,1, . . . , V.sub.{tilde over (Y)}.sub.k,{tilde over (H)}) can be computed by well-known recursive algorithms (variations of Kalman filter algorithms) with complexity linear in K. A preferred such algorithm is the MBF algorithm aug-mented with input signal estimation as described in Section V of [14]. Alternatively, the estimates of ũ and {tilde over (y)} (but not their variances) can be computed by steepest-descent or other customary optimization algorithms.

[0085] Accordingly, the input signal it can be computed by alternating, in iterations i=1, 2, 3, . . . , the steps of [0086] (a) computing the estimates ũ.sup.(i)=(ũ.sub.1.sup.(i), . . . , ũ.sub.K.sup.(i)) and {tilde over (y)}.sup.(i)=({tilde over (y)}.sub.1.sup.(i), . . . , {tilde over (y)}.sub.K.sup.(i)) and optionally the precision information V.sub.Ũ.sup.(i)=(V.sub.Ũ.sub.1.sup.(i), . . . , V.sub.Ũ.sub.K.sup.(i)) and V.sub.{tilde over (Y)}.sup.(i)=(V.sub.{tilde over (Y)}.sub.1.sup.(i), . . . , V.sub.{tilde over (Y)}.sub.K.sup.(i)) for fixed parameters θ=θ.sup.(i−1) and ξ=ξ.sup.(i−1), and [0087] (b) determining new parameters θ.sup.(i) based on ũ.sup.(i) (and perhaps V.sub.Ũ.sup.(i)) and new parameters ξ.sup.(i) based on {tilde over (y)}.sup.(i) (and perhaps V.sub.{tilde over (Y)}.sup.(i)), as computed in Step (a).

[0088] The following two Sections describe two ways to determine new parameters θ. Specific ways to determine the optional parameters C are given in Sections 7 and 8.

5.2 Determining the Variances by Alternating Maximization

[0089] One possibility for Step (b) above is to determine the new parameters by

[00014] θ ( i ) = argmax θ p ( u ~ ( i ) , y .Math. θ , ζ ( i - 1 ) ) ( 30 ) = argmax θ ρ ( u ~ ( i ) , θ ) , ( 31 )

which splits into

[00015] θ k ( i ) = argmax θ k ρ k ( u ~ k ( i ) , θ k ) ( 32 )

for k∈{1, . . . , K}, which can be expressed in closed form: for p.sub.k(ũ.sub.k,1, . . . , ũ.sub.k,{tilde over (L)}, θ.sub.k) as in (29), we obtain


(custom-character).sup.(i)=(custom-charactercustom-character).sup.2  (33)

[0090] Using (32) amounts to effectively using the prior (21). The posterior variances (Y.sub.Ũ.sub.1, . . . , V.sub.Ũ.sub.K) are not required.

5.3 Determining the Variances by Expectation Maximization

[0091] Another possibility for Step (b) is to determine the new parameters by expectation maximization as follows:

[00016] θ ( i ) = argmax θ E [ log p ( U ~ , y .Math. θ , ζ ( i - 1 ) ) ] , ( 34 )

where the expectation is with respect to p(ũ|ẙ, θ.sup.(i−1), ξ.sup.(i−1)). But (34) simplifies to

[00017] θ k ( i ) = argmax θ k E [ log ρ k ( U ~ k , θ k ) ] , ( 35 )

for k∈{1, . . . , K}, where the expectation is with respect to p(ũ.sub.k|{tilde over (y)}, θ.sup.(i−1), ξ.sup.(i−1)). For p.sub.k(ũ.sub.k,1, . . . , ũ.sub.k,{tilde over (L)}, θ.sub.k) as in (29), we obtain

[00018] ( σ k , ~ , j 2 ) ( i ) = E [ ( U ~ k , ~ - m ~ , j ) 2 ] ( 36 ) = V U ~ k , ~ ( i ) + ( u ~ k , ~ ( i ) ) 2 - 2 m ~ , j u ~ k , ~ ( i ) + m ~ , j 2 . ( 37 )

EXAMPLE

[0092] In the example of Section 2.1, the function (7) can be written as

[00019] p ( y .Math. u ~ , x ~ 0 , e ~ , ζ ) exp ( - 1 2 .Math. k = 1 K w ( y k - y ~ k ) 2 ) ( 38 )

with weight w>0, ẙ=y̆ and with p(u, θ) as in (10) and (20) with a=0 and b=1. From (20), we have θ.sub.k=(σ.sub.k,1.sup.2, σ.sub.k,2.sup.2). Determining θ.sup.(i) by (32) results in


σ.sub.k,1.sup.(i)=(ũ.sub.k.sup.(i)).sup.2  (39)


and


σ.sub.k,2.sup.(i)=(ũ.sub.k.sup.(i)−b).sup.2.  (40)

Determining θ.sup.(i) by (35) results in


σ.sub.k,1.sup.(i)=V.sub.U.sub.k.sup.(i)+(ũ.sub.k.sup.(i)).sup.2  (41)


and


σ.sub.k,2.sup.(i)=Y.sub.U.sub.k.sup.(i)+(ũ.sub.k.sup.(i)).sup.2−2.sub.k.sup.(i)+b.sup.2  (42)

[0093] The numerical example in FIG. 3 is obtained with (41) and (42), p({tilde over (x)}.sub.0)=custom-character({tilde over (x)}.sub.0; 0, 0.01), {tilde over (e)}.sub.k=0, and with w=25. Larger values of u, in (38) will yield better approximations of the target y̆. However, if a is too large, the computed input signal u may fail to comply with the two-level constraint.

6 Online Operation and Feedback Control

6.1 Online Operation

[0094] In many applications, the disclosed method will be used in an online mode as follows. In a first planning period (with planning horizon K), the disclosed method is used to determine an input signal (u.sub.1, . . . , u.sub.K). However, only an initial segment (u.sub.1, . . . , u.sub.r) with 0<r<K is actually fed into said analog physical system. In a second planning period, the disclosed method is used to determine an input signal (u.sub.r+1, . . . , u.sub.r+K), but only (u.sub.r+i, . . . , u.sub.2r) is actually fed into said analog physical system. An so on: in the n-th planning period, the disclosed method is used to determine an input signal (u.sub.(n−1)r+1, . . . , u.sub.(n−1)r+K), of which only (u.sub.(n−1)r+1, . . . , u.sub.nr) is actually fed into said analog physical system.

6.2 Feedback Control

[0095] In the online mode of Section 6.1, measurements or additional output signals of said analog physical system, if available, can be used to improve p({tilde over (x)}.sub.0) (i.e., the estimate of the initial state {tilde over (x)}.sub.0), for each planning period (as described in Section 5.1, Step (a)) by customary state-tracking methods.

7 Sparse Switching Between Discrete Levels

[0096] In many applications, switching the input signal between the allowed discrete levels is costly (e.g., because of thermal losses) and should be done as infrequently as possible.

[0097] The disclosed method can handle such situations by an extended system model as follows. For ease of exposition, we will assume a single scalar input signal (i.e., L=1) and a single scalar output (i.e., H=1). First, a state space model representation (with A.sub.k, B.sub.k, C.sub.k and D.sub.k) of the analog physical system is derived. Then, the state space is extended by two states yielding the state space matrices of the extended system model

[00020] A ~ k = [ 0 0 0 2 × N 1 0 0 N × 2 A k ] , B ~ k = [ 1 0 B k ] , ( 43 ) C ~ k = [ 1 - 1 0 N 0 2 C k ] , D ~ k = [ 0 G 0 G D k ] ( 44 )

derived from A.sub.k. B.sub.k, C.sub.A. and D.sub.k, with ũ.sub.k=u.sub.k, {tilde over (e)}.sub.k=e.sub.k, and {tilde over (y)}.sub.k=(U.sub.k−u.sub.k−1, y.sub.k) for k∈{1, . . . , K}. By choosing C.sub.k as above, the level differences u.sub.k−u.sub.k−1 appear as an additional signal component {tilde over (y)}.sub.k,1 in the extended system model output signal {tilde over (y)}.

[0098] A quadratic penalty on the level differences can be achieved by setting nonzero weights in W.sub.k of the function (7) for the particular output signal component Penalties of other forms can be achieved using the optional factors ψ.sub.k({tilde over (y)}.sub.k. ξ.sub.k) in (8). Said factors ψ.sub.k({tilde over (y)}.sub.k, ξ.sub.k) are proportional to Gaussian probability densities for fixed ξ.sub.k. However, their variances may be unknown and determined in every iteration step. By choosing suitable factors ψ.sub.k({tilde over (y)}.sub.k, ξ.sub.k), the penalty function

[00021] cost ( y ~ k , 1 ) = - log max ζ k ψ k ( y ~ k , 1 , ζ k ) ( 45 )

can advantageously represent the absolute value function |u.sub.k−u.sub.k−1| the Huber function, or convex-concave functions as described in [12].

Example: Electric Motor Control

[0099] For a concrete example, consider a simple model of an electric motor as follows. The model has a scalar input a (the control voltage applied to the motor coil) and a scalar output y (the motor coil current) where the input is assumed to be a discrete-valued signal. Given a desired motor coil current y̆ (target trajectory), the goal is to determine a discrete-valued (three level) control voltage a such that the resulting motor coil current approximates the desired motor coil current. The motor coil is assumed to be an ideal inductor modeled by a first order integrator. The discrete-time model of the analog physical system is given by


A.sub.k=1,B.sub.k1/α,C.sub.k=1,D.sub.k=0  (46)

for k∈{1, . . . , K} and where a is the inductance of the motor coil. The extended state space matrices (43) and (44) are

[00022] A ~ k = [ 0 0 0 1 0 0 0 0 1 ] , B ~ k = [ 1 0 1 / α ] , ( 47 ) C ~ k = [ 1 - 1 0 0 0 1 ] , D ~ k = [ 0 0 0 ] , ( 48 )

for k∈{1, . . . , K}. The priors p.sub.k(ũ.sub.k, θ.sub.k) are chosen according to the three-level prior described in Section 4.2 with b=1 and S=[1 1], strongly encouraging the input signal to lie in {−1, 0,1}. n The first component of the extended system model target trajectory ẙ is given by (ẙ.sub.1,1, . . . , ẙ.sub.K,1)=(0, . . . , 0), and the second component by (ẙ.sub.1,2, . . . , ẙ.sub.K,2)=y̆. The function (7) becomes

[00023] p ( y .Math. u ~ , x ~ 0 , e ~ , ζ ) exp ( - 1 2 .Math. k = 1 K ( y k - y ~ k ) T W k ( y k - y ~ k ) ) ( 49 )

with diagonal weight matrix W.sub.k=diag (w.sub.1, w.sub.2), where w.sub.1>0 and w.sub.2>0 are real weights. This results in a quadratic penalty on the level differences with weight w.sub.1 and a quadratic penalty on the approximation error with weight w.sub.2.

[0100] The numerical results of FIG. 7 are obtained with p({tilde over (x)}.sub.0)=custom-character({tilde over (x)}.sub.0; 0.sub.3, 0.01.Math.I.sub.3), {tilde over (e)}.sub.k=0, α=10 and K=150, and with (41) and (42). The experiment was executed three times with different weights w.sub.1 and w.sub.2.

[0101] The desired target motor coil current y̆ is shown in the first plot as dashed line together with the resulting motor coil current y as solid line. The plots below show the determined input signal a as solid line. Three different trade-offs between switching effort and approximation error are shown from top to bottom.

Top: A large w.sub.1 leads to few level switches and a small w.sub.2 allows large approximation error.
Middle: A Medium w.sub.1 and w.sub.2 leads to more level switches but a fairly good approximation of y̆.
Bottom: A. small w.sub.1 and a large w.sub.2 leads to many level switches and a precise approximation of y̆.

8 Beyond Quadratic Fitting Cost

[0102] For ease of exposition, an extended system model with scalar inputs and outputs (i.e., {tilde over (L)}=L={tilde over (H)}=H=1) is assumed for this section.

[0103] If the optional factor ψ({tilde over (y)}, ξ)=1, the function (7) results in a standard 2-norm penalty on the deviation between the extended system model target trajectory and extended system model output signal j. However, the disclosed method can handle other p-norms with p≥1, p≠2 (and essentially also quasi-norms with 0<p<1) by utilizing the optional factor ψ({tilde over (y)}, ξ) and updating ξ in every iteration step. The function (7) can be written as

[00024] p ( y .Math. u ~ , x ~ 0 , e ~ , ζ ) exp ( - 1 2 .Math. k = 1 K w k ( y k - y ~ k ) 2 ) ψ ( y ~ , ζ ) ( 50 )

with scalar weight W.sub.k. Choosing

[00025] ψ k ( y ~ k , ζ k ) = 2 π w k exp ( - β k 2 ( 2 - p ) ( w k ) - p 2 - p 2 p ) ( 51 )

yields

[00026] p ( y .Math. u ~ , x ~ 0 , e ~ , ζ ) exp ( - 1 2 .Math. k = 1 K w k ( y k - y ~ k ) 2 ) exp ( - β k 2 ( 2 - p ) ( w k ) - p 2 - p 2 p ) ( 52 )

where the weights w.sub.k are determined by ξ.sub.k and β.sub.k is a constant scale factor depending on the initial weight w.sub.k, and is defined by

[00027] β k = ( p ω k 2 ) 1 2 - p . ( 53 )

The optional parameters are determined in every iteration I by

[00028] ζ k ( i ) = ω k ( i ) = .Math. "\[LeftBracketingBar]" 𝓎 k - 𝓎 ~ k ( i ) β k .Math. "\[RightBracketingBar]" p - 2 ( 54 )

for k∈{1, . . . . K}.

[0104] As denoted above, β.sub.k is a constant scale factor, precalculated before the first iteration and not updated during the iterations.

[0105] The utilization of the optional factor ψ({tilde over (y)}, ξ) results in the following cost term

[00029] cost ( 𝓎 - 𝓎 ~ ) = - log max ζ p ( 𝓎 | u ~ , x ~ 0 , e ~ , ζ ) ( 55 ) = 1 2 .Math. k = 1 K ω k .Math. "\[LeftBracketingBar]" 𝓎 k - 𝓎 ~ k .Math. "\[RightBracketingBar]" p . ( 56 )

Example: Absolute-Value Penalty

[0106] An absolute value penalty (i.e., p=1) is achieved by choosing

[00030] ψ ( 𝓎 ~ k , ζ k ) = 2 π ω k exp ( - β k 2 2 ω k ) ( 57 )

[0107] with ξ.sub.k=w.sub.k an β.sub.k=w.sub.k/2.

9 Soft Box Constraint

[0108] For ease of exposition, an extended system model with scalar inputs and outputs (i.e., {tilde over (L)}=L={tilde over (H)}=H=1) is assumed for this section.

[0109] If the optional factor ψ({tilde over (y)}, ξ)=1, the function (7) results in a standard 2-norm penalty on the deviation between the extended system model target trajectory ẙ and extended system model output signal {tilde over (y)}. However, the disclosed method may also be used to enforce {tilde over (y)} to lie within fixed bounds by utilizing the optional factor ψ({tilde over (y)}, ξ) and updating ξ in every iteration step. Specifically, the method may be used to enforce


.sub.k≤{tilde over (y)}.sub.k≤ẙ.sub.k+η.sub.k,k∈{1, . . . ,K},  (58)

where ẙ.sub.k and ẙ.sub.k, +η.sub.k set the lower and upper bounds of the box constraint at time k, respectively. The function (7) can be written as

[00031] p ( 𝓎 | u ~ , x ~ 0 , e ~ , ζ ) exp ( - 1 2 .Math. k = 1 K ω k ( 𝓎 k - 𝓎 ~ k ) 2 ) ψ ( 𝓎 ~ , ζ ) ( 59 )

with scalar weight w.sub.k. In order to achieve (58), we choose

[00032] ψ k ( 𝓎 ~ k , ζ k ) = 2 π ω k exp ( - γ 2 2 ω k ) exp ( - 1 2 ω k ( 𝓎 k + η k - 𝓎 ~ k ) 2 ) exp ( - γ 2 2 ω k ) ( 60 )

with auxiliary weight w.sub.k.sup.′ yielding

[00033] p ( 𝓎 | u ~ , x ~ 0 , e ~ , ζ ) exp ( - 1 2 .Math. k = 1 K ω k ( 𝓎 k - 𝓎 ~ k ) 2 ) exp ( - 1 2 .Math. k = 1 K ω k ( 𝓎 k + η k - 𝓎 ~ k ) 2 ) .Math. exp ( - 1 2 .Math. k = 1 K γ 2 2 ω k ) exp ( - 1 2 .Math. k = 1 K γ 2 2 ω k ) , ( 61 )

where the weights w.sub.k and w.sub.k.sup.′, are determined by ξ.sub.k and where γ is a constant scale factor.

[0110] The optional parameters are determined in every iteration i by

[00034] ζ k ( i ) = ( ω k ( i ) , ω k ( i ) ) = ( .Math. "\[LeftBracketingBar]" γ 𝓎 k - 𝓎 ~ k ( i ) .Math. "\[RightBracketingBar]" , .Math. "\[LeftBracketingBar]" γ 𝓎 k + η k - 𝓎 ~ k ( i ) .Math. "\[RightBracketingBar]" ) ( 62 )

for k∈{1, . . . , K}.

[0111] The utilization of the optional factor ψ({tilde over (y)}, ξ) results in the following cost term for (59)

[00035] cost ( 𝓎 ~ ) = - log max ζ p ( 𝓎 | u ~ , x ~ 0 , e ~ , ζ ) ( 63 ) = γ .Math. k = 1 K .Math. "\[LeftBracketingBar]" 𝓎 k - 𝓎 ~ k .Math. "\[RightBracketingBar]" + .Math. "\[LeftBracketingBar]" 𝓎 k + η k - 𝓎 ~ k .Math. "\[RightBracketingBar]" , ( 64 )

where (64) is constant for {tilde over (y)}.sub.k in the interval [ẙ.sub.k, ẙ.sub.k+η.sub.k], and rises with slope 2γ outside of [ẙ.sub.k, ẙ.sub.k+η.sub.k].

[0112] The constraint (58) may be applied to any output of the extended system model, i.e., to any linear function of the state {tilde over (x)}.sub.k (including also inputs).

Example: Steering Object Through Tunnel

[0113] For a concrete example, consider a control problem wherein the analog physical system is a third order integrator chain. The task is to determine a discrete-valued (seven level) control input u to the analog physical system such that the resulting output trajectory y lies between y̆ and y̆+η, with η=(η.sub.1, . . . , η.sub.K)∈custom-character.sup.K.

[0114] The discrete-time model of the analog physical system is given by

[00036] A k = [ 1 0 0 1 1 0 1 / 2 1 1 ] , B k = 0.0015 .Math. [ 1 1 / 2 1 / 6 ] , ( 65 ) C k = [ 0 0 1 ] , D k = [ 0 0 0 ] , ( 66 )

for k∈{1, . . . , K}. The state space matrices of the extended system model are trivially given by Ã.sub.k=A.sub.k, {tilde over (B)}.sub.k=B.sub.k, {tilde over (C)}.sub.k=C.sub.k and {tilde over (D)}.sub.k=D.sub.k, and thus {tilde over (y)}=y and ẙ=y̆.

[0115] The priors p.sub.k(ũ.sub.k, θ.sub.k) are chosen according to the M-level prior described in Section 4.4 with {tilde over (L)}=6, custom-character=2, for all custom-character∈{1, . . . , L}, (m.sub.1,1, m.sub.1,2, . . . , m.sub.6,2)=(0, 1, 0, 1, 0, 1, 0, −1, 0, −1, 0, −1), and S=[1 1 1 1 1 1], strongly encouraging the input signal to lie in {−3, −2, −1, 0, 1, 2, 3}.

[0116] The numerical results of FIG. 8 are obtained with p({tilde over (x)}.sub.0)=custom-character({tilde over (x)}.sub.0; 0.sub.3, 0.01.Math.I.sub.3), {tilde over (e)}.sub.k=0, γ=20 and K=300, and with (41), (42) and (62).

[0117] The desired bounds y̆ and y̆+η are shown in the first plot as dashed line together with the resulting output trajectory y as solid line. The plot below shows the determined discrete-value control signal u as solid line.

10 Further Examples

[0118] In the following sections, we describe further embodiments of the invention.

10.1 Multiple Discrete Inputs and Multiple Outputs

[0119] In the previous examples, the analog physical system had a single input (i.e., L=1) and a single output (H=1). However, the disclosed method can handle multiple inputs and outputs.

Example: MIMO Motor Control

[0120] This example generalizes the example of Section 7 to multiple inputs and outputs. Specifically, the motor in this example is composed of three motor coils which are controlled independently. As a consequence, L=3 and H=3. The input signal u of the analog physical system consists of three components (u.sub.1,1, . . . , u.sub.K,1), (u.sub.1.2, . . . , u.sub.K,2) and (u.sub.1,3, . . . , u.sub.K,3) describing the discrete-valued control voltages for the three motor coils. Analogously, the model output y contains three signal components describing the three motor coil currents as well as the target trajectory Y contains three signal components, describing the three desired motor coil currents.

[0121] The three motor coils of the analog physical system are modeled by three first-order integrators, yielding the following state space representation

[00037] A k = [ 1 0 0 0 1 0 0 0 1 ] , ( 67 ) B k = 1 / α [ 1 0 0 0 1 0 0 0 1 ] , C k = [ 1 0 0 0 1 0 0 0 1 ] , D k = [ 0 0 0 ]

with inductance a for k∈{1, . . . , K}.

[0122] The states of the system are fully decoupled. Coupling between the states could easily be incorporated by populating the non-diagonal entries of A.sub.k. The state space matrices of the extended system model are trivially given by Ã.sub.k=A.sub.k, {tilde over (B)}.sub.k=B.sub.k, {tilde over (C)}.sub.k=C.sub.k and {tilde over (D)}.sub.k=D.sub.k.

[0123] The prior p.sub.k(u.sub.k, θ.sub.A) is a product of multiple three-level priors, i.e.,

[00038] ρ k ( u ~ k , θ k ) = ρ k ( u ~ k , 1 , u ~ k , 2 , u ~ k , 3 , u ~ k , 4 , u ~ k , 5 , u ~ k , 6 , θ k ) ( 68 ) = ρ k , 1 ( u ~ k , 1 , u ~ k , 2 , θ k , 1 ) ρ k , 2 ( u ~ k , 3 , u ~ k , 4 , θ k , 2 ) ρ k , 3 ( u ~ k , 5 , u ~ k , 6 , θ k , 3 ) ( 69 )

with θ.sub.k=(θ.sub.k,1, θ.sub.k,2, θ.sub.k,3), and where each factor in (69) is chosen according to the three-level prior described in Section 4.2 with b=1. The parameter θ.sub.k comprises all variances of (24). The matrix S is chosen to be

[00039] S = [ 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 ] ( 70 )

with L=6 yielding


u.sub.k,1.sub.k,1.sub.k,2  (71)


u.sub.k,2.sub.k,3.sub.k,4  (72)


u.sub.k,3.sub.k,5.sub.k,6  (73)

[0124] The function (7) amounts to

[00040] p ( 𝓎 | u ~ , x ~ 0 , e ~ , ζ ) exp ( - 1 2 .Math. k = 1 K ( 𝓎 k - 𝓎 ~ k ) W k ( 𝓎 k - 𝓎 ~ k ) ) ( 74 )

with weight matrix W.sub.k=wI.sub.3 and ẙ=y̆.

[0125] The numerical results of FIG. 9 are obtained with p({tilde over (x)}.sub.0)=custom-character({tilde over (x)}.sub.0; 0.sub.3, 0.01.Math.I.sub.3), {tilde over (e)}.sub.k, =0, w=5, α=5 and K=200, and with (41) and (42). The desired motor coil currents y̆ are shown in the first plot together with the resulting motor coil currents y as solid line. The plots below show the determined input signals components of it. as solid lines.

10.2 Trajectory Planning with Sparse Checkpoints

[0126] In the previous examples, the weight matrix W.sub.k in (7) did not depend on the time index k. However, time-dependent weights can be useful. For example, consider a situation where the target trajectory y̆ consists of sparse checkpoints at times k.sub.1, k.sub.2, . . . ⊂{1, . . . , K}, with no constraints between these checkpoints. This situation can be handled by choosing W.sub.k=0.sub.{tilde over (H)}×{tilde over (H)} for k.Math.{k.sub.1, k.sub.2, . . . }.

Example: Flappy Bird

[0127] In this example, the analog physical system consists of a point of mass m moving on a xy-plane, as depicted in FIG. 10. The horizontal velocity v.sub.x is constant and not of particular interest (and not part of the system model). The vertical velocity v.sub.y is influenced by a constant gravitational acceleration g, pulling the point mass downwards. Any input fed to said system modifies its total impulse in y-direction and thus its vertical velocity.

[0128] The analog physical system is modeled by a linear state space model with two-dimensional input u (i.e., L=2) and scalar output y (i.e., H=1) according to

[00041] A k = [ 1 T 0 1 ] , B k = [ 0 0 1 / m 1 ] , ( 75 ) C k = [ 1 0 ] , D k = [ 0 0 ] ( 76 )

for k∈{1, . . . , K} where T is the time constant of the discretization. The extended system model is given by Ã.sub.k=A.sub.k, {tilde over (B)}.sub.k=B.sub.k, {tilde over (C)}.sub.k=C.sub.k, {tilde over (D)}.sub.k=D.sub.k, and


S=I.sub.2×2  (77)

The extended input ũ (and also u) comprises of two input components, i.e., {tilde over (L)}=2. The component (ũ.sub.1,1, . . . , ũ.sub.K,1) is a two-level control input and its corresponding prior p.sub.k(ũ.sub.k,1, θ.sub.k), k∈{1, . . . , K}, is chosen according to Section 4.1 with a=0 and b=1. The component (ũ.sub.1,2, . . . , ũ.sub.K,2) is a constant input accounting for the gravitational pull and is defined as ũ.sub.k,2=−Tg for all k∈{1, . . . , K}. The combined prior amounts to


p.sub.k(ũ.sub.k,θ.sub.k)=p.sub.k(u.sub.k,1,θ.sub.k)δ(ũ.sub.k,2+Tg)  (78)

for k∈{1, . . . , K} where δ(.Math.) is the Dirac delta.

[0129] The function (7) is given by

[00042] p ( y .Math. u ~ , x ~ 0 , e ~ , ζ ) exp ( - 1 2 .Math. k = 1 K w k ( y k , y ~ k ) 2 ) ( 79 )

with weights

[00043] w k = { 10 , k { 60 , 120 , 180 , 240 } 0 , else , k { 1 , .Math. , K } ( 80 )

with k∈{60, 120, 180, 240} representing the time instances of the prescribed checkpoints. The goal is to determine a binary input signal (u.sub.1,1, . . . , u.sub.K,1) for said model such that the moving point mass passes through the checkpoints as closely as possible.

[0130] The numerical results of FIG. 11 are obtained with p({tilde over (x)}.sub.0)=custom-character({tilde over (x)}.sub.0; 0.sub.2, 0.01.Math.I.sub.2), {tilde over (e)}.sub.k=0, T=0.1, m=1, g=0.25 and K=250, and with (41) and (42).

[0131] The four checkpoints at time instances k∈{60, 120, 180, 240} are illustrated by black crosses in the first plot. The determined input signal (u.sub.1,1, . . . , u.sub.K,1) is indicated by stems in the second plot. The resulting output trajectory y is depicted as solid line in the first plot. As can be seen, the output trajectory y is an admissible trajectory and does not collide with any of the obstacles.

Notes

[0132] While there are shown and described presently preferred embodiment of the invention, it is to be distinctly understood that the invention is not limited thereto but may be otherwise variously embodied and practiced within the scope of the following claims.

REFERENCES

[0133] [1] A. H. Land and A. G. Doig, “An automatic method for solving discrete programming problems,” ECONOMETRICA, vol. 28, no. 3, pp. 497-520, 1960. [0134] [2] J. Richalet, A. Rault, J. Testud, and J. Papon, “Model predictive heuristic control,” Automatica (Journal of IFAC), vol. 14, no. 5, pp. 413-428, 1978. [0135] [3] T. Geyer, Model Predictive Control of High Power Converters and Industrial Drives, pp. 3-23. John Wiley & Sons, 2016. [0136] [4] P. Karamanakos, T. Geyer, N. Oikonomou, F. Kieferndorf, and S. Manias, “Model predictive control in power electronics: Strategies to reduce the computational complexity,” in IECON 2013-39th Annual Conference of the IEEE Industrial Electronics Society, pp. 5818-5823, IEEE, 2013. [0137] [5] Y. Zhang, W. Xie, Z. Li, and Y. Zhang, “Model predictive direct power control of a PWM rectifier with duty cycle optimization,” IEEE Transactions on Power Electronics, vol. 28, no. 11, pp. 5343-5351, 2013. [0138] [6] M. E. Tipping, “Sparse Bayesian learning and the relevance vector machine,” Journal of Machine Learning Research, vol. 1, no. Jun, pp. 211-244, 2001. [0139] [7] M. E. Tipping, A. Faul, and J. J. T. Avenue, “Fast marginal likelihood maximisation for sparse Bayesian models,” in Proceedings of the Ninth international Workshop on Artificial Intelligence and Statistics, pp. 3-6,2003. [0140] [8] D. P. Wipf and B. D. Rao, “Sparse Bayesian learning for basis selection,” IEEE Transactions on Signal Processing, vol. 52, no. 8, pp. 2153-2164, 2004. [0141] [9] D. P. Wipf and S. S. Nagarajan, “A new view of automatic relevance determination,” in Advances in Neural Information Processing Systems, pp. 1625-1632, 2008. [0142] [10] J. Palmer, K. Kreutz-Delgado, D. Wipf, and B. Rao, “Variational representations of non-Gaussian priors,” UCSD, San Diego, 2005. [0143] [11] J. Palmer, K. Kreutz-Delgado, B. D. Rao, and D. P. Wipf, “Variational EM algorithms for non-Gaussian latent variable models,” in Advances in Neural Information. Processing Systems, pp. 1059-1066, 2006. [0144] [12] H.-A. Loeliger, B. Ma, H. Malmberg, and F. Wadehn, “Factor graphs with NUV priors and iteratively reweighted descent for sparse least squares and more,” in 2018 IEEE 10th International Symposium on Turbo Codes & Iterative Information Processing (ISTC), pp. 1-5, IEEE, 2018. [0145] [13] R. P. Sallen and E. L. Key, “A practical method of designing RC active filters,” IRE Transactions on Circuit Theory, vol. 2, no. 1, pp. 74-85, 1955. [0146] [14] H.-A. Loeliger, L. Bruderer, H. Malmberg, F. Wadehn, and N. Zalmai, “On sparsity by NUV-EM, Gaussian message passing, and Kalman smoothing,” in 2016 Information Theory and Applications Workshop (ITA), pp. 1-10, La Jolla, Calif., 2016.