Chapter 7
State Space Systems Constructions
The commands in this section facilitate working with linear dynamic systems.
Most of the entries below require Mathematica’s Control System Professional package available
from Wolfram Research. To change the (commutative) standard Control System Professional
Package for use with NCAlgebra first load in the Control System Professional and then simply load
in the file NCControl.m
The file
NC/NCAlgebra/NCControlSPDemo.nb
contains several examples which illustrate the use of CSP package with non commutative
systems.
The linear system
is
written in Control/Mathematica notation as
where A,B,C, and D are matrices made up of symbolic noncommuting indeterminates. For
example,
Series1 = StateSpace[ {{a}}, {{b}}, {{c}}, {{d}}]
|
or
Series1 = StateSpace[ {{a11, a12}, {a21,a22}}, {{b1}, {b2}}, {{c1, c2}}, {{d}}].
|
7.1 System Interconnections
The following commands allow one to connect two systems in various ways
7.1.1 SeriesConnect[ System1, System2 ]
-
- Aliases: none
-
- Description: SeriesConnect[ sys1 , sys2 ] creates a system which is the series connection of
the two linear dynamic systems, sys1 and sys2 .
-
- Arguments: System1,System2
-
- Comments / Limitations: More complete documentation can be found in the Control
Systems Professional manual.
7.1.2 FeedbackConnect[ System1, System2 ]
-
- Aliases: none
-
- Description: FeedbackConnect[System1,System2] creates a system which is the feedback
connection of the two linear dynamic systems, System1 and System2.
-
- Arguments: System1,System2
-
- Comments / Limitations: More complete documentation can be found in the Control
Systems Professional manual.
7.1.3 ParallelConnect[ System1, System2 ]
-
- Aliases: none
-
- Description: ParallelConnect[System1,System2] creates a system which is the parallel
connection of the two linear dynamic systems, System1 and System2 .
-
- Arguments: System1,System2
-
- Comments / Limitations: More complete documentation can be found in the Control
Systems Professional manual.
7.2 Continuous vs. Discrete
The following commands allow one to determine the whether a system is discrete or
continuous.
7.2.1 ContinuousTimeQ[ System1]
-
- Aliases: none
-
- Description: ContinuousTimeQ[ System1 ] returns True if System1 is a continuous
dynamic system and False otherwise.
-
- Arguments: System1
-
- Comments / Limitations: More complete documentation can be found in the Control
Systems Professional manual.
7.2.2 DiscreteTimeQ[ System1]
-
- Aliases: none
-
- Description: DiscreteTimeQ[System1] returns True if System1 is a discrete dynamic
system and False otherwise.
-
- Arguments: System1
-
- Comments / Limitations: More complete documentation can be found in the Control
Systems Professional manual.
7.3 Transfer Function
The following command will return the transfer function of a system
7.3.1 TransferFunction[ System1]
-
- Aliases: none
-
- Description: TransferFunction[System1] returns the transfer function associated with the
state space representation of System1.
-
- Arguments: System1
-
- Comments / Limitations: More complete documentation can be found in the Control
Systems Professional manual. Changes to the CSP II package, since the CSP I require
that inside NCControl.m we set the option
ReductionMethod → NCInverse
for TransferFunction. For systems with commutative entries one still gets a correct
answer from TransferFunction even with this option set. However, it may look different
from that produced by CSP. Thus for a commutative [A,B,C,D] system, one may
want use the option
ReductionMethod → DeterminantExpansion
which gives the same answer as the CSP default.
7.4 Systems from Systems
The following commands will return the new system associated with the argument
7.4.1 Dual[ System1]
-
- Aliases: none
-
- Description: Dual[System1] returns the dual system to System1
-
- Arguments: System1
-
- Comments / Limitations: More complete documentation can be found in the Control
Systems Professional manual.
7.4.2 InverseSystem[ System1]
-
- Aliases: none
-
- Description: InverseSystem[System1] returns the system which is the inverse of System1
-
- Arguments: System1
-
- Comments / Limitations: This function does not require the Control Systems Professional
manual.