next up previous contents
Next: 3.2 Zero Crossing Basic Up: 3. Basic Blocks Previous: 3. Basic Blocks

3.1 Regular Basic Block

Regular Basic Blocks (RBB) can have a continuous state x and a discrete state z. If it does have an x and if u denotes its regular input, then, when the block is active over an interval of time, x evolves continuously according to

 
dx/dt = f(t,x,z,u,p,ne) (1)

where f is a vector function, p is a vector of constant parameters and ne is the activation code which is an integer designating the port(s) through which the block is activated. In particular, if activating input ports are $i_1,i_2,\dots,i_n$, then


On the other hand, activated by an event, the states x and z jump instantaneously according to the following equations:

  
x(te) = gc(te,x(te-),z(te-),u(te),p,ne) (2)
z(te) = gd(te,x(te-),z(te-),u(te),p,ne) (3)

where te denotes the event time. The discrete state z remains constant between any two successive events so z(te-) can be interpreted as the previous value of z.

During activation times, the regular output of the block is defined by

 
y(t)=h(t,x(t-),z(t-),u(t),p,ne) (4)

and is constant when the block is not active.

Finally, RBB's can generate activation signals of event type. If it is activated by an event at time te, the time of each output event is given by

 
tevo = k(te,z(te),u(te),p,ne) (5)

where tevo is a vector of time, each entry of which corresponds to one activation output port. The absence of event corresponds to a time smaller than the current time. Event generations can also be pre-scheduled. Pre-scheduling of events can be done by setting the "initial firing variables of blocks with event output ports.


next up previous contents
Next: 3.2 Zero Crossing Basic Up: 3. Basic Blocks Previous: 3. Basic Blocks
Scilab Group