How Do I Solve a Block Diagram in
Mathematica?
Wolfram Research offers a number of specialized packages for control
design and analysis as well as for DSP design and code generation.
Nevertheless, it is instructive to see how easily you can solve block
diagrams using just the basic package. If you are interested in more-advanced
packages, take a look at Control System Professional,
Analog Insydes, or Signals and Systems in the
Mathematica store.
Reducing the Block Diagram and Computing the
Closed-Loop Transfer Function
![[Graphics:Images/index_gr_1.gif]](Images/index_gr_1.gif)
Write a block diagram equation for the rightmost closed loop in the diagram, and solve
for the input to this loop.
![[Graphics:Images/index_gr_2.gif]](Images/index_gr_2.gif)
![[Graphics:Images/index_gr_3.gif]](Images/index_gr_3.gif)
Now write the block diagram equation for the rest of the system, and solve for the output
of this loop.
![[Graphics:Images/index_gr_4.gif]](Images/index_gr_4.gif)
![[Graphics:Images/index_gr_5.gif]](Images/index_gr_5.gif)
The solutions to these equations represent the same stream, so we equate them
and solve the equation to determine the overall transfer function. /. replaces
with the results
sol1 and sol2 on both sides of the equation.
![[Graphics:Images/index_gr_9.gif]](Images/index_gr_9.gif)
![[Graphics:Images/index_gr_10.gif]](Images/index_gr_10.gif)
![[Graphics:Images/index_gr_11.gif]](Images/index_gr_11.gif)
![[Graphics:Images/index_gr_12.gif]](Images/index_gr_12.gif)
Generating a Pole-Zero Map of the Closed-Loop Transfer Function
These inputs solve for the zeros and poles of the transfer function.
![[Graphics:Images/index_gr_13.gif]](Images/index_gr_13.gif)
![[Graphics:Images/index_gr_14.gif]](Images/index_gr_14.gif)
![[Graphics:Images/index_gr_15.gif]](Images/index_gr_15.gif)
![[Graphics:Images/index_gr_16.gif]](Images/index_gr_16.gif)
Here are some simple graphing routines for generating pole-zero plots. These are
based on code written by H. Joel
Trussel in his notebook tutorial
Filter
Design by Pole-Zero Placement.
![[Graphics:Images/index_gr_17.gif]](Images/index_gr_17.gif)
![[Graphics:Images/index_gr_18.gif]](Images/index_gr_18.gif)
![[Graphics:Images/index_gr_19.gif]](Images/index_gr_19.gif)
![[Graphics:Images/index_gr_20.gif]](Images/index_gr_20.gif)
![[Graphics:Images/index_gr_21.gif]](Images/index_gr_21.gif)
![[Graphics:Images/index_gr_22.gif]](Images/index_gr_22.gif)
|