Content deleted Content added
m Task 18 (cosmetic): eval 63 templates: del empty params (39×); hyphenate params (2×); del |ref=harv (3×); |
Altered template type. Add: chapter, title. | Use this tool. Report bugs. | #UCB_Gadget |
||
(22 intermediate revisions by 13 users not shown) | |||
Line 1:
{{Short description|Flow graph invented by Claude Shannon}}
{{Redirect|Mason graph|other flow graphs|Flow graph (mathematics)}}
Line 11 ⟶ 12:
== History ==
Wai-Kai Chen wrote: "The concept of a signal-flow graph was originally worked out by [[Claude Shannon|Shannon]] [1942]<ref name=Shannon>
{{cite
</ref>
in dealing with analog computers. The greatest credit for the formulation of signal-flow graphs is normally extended to [[Samuel Jefferson Mason|Mason]] [1953],<ref name=Mason>
{{cite journal|last=Mason|first=Samuel J.
</ref> [1956].<ref name=Mason2>
{{cite journal |title=Feedback Theory-Further Properties of Signal Flow Graphs |author=SJ Mason |doi=10.1109/JRPROC.1956.275147 |date=July 1956 |volume=44 |issue=7 |journal=Proceedings of the IRE |pages=920–926 |hdl=1721.1/4778 |s2cid=18184015 |hdl-access=free }} On-line version found at [http://dspace.mit.edu/bitstream/handle/1721.1/4778/RLE-TR-303-15342712.pdf?sequence=1 MIT Research Laboratory of Electronics].
</ref> He showed how to use the signal-flow graph technique to solve some difficult electronic problems in a relatively simple manner. The term '''signal flow graph''' was used because of its original application to electronic problems and the association with electronic signals and flowcharts of the systems under study."<ref>{{cite book|last=Chen|first=Wai-Kai|date=1976|title= Applied Graph Theory : Graphs and Electrical Networks |publisher=[[Elsevier]]|url=https://books.google.com/books?id=wYqjBQAAQBAJ&pg=PA167 |isbn=9781483164151}}{{Harv|
Lorens wrote: "Previous to [[Samuel Jefferson Mason|Mason]]'s work, [[Claude Shannon|C. E. Shannon]]<ref name="Shannon"/> worked out a number of the properties of what are now known as flow graphs. Unfortunately, the paper originally had a restricted classification and very few people had access to the material."<ref>
Line 31 ⟶ 32:
}}</ref>
"The rules for the evaluation of the graph determinant of a Mason Graph were first given and proven by Shannon [1942] using mathematical induction. His work remained essentially unknown even after Mason published his classical work in 1953. Three years later, Mason [1956] rediscovered the rules and proved them by considering the value of a determinant and how it changes as variables are added to the graph. [...]"<ref>{{Harv|
== Domain of application ==
Robichaud ''et al.'' identify the ___domain of application of SFGs as follows:<ref name=Robichaud>
{{cite book |title=Signal flow graphs and applications |author1=Louis PA Robichaud |author2=Maurice Boisvert |author3=Jean Robert |year=1962 |publisher=Prentice Hall |chapter-url=http://babel.hathitrust.org/cgi/pt?id=uc1.b4338380;view=1up;seq=8 |asin=B0000CLM1G |chapter = Preface |series=Prentice-Hall electrical engineering series |page=x}}
</ref>
:"All the physical systems analogous to these networks [constructed of ideal transformers, active elements and gyrators] constitute the ___domain of application of the techniques developed [here]. Trent<ref name=Trent>
Line 64 ⟶ 65:
=== Choosing the variables ===
{{
=== Non-uniqueness ===
Line 95 ⟶ 96:
For linear active networks, Choma writes:<ref name=Choma>
{{cite journal |title=Signal flow analysis of feedback networks |author=J Choma, Jr |journal= IEEE Transactions on Circuits and Systems
</ref> "By a 'signal flow representation' [or 'graph', as it is commonly referred to] we mean a diagram that, by displaying the algebraic relationships among relevant branch variables of network, paints an unambiguous picture of the way an applied input signal ‘flows’ from input-to-output ... ports."
Line 147 ⟶ 148:
** '''Residual node.''' In any contemplated process of graph reduction, the nodes to be retained in the new graph are called residual nodes.<ref name=Mason/>
* '''Splitting a node.''' Splitting a node corresponds to splitting a node into two half nodes, one being a sink and the other a source.<ref name=Robichaud2>
{{cite book |title=Signal flow graphs and applications |author1=Louis PA Robichaud |author2=Maurice Boisvert |author3=Jean Robert |year=1962 |publisher=Prentice Hall |chapter-url=http://babel.hathitrust.org/cgi/pt?id=uc1.b4338380;view=1up;seq=8 |asin=B0000CLM1G |chapter = §1-4: Definitions and terminology |series=Prentice-Hall electrical engineering series |page=8}}
</ref>
* '''Index''': The index of a graph is the minimum number of nodes which have to be split in order to remove all the loops in a graph.
Line 160 ⟶ 161:
The purpose of this reduction is to relate the dependent variables of interest (residual nodes, sinks) to its independent variables (sources).
The systematic reduction of a linear signal-flow graph is a graphical method equivalent to the [[Gaussian elimination|Gauss-Jordan elimination]] method for solving linear equations.<ref name="Henley 1973 12">{{harv|Henley|Williams|1973|p=12}}</ref>
The rules presented below may be applied over and over until the signal flow graph is reduced to its "minimal residual form". Further reduction can require loop elimination or the use of a "reduction formula" with the goal to directly connect sink nodes representing the dependent variables to the source nodes representing the independent variables. By these means, any signal-flow graph can be simplified by successively removing internal nodes until only the input and output and index nodes remain.<ref>{{harv|Phang|2001|p=37}}</ref><ref>Examples of the signal-flow graph reduction can be found in {{harv|Robichaud|Boisvert|Robert||1962|p=186, Sec. 7-3 Algebraic reduction of signal flow graphs}}</ref> Robichaud described this process of systematic flow-graph reduction:
{{
The graph itself programs the reduction process. Indeed a simple inspection of the graph readily suggests the different steps of the reduction which are carried out by elementary transformations, by loop elimination, or by the use of a reduction formula.<ref name="Robichaud 1962 9–10, Sec. 1–5: Reduction of the flow graph"/>|Robichaud|Boisvert|Robert||Signal flow graphs and applications, 1962}}
For digitally reducing a flow graph using an algorithm, Robichaud extends the notion of a simple flow graph to a ''generalized'' flow graph:
{{
The elementary transformations [defined by Robichaud in his Figure 7.2, p. 184] and the loop reduction permit the elimination of any node ''j'' of the graph by the ''reduction formula'':[described in Robichaud's Equation 7-1]. With the reduction formula, it is always possible to reduce a graph of any order... [After reduction] the final graph will be a cascade graph in which the variables of the sink nodes are explicitly expressed as functions of the sources. This is the only method for reducing the generalized graph since Mason's rule is obviously inapplicable.<ref>{{harv|Robichaud|Boisvert|Robert||1962|p=185, Sec. 7-2: Generalization of flow graphs}}</ref>|Robichaud|Signal flow graphs and applications, 1962}}
The definition of an '''elementary transformation''' varies from author to author:
* Some authors only consider as elementary transformations the summation of parallel-edge gains and the multiplication of series-edge gains, but not the elimination of self-loops<ref name="Henley 1973 12"/><ref>{{harv|Robichaud|Boisvert|Robert||1962|pp=9, Sec. 1–5 REDUCTION OF THE FLOW GRAPH}}</ref>
* Other authors consider the elimination of a self-loop as an elementary transformation<ref>{{Cite book|title = Design of Analog Circuits Through Symbolic Analysis|last1 = Fakhfakh|first1 = Mourad|publisher = Bentham Science Publishers|year = 2012|isbn = 978-1-60805-425-1|pages = 418|chapter = Section 4.1.2 Signal flow graphs algebra|last2 = Tlelo-Cuautle|first2 = Esteban|last3 = V. Fernández|first3 = Francisco|editor-last = Fakhfakh}}</ref>
'''Parallel edges. '''Replace parallel edges with a single edge having a gain equal to the sum of original gains.{{
[[File:Signal-Flow-Graph-Refactoring 01 parallel.svg|upright|Signal flow graph refactoring rule: replacing parallel edges with a single edge with a gain set to the sum of original gains.]]{{
The graph on the left has parallel edges between nodes. On the right, these parallel edges have been replaced with a single edge having a gain equal to the sum of the gains on each original edge.{{
The equations corresponding to the reduction between '''N''' and node '''I<sub>1</sub>''' are:
:<math>\begin{align}
Line 186 ⟶ 187:
\end{align}</math>
'''Outflowing edges. '''Replace outflowing edges with edges directly flowing from the node's sources.{{
[[File:Signal-Flow-Graph-Refactoring 03 outflowing.svg|upright|Signal flow graph refactoring rule: replacing outflowing edges with direct flows from inflowing sources.]]{{
The graph on the left has an intermediate node '''N''' between nodes from which it has inflows, and nodes to which it flows out.
The graph on the right shows direct flows between these node sets, without transiting via '''N'''.
For the sake of simplicity, '''N''' and its inflows are not represented. The outflows from '''N''' are eliminated.{{
The equations corresponding to the reduction directly relating '''N''''s input signals to its output signals are:
:<math>\begin{align}
Line 207 ⟶ 208:
'''Zero-signal nodes.'''
Eliminate outflowing edges from a node determined to have a value of zero.{{
[[File:Signal-Flow-Graph-Refactoring 04 from zero-signal node.svg|upright|Signal flow graph refactoring rule: eliminating outflowing edges from a node known to have a value of zero.]]{{
If the value of a node is zero, its outflowing edges can be eliminated.
'''Nodes without outflows.'''
Eliminate a node without outflows.{{
[[File:Signal-Flow-Graph-Refactoring 05 don't care.svg|upright|Signal flow graph refactoring rule: a node that is not of interest can be eliminated provided that it has no outgoing edges.]]{{
In this case, '''N''' is not a variable of interest, and it has no outgoing edges; therefore, '''N''', and its inflowing edges, can be eliminated.
'''Self-looping edge. '''Replace looping edges by adjusting the gains on the incoming edges.{{
[[File:Signal-Flow-Graph-Refactoring 02 self-loop.svg|upright|Signal flow graph refactoring rule: a looping edge at node N is eliminated and inflow gains are multiplied by an adjustment factor.]]{{
<div style="display: flex; overflow-x: auto;">
:<math>\begin{align}
N &= I_\mathrm{1} f_\mathrm{1} + I_\mathrm{2} f_\mathrm{2} + I_\mathrm{3} f_\mathrm{3} + N g \\
Line 225 ⟶ 228:
N &= I_\mathrm{1} f_\mathrm{1}\div (1-g) + I_\mathrm{2} f_\mathrm{2}\div (1-g) + I_\mathrm{3} f_\mathrm{3} \div (1-g) \\
\end{align}</math>
</div>
==== Implementations ====
The above procedure for building the SFG from an acausal system of equations and for solving the SFG's gains have been implemented<ref>Labrèche P., [https://www.researchgate.net/publication/266391592_1977_Labreche_-_LINEAR_ELECTRICAL_CIRCUITS_SYMBOLIC_NETWORK_ANALYSIS presentation: Linear Electrical Circuits:Symbolic Network Analysis], 1977.</ref> as an add-on to [[MATHLAB 68]],<ref>
=== Solving linear equations ===
Signal flow graphs can be used to solve sets of simultaneous linear equations.<ref name="Deo page 416">"... solving a set of simultaneous, linear algebraic equations. This problem, usually solved by matrix methods, can also be solved via graph theory. " {{cite book| last=Deo|first= Narsingh | year= 1974|title=Graph Theory with Applications to Engineering and Computer Science |publisher= Prentice-Hall of India |isbn= 978-81-203-0145-0 | page=416}} also on-line at [https://books.google.com/books?id=Yr2pJA950iAC
==== Putting the equations in "standard form" ====
Line 264 ⟶ 268:
where the right side of this equation is the sum of the weighted arrows incident on node ''x<sub>1</sub>''.
As there is a basic symmetry in the treatment of every node, a simple starting point is an arrangement of nodes with each node at one vertex of a regular polygon. When expressed using the general coefficients {''c<sub>in</sub>''}, the environment of each node is then just like all the rest apart from a permutation of indices. Such an implementation for a set of three simultaneous equations is seen in the figure.<ref name="Deo page 417">{{cite book| last=Deo|first= Narsingh | year= 1974|title=Graph Theory with Applications to Engineering and Computer Science |publisher= Prentice-Hall of India |isbn= 978-81-203-0145-0 | page=417}} also on-line at [https://books.google.com/books?id=Yr2pJA950iAC
Often the known values, y<sub>j</sub> are taken as the primary causes and the unknowns values, x<sub>j</sub> to be effects, but regardless of this interpretation, the last form for the set of equations can be represented as a signal-flow graph. This point is discussed further in the subsection [[#Interpreting 'causality'|Interpreting 'causality']].
==== Applying Mason's gain formula ====
{{
In the most general case, the values for all the x<sub>k</sub> variables can be calculated by computing Mason's gain formula for the path from each y<sub>j</sub> to each x<sub>k</sub> and using superposition.
:<math>\begin{align} x_\mathrm{k} &= \sum_{\mathrm{j}=1}^{\mathrm{M}} ( G_\mathrm{kj} ) y_\mathrm{j} \end{align} </math>
Line 357 ⟶ 361:
=== Signal-flow graphs for design synthesis ===
Signal-flow graphs have been used in [[Design Space Exploration|Design Space Exploration (DSE)]], as an intermediate representation towards a physical implementation. The DSE process seeks a suitable solution among different alternatives. In contrast with the typical analysis workflow, where a system of interest is first modeled with the physical equations of its components, the specification for synthesizing a design could be a desired transfer function. For example, different strategies would create different signal-flow graphs, from which implementations are derived.<ref>{{Cite journal|title = ARCHGEN: Automated synthesis of analog systems|last1 = Antao|first1 = B. A. A.|date = June 1995|journal = IEEE Transactions on Very Large Scale Integration (VLSI) Systems |doi = 10.1109/92.386223|volume = 3|issue = 2|pages = 231–244|last2 = Brodersen|first2 = A.J.}}</ref>
Another example uses an annotated SFG as an expression of the continuous-time behavior, as input to an architecture generator<ref>{{Cite book
== Shannon and Shannon-Happ formulas ==
Shannon's formula is an analytic expression for calculating the gain of an interconnected set of amplifiers in an analog computer. During World War II, while investigating the functional operation of an analog computer, Claude Shannon developed his formula. Because of wartime restrictions, Shannon's work was not published at that time, and, in 1952, [[Samuel Jefferson Mason|Mason]] rediscovered the same formula.
[[William W. Happ]] generalized the Shannon formula for topologically closed systems.<ref name=Happ66>{{Cite journal|title = Flowgraph Techniques for Closed Systems|last = Happ|first = William W.|date = 1966|journal = IEEE Transactions on Aerospace and Electronic Systems|doi = 10.1109/TAES.1966.4501761|pages = 252–264|volume=AES-2|issue = 3|bibcode = 1966ITAES...2..252H|s2cid = 51651723}}</ref> The Shannon-Happ formula can be used for deriving transfer functions, sensitivities, and error functions.<ref name=Potash />
For a consistent set of linear unilateral relations, the Shannon-Happ formula expresses the solution using direct substitution (non-iterative).<ref name=Potash>{{cite
NASA's electrical circuit software NASAP is based on the Shannon-Happ formula.<ref name=Potash /><ref name=NASAP-70 />
Line 382 ⟶ 386:
[[File:Control parameter.PNG|thumb|upright=1.0|Figure 4: A different signal-flow graph for the [[asymptotic gain model]] ]]
[[File:Signal flow graph for feedback amplifier.png|thumb|upright=1.0 |A signal flow graph for a nonideal [[negative feedback amplifier]] based upon a control variable ''P'' relating two internal variables: ''x<sub>j</sub>=Px<sub>i</sub>''. Patterned after D.Amico ''et al.''<ref name=Damico>
{{cite journal |title=Resistance of Feedback Amplifiers: A novel representation |author=Arnaldo D’Amico, Christian Falconi, Gianluca Giustolisi, Gaetano Palumbo |journal= IEEE Transactions on Circuits and Systems
</ref>]]
A possible SFG for the [[asymptotic gain model]] for a [[negative feedback amplifier]] is shown in Figure 3, and leads to the equation for the gain of this amplifier as
Line 439 ⟶ 443:
== Terminology and classification of signal-flow graphs ==
There is some confusion in literature about what a signal-flow graph is; [[Henry Paynter]], inventor of [[bond graphs]], writes: "But much of the decline of signal-flow graphs [...] is due in part to the mistaken notion that the branches must be linear and the nodes must be summative. Neither assumption was embraced by Mason, himself !"<ref name=Paynter>{{cite
=== Standards covering signal-flow graphs ===
Line 476 ⟶ 480:
| first2 =Alan V.
| last2 =Oppenhiem
| title =2011 Digital Signal Processing and Signal Processing Education Meeting (DSP/SPE)▼
| chapter =Inversion of nonlinear and time-varying systems
| year = 2011
| pages =283–288
| publisher =IEEE
| doi =10.1109/DSP-SPE.2011.5739226
▲ | title =2011 Digital Signal Processing and Signal Processing Education Meeting (DSP/SPE)
| isbn =978-1-61284-226-4
| citeseerx =10.1.1.695.7460
Line 506 ⟶ 509:
|url=https://books.google.com/books?id=hPx70ozDJlwC&q=signal+flow+graph&pg=PA86}}
</ref>
** Reliability of electronic systems<ref>{{Cite
* [[Physiology]] and [[biophysics]]
** Cardiac output regulation<ref>{{Cite journal|title = The pioneering use of systems analysis to study cardiac output regulation|last = Hall|first = John E.|date = August 23, 2004|journal = Am J Physiol Regul Integr Comp Physiol|doi = 10.1152/classicessays.00007.2004|pmid = 15475497|volume=287|issue = 5|pages=R1009–R1011}}</ref>
* [[Simulation]]
** Simulation on analog computers<ref>{{harv|Robichaud|Boisvert|Robert||1962|loc=chapter 5 Direct Simulation on Analog Computers Through Signal Flow Graphs}}</ref>
*[[Neuroscience]] and [[Combinatorics]]
** Study of Polychrony<ref>{{Cite journal | title = Polychronization: computation with spikes|last = Izhikevich |first = Eugene M |journal = Neural Computation | date = Feb 2006|doi= 10.1162/089976606775093882 | pmid = 16378515 | volume = 18 | issue = 2 |pages = 245–282 |s2cid = 14253998 }}</ref><ref>{{Cite journal | title = Polychrony as Chinampas
|author = Dolores-Cuenca, E.& Arciniega-Nevárez, J.A.& Nguyen, A.& Zou, A.Y.& Van Popering, L.& Crock, N.& Erlebacher, G.& Mendoza-Cortes, J.L.
|journal = Algorithms
| date = April 2023|doi= 10.3390/a16040193 | volume = 16|issue = 4 |page = 193
|doi-access = free
|arxiv = 2103.15265}}</ref>
==See also==
* [[Asymptotic gain model]]
Line 527 ⟶ 538:
==References==
* {{cite book |
*{{Citation |last=Kou|first= Benjamin C. |year= 1967 |title= Automatic Control Systems|publisher= Prentice Hall }}
*{{cite book|last=Robichaud|first=Louis P.A. |author2= Maurice Boisvert|author3= Jean Robert|year= 1962 |title=Signal flow graphs and applications |pages=xiv, 214 p |publisher= Prentice Hall|___location=Englewood Cliffs, N.J.|url=http://babel.hathitrust.org/cgi/pt?id=uc1.b4338380}}▼
*{{Citation |last=Deo|first=Narsingh |year= 1974|title= Graph Theory with Applications to Engineering and Computer Science|pages= 418|publisher= PHI Learning Pvt. Ltd.|isbn= 978-81-203-0145-0|url=https://books.google.com/books?id=Yr2pJA950iAC}}▼
*{{cite book |title=Graphs: Theory and algorithms |author1=K Thulasiramen |author2=MNS Swarmy |chapter=§6.11 The Coates and Mason graphs |pages=163 ''ff'' |chapter-url=https://books.google.com/books?id=rFH7eQffQNkC&pg=PA163 |publisher=John Wiley & Sons |year=2011 |isbn=9781118030257}}▼
*{{cite book|last=Ogata|first=Katsuhiko |year= 2002|title= Modern Control Engineering 4th Edition|publisher= Prentice-Hal |chapter=Section 3-9 Signal Flow Graphs|isbn=978-0-13-043245-2}}
* {{Cite thesis |last= Phang |first= Khoman |title= CMOS Optical Preamplifier Design Using Graphical Circuit Analysis|chapter= ''2.5 An overview of Signal-flow graphs'' |chapter-url= http://www.eecg.toronto.edu/~kphang/papers/PhDthesis.pdf|date=
▲*{{cite book|
* {{cite book|author=Wai-Kai Chen|title=Applied Graph Theory|publisher=North Holland Publishing Company|year=1976|isbn=978-0720423624}} Chapter 3 for the essentials, but applications are scattered throughout the book.▼
==Further reading==
▲*{{Citation |last=Deo|first=Narsingh |year= 1974|title= Graph Theory with Applications to Engineering and Computer Science|pages= 418|publisher= PHI Learning Pvt. Ltd.|isbn= 978-81-203-0145-0|url=https://books.google.com/books?id=Yr2pJA950iAC}}
▲* {{cite book|author=Wai-Kai Chen|title=Applied Graph Theory|publisher=North Holland Publishing Company|year=1976|isbn=978-0720423624}} Chapter 3 for the essentials, but applications are scattered throughout the book.
▲*{{cite book |title=Graphs: Theory and algorithms |author1=K Thulasiramen |author2=MNS Swarmy |chapter=§6.11 The Coates and Mason graphs |pages=163 ''ff'' |chapter-url=https://books.google.com/books?id=rFH7eQffQNkC&pg=PA163 |publisher=John Wiley & Sons |year=2011 |isbn=9781118030257}}
* {{cite web |author=Wai-Kai Chen |title=Some applications of linear graphs |url=http://www.dtic.mil/cgi-bin/GetTRDoc?AD=AD0601623 |archive-url=https://web.archive.org/web/20150110010404/http://www.dtic.mil/cgi-bin/GetTRDoc?AD=AD0601623 |url-status=dead |archive-date=January 10, 2015 |publisher=Coordinated Science Laboratory, University of Illinois, Urbana |date=May 1964 |work=Contract DA-28-043-AMC-00073 (E)}}
* {{cite book|author1=K. Thulasiraman |author2=M. N. S. Swamy |name-list-style=amp |title= Graphs: Theory and Algorithms|year=1992|publisher=John Wiley & Sons |isbn=978-0-471-51356-8|at=6.10-6.11 for the essential mathematical idea}}
* {{cite book|editor=Richard C. Dorf|title=Circuits, Signals, and Speech and Image Processing|year=2006|publisher=CRC Press|isbn=978-1-4200-0308-6|author=Shu-Park Chan|chapter=Graph theory|at=§ 3.6|edition=3rd}} Compares Mason and Coates graph approaches with Maxwell's k-tree approach.
* {{cite book |author=RF Hoskins |chapter=Flow-graph and signal flow-graph analysis of linear systems |chapter-url=https://books.google.com/books?id=6DeoBQAAQBAJ&pg=PA156 |editor=SR Deards |title=Recent Developments in Network Theory: Proceedings of the Symposium Held at the College of Aeronautics, Cranfield, September 1961 |year=2014 |publisher=Elsevier |isbn=9781483223568}} A comparison of the utility of the [[Coates graph|Coates flow graph]] and the Mason flow graph.
Line 547 ⟶ 558:
* [https://web.archive.org/web/20040325002849/http://www.apl.jhu.edu/Classes/Notes/Penn/EE774/Chap_03r.pdf M. L. Edwards: ''S-parameters, signal flow graphs, and other matrix representations'' ] All Rights Reserved
* [https://tube.switch.ch/channels/d206c96c H Schmid: ''Signal-Flow Graphs in 12 Short Lessons'' ]
* {{wikibooks
* {{commons category-inline|Signal flow graphs}}
|