create the equivalent system representation of one or two system objects with positive or negative feedback connection. - Maple Help

Online Help

All Products    Maple    MapleSim

Home : Support : Online Help : Science and Engineering : Dynamic Systems : System Manipulation Tools : DynamicSystems/FeedbackConnect

DynamicSystems[FeedbackConnect] - create the equivalent system representation of one or two system objects with positive or negative feedback connection.

Calling Sequence

FeedbackConnect(systems, opts)

FeedbackConnect(systems, feedbacktype, opts)

FeedbackConnect(systems, loopconnections, opts)




list(System); list of system objects



(optional) negative or positive; type of feedback loops, negative by default



(optional) listlist; list of lists of indexes specifying loop connections [loop 1,...,loop k], where the indexes in loop k must be ordered as follows: [input sys1, output sys1] for one system, and [input sys1, output sys1, input sys2, output sys2] for two systems. The sign of the last index in the above lists determines the type of feedback (positive or negative).



(optional) equation(s) of the form option = value; specify options for the FeedbackConnect command



The FeedbackConnect command creates the equivalent system representation of the feedback connection of one or two system objects. When two system objects are given, the first system is placed in the forward path and the second system is placed in the reverse (or feedback path). When a single system is given, the system object is placed in the forward path and unity feedback is assumed.


Unless loop connection lists are specified, all inputs and outputs of the systems are used to form negative feedback loops by default. The number of forward path system's outputs must match the number of feedback path system's inputs. Likewise, the number of forward path system's inputs must match the number of feedback path system's outputs. The returned system has the same number of inputs/outputs as the forward path system.


If loop connection lists are provided, the number of loops connection lists must not exceed the minimum number of inputs or outputs of the individual systems. If a single system is specified, the loop connection lists must contain 2 indexes each, as in [input sys1, output sys1]. If two systems are specified, the loop connection lists must contain 4 indexes each, as in [input sys1, output sys1, input sys2, output sys2].


The system objects must be either both continuous or both discrete with the same sampling times.


The returned system type is the same as the input system type, unless the outputtype option is used, or the input is an ae system type.


In the specific case when the system parameter is an algebraic equation (ae) and no option is specified, the FeedbackConnect command returns a system object in state space form by default. If the algebraic equation system does not have a state space representation, an error is returned. For details on algebraic equation object support by the DynamicSystems package, see DynamicSystems[AlgEquation].



Example 1: Connect a SISO system with negative unity feedback



Transfer Functioncontinuous1 output(s); 1 input(s)inputvariable=u1soutputvariable=y1stf1,1=Ks2+s+K




Zero Pole Gaincontinuous1 output(s); 1 input(s)inputvariable=u1soutputvariable=y1sz1,1=p1,1=12+14K2,1214K2k1,1=K






State Spacecontinuous1 output(s); 1 input(s); 2 state(s)inputvariable=u1toutputvariable=y1tstatevariable=x1t,x2ta=b1,1c1,1+a1,1b1,1c1,2+a1,2b2,1c1,1+a2,1b2,1c1,2+a2,2b=b1,1b2,1c=c1,1c1,2d=0


Example 2: Connect two MIMO systems in positive feedback





State Spacecontinuous2 output(s); 1 input(s); 4 state(s)inputvariable=u1toutputvariable=y1t,y2tstatevariable=x1t,x2t,x3t,x4ta=a1,1a1,2b1,1g1,1b1,1g1,2a2,1a2,2b2,1g1,1b2,1g1,2c1,1f1,1+c2,1f1,2c1,2f1,1+c2,2f1,2e1,1e1,2c1,1f2,1+c2,1f2,2c1,2f2,1+c2,2f2,2e2,1e2,2b=b1,1b2,100c=c1,1c1,200c2,1c2,200d=00


Example 3: Connect a MIMO system with two negative unity feedback loops, connecting input u11 and output y14 and input u13 and output y12, respectively.




State Spacecontinuous4 output(s); 3 input(s); 2 state(s)inputvariable=u1t,u2t,u3toutputvariable=y1t,y2t,y3t,y4tstatevariable=x1t,x2ta=b1,1c4,1b1,3c2,1+a1,1b1,1c4,2b1,3c2,2+a1,2b2,1c4,1b2,3c2,1+a2,1b2,1c4,2b2,3c2,2+a2,2b=b1,1b1,2b1,3b2,1b2,2b2,3c=c1,1c1,2c2,1c2,2c3,1c3,2c4,1c4,2d=000000000000


Example 4: Connect two MIMO systems with two negative feedback loops, as shown in the figure.





State Spacecontinuous3 output(s); 3 input(s); 4 state(s)inputvariable=u1t,u2t,u3toutputvariable=y1t,y2t,y3tstatevariable=x1t,x2t,x3t,x4ta=a1,1a1,2b1,1g2,1b1,2g3,1b1,1g2,2b1,2g3,2a2,1a2,2b2,1g2,1b2,2g3,1b2,1g2,2b2,2g3,2f1,1c2,1+f1,2c3,1f1,1c2,2+f1,2c3,2e1,1e1,2f2,1c2,1+f2,2c3,1f2,1c2,2+f2,2c3,2e2,1e2,2b=b1,1b1,2b1,3b2,1b2,2b2,3000000c=c1,1c1,200c2,1c2,200c3,1c3,200d=000000000


See Also

Description of the Model of a Linear System Object, DynamicSystems, DynamicSystems[AlgEquation], DynamicSystems[AppendConnect], DynamicSystems[ParallelConnect], DynamicSystems[PrintSystem], DynamicSystems[SeriesConnect], DynamicSystems[StateSpace], DynamicSystems[SystemConnect], DynamicSystems[TransferFunction]

Download Help Document

Was this information helpful?

Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam