File Exchange

image thumbnail

A Fully Automated Flowgraph Analysis Tool for MATLAB

version 1.3 (83.2 KB) by

A handy signal flow graph analysis tool for exploring transfer function(s) of a given system.

12 Downloads

Updated

View License

This tool is based on a textual signal flowgraph (SFG) nodelist presentation of a system. This makes the exploring of the transfer function information quite fast and easy. Applicable for both continuous- and discrete-time systems. System can also be purely symbolic.
The tool reads a user-defined textual SFG which defines the signal flow graph of a system and then generates the needed transfer function(s). Alternatively outputs an SFG system matrix that can be used for further study.

The tool is generic so that it is easily applicable for many purposes. Tool can be applied to digital filter design, circuit design, delta-sigma modulator analysis or even reflection analysis s-parameter measurements in RF techniques and in optics.

The package includes 10 examples of nodelist files and some of them are presented in the manual. It also includes a useful extension for parameter extraction: a function for extracting a system of equations.

Requires Matlab 6 or higher and optionally control system toolbox (the tool has an optional output for an LTI-model).

Comments and Ratings (9)

Marko Neitola

Marko Neitola (view profile)

Thank you Weiming XIONG for the suggestion.

The tool should now work in newer Matlab versions.

Adding 'find' in 4 lines of flow_tf.m seems fixing it:

line 131~132:
  innod(find(innod==sym(char(outnod(ind)))))=ym_ind;
            outnod(find(outnod==sym(char(outnod(ind)))))=ym_ind;

line 141~142: innod(find(innod==sym(char(innod(ind)))))=ym_ind;
            outnod(find(outnod==sym(char(innod(ind)))))=ym_ind;
          

Marko Neitola

Marko Neitola (view profile)

Hi Steffen,

Thanks for notifying the problem.
It is likely that I will try to fix this problem, but not very soon. In the mean time, I won't remove the tool from File Exchange.

For other flowgraph analysis tool users: if you have suggestions on how to fix the problem, please send info to me: marko.neitola(at)gmail.com

Br, Marko

Steffen

Hi Marko.
Thanks for that interesting tool. Unfortunately it does does not work with R2013a (even with the example files). Following error message is thrown:

Error using symfun>validateArgNames (line 191)
Second input must be a scalar or vector of unique symbolic variables.
Error in symfun (line 45)
            y.vars = validateArgNames(inputs);
Error in sym/subsasgn (line 1639)
                C = symfun(B,[inds{:}]);
Error in flow_tf (line 131)
            innod(innod==sym(char(outnod(ind))))=ym_ind;
Error in flowdemo (line 5)
H=flow_tf('Examples/CRFBSYM.flw');

Would you please provide me some help on this issue?

Eric

Eric (view profile)

Thank you, Marko! I haven't tried it yet, but this kind of tool is definitely useful!

Marko Neitola

I made a GUI front-end for this tool. See the link in the acknowledgements-section.

Eslam Abdel Razek Mohammed

yes its good for me

Mikko Loikkanen

Very useful tool for everyone working with signal flow graphs. Only thing really missing is the ability to simplify complex analysis results.

Maciej Borkowski

Well done. It saves a lot of time, especially when you experiment with different topologies. Thank you!

Updates

1.3

-Manual update: help with older MATLAB versions
-System matrix as output option
-parameter solver replaced

1.1

Fixed a bug, thanks to the suggestion by Weiming XIONG.

Minor bugfixes in the error messaging. Also added new examples.

Improved the error messaging in the main program (easier to debug your system).

Updated PDF manual in the zipped package.

A bugfix preventing errors caused by an ascii-character (carriage return).

MATLAB Release
MATLAB 8.4 (R2014b)
Acknowledgements

Inspired: Flow Graph Analysis Tool Gui

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video