FeedbackConnect - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


DynamicSystems

  

FeedbackConnect

  

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

 

Calling Sequence

Parameters

Options

Description

Examples

Compatibility

Calling Sequence

FeedbackConnect(systems, opts)

FeedbackConnect(systems, feedbacktype, opts)

FeedbackConnect(systems, loopconnections, opts)

Parameters

systems

-

list(System); list of system objects

feedbacktype

-

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

loopconnections

-

(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).

opts

-

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

Options

• 

outputtype = tf, coeff, zpk, ss, or de

  

Specifies the subtype of the returned system object.  The default return type is based on the type of the system objects specified in the systems parameter. See the Description section for more details on the return type.

• 

merge = keep, evaluate, or replace

  

Specifies how parameters from different systems are merged. The default is keep.

– 

keep: keep the original parameters. The value for a parameter is the value assigned by the first system that defines it.

– 

evaluate: replace all parameters in the systems with their assigned values.

– 

replace: replace each parameter in a system with a distinct parameter created by appending an index from the param_indices options. For example, the parameter P of the first system becomes P1.

• 

indices = list

  

Used when merge is replace. The k-th element of the list is appended, as an index, to each parameter name of the k-th system. The number of elements must match the number of systems. The default is the positive integers, with 1 corresponding to the first subsystem.

Description

• 

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].

Examples

withDynamicSystems:

Example 1: Connect a SISO system with negative unity feedback

sys1aTransferFunctionKss+1:

feedback1aFeedbackConnectsys1a:PrintSystemfeedback1a

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

(1)

feedback1aFeedbackConnectsys1a,outputtype=zpk:

PrintSystemfeedback1a

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

(2)

n2:m1:p1:

sys1bStateSpaceusesymbols,numinputs=m,numoutputs=p,numstates=n:sys1b:-d1,10:

feedback1bFeedbackConnectsys1b:

PrintSystemfeedback1b

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

(3)

Example 2: Connect two MIMO systems in positive feedback

sys1cStateSpaceusesymbols,numinputs=m,numoutputs=p+1,numstates=n:sys1c:-dMatrixp+1,m:

sys2cStateSpacesymbols=e,f,g,h,usesymbols,numinputs=m+1,numoutputs=p,numstates=n:sys2c:-dMatrixp,m+1:

feedback2FeedbackConnectsys1c,sys2c,positive:

PrintSystemfeedback2

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,2f1,1c1,1+f1,2c2,1f1,1c1,2+f1,2c2,2e1,1e1,2f2,1c1,1+f2,2c2,1f2,1c1,2+f2,2c2,2e2,1e2,2b=b1,1b2,100c=c1,1c1,200c2,1c2,200d=00

(4)

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.

sys1dStateSpaceusesymbols,numinputs=m+2,numoutputs=p+3,numstates=n:sys1d:-dMatrixp+3,m+2:

feedback3FeedbackConnectsys1d,1,4,3,2:

PrintSystemfeedback3

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

(5)

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

sys1eStateSpaceusesymbols,numinputs=m+2,numoutputs=p+2,numstates=n:sys1e:-dMatrixp+2,m+2:

sys2eStateSpacesymbols=e,f,g,h,usesymbols,numinputs=m+1,numoutputs=p+2,numstates=n:sys2e:-dMatrixp+2,m+1:

feedback4FeedbackConnectsys1e,sys2e,1,3,2,2,2,2,1,3:

PrintSystemfeedback4

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

(6)

Compatibility

• 

The DynamicSystems[FeedbackConnect] command was introduced in Maple 18.

• 

For more information on Maple 18 changes, see Updates in Maple 18.

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]