Block Diagram Algebra R1

 

 

            Block diagram algebra solver for TI89 and TI92P, solve response in all nodal points of BDA circuit. Allow using blocks like source, transfer function, sum, gain, integrator etc.. For solving dynamic or discrete systems needs “Laplace and Z transform”. (http://www.ticalc.org/pub/89/basic/math/lzt.zip)

 

 

Installation

 

            Send file named simR1.89g to your calc

            on calc: Run sim\install() and choose Archive

 

Included function:

 

            sim( [ blck1 ; blck2 ; … ; blckN ] )

 

Supported blocks:

 

Primary

 

            uc( out , U(s|z) )                                  Complex source

            ut( out , u(t) )                                       Transitional source

            ud( out , u(k) )                                     Discrete source

            tf( in , out , F(s|z) )                              Transfer function

            in( in , out , init. conditions )                  Integrator

           

                        //each in and out is a NAME of NODAL POINT or list of NNPs

 

Secondary

 

            tf( { in1 , in2 , -in3 } , out , 1 )             Sum

            tf( in , out , GAIN )                             Gain

            tf( in , { out1 , out2 , -out3 } , F )        Branching

 

 

 

 


            tf( { 1 , 2 , -3 } , { 4 , 5 , -6 } , F(s) )

 

 

 

 

 

            //when two or more outputs are connected to the same NP, SUM is automatically added.

 

 

            tf( in , out , z/(z-1)) ; ud( out , init. conditions )

                                   or                                                        Accumulator (discrete integrator)

            tf( in , out , 1/(z-1)) ; ud( out , init. conditions )

 

 

 

 

 

 


3 ways to realize SUM:

 

            I.

            uc( 1 , u1(s) );

            uc( 2 , u2(s) );

            tf( { 1 , -2 } , 3 , 1 );

            tf( 3 , 4 , f(s) );

           

 

 


            II.

            uc( 1 , u1(s) );

            uc( 2 , u2(s) );

            tf( { 1 , -2 } , 4 , f(s) );

           

 

 

 

 


            III.

            uc( 3 , u1(s) );

            uc( -3 , u2(s) );

            tf( 3 , 4 , f(s) );

 

 

 

 

 

 

 

4 ways to realize feedback:

 


            I.

            uc( 1 , u1(s) );

            tf( { 1 , -3 } , 2 , 1 );

            tf( 2 , 4 , f(s) );

            tf( 4 , 3 , G );

           

 

 

            II.

            uc( 1 , u1(s) );

            tf( { 1 , -3 } , 4 , f(s) );

            tf( 4 , 3 , G );

           

 

 

 

 

            III.

            uc( 2 , u1(s) );

            tf( 2 , 4 , f(s) );

            tf( 4 , -2 , G );

           

 

 

 

 

 

            IV.       for G = 1;

            uc( 1 , u1(s) );

            tf( { 1 , -4 } , 4 , f(s) );

           

 

 

 

 

 

 

 

Example:

 

 

 

 

 

 

 

 

 

 

 

 

 


Full description:

 


            uc( 1 , u1(s) );                          /a

            ut( 6 , w );                                /b

            tf( { 2 , 3 } , 7 , 1 );                   /c

            tf( { -7 , 6 } , 5 , 1 );                 /d

            tf( 1 , 2 , f1(s) );                       /e

            tf( 4 , 3 , f2(s) );                       /f

            tf( 5 , 4 , r(s) );                         /g

           

 


Reduced description:

 

            uc( 7 , u1(s)*f1(s) );                 /a/c/e

            ut( 6 , w );                                /b

            tf( { 6 , -7 } , 7 , r(s)*f2(s) );     /d/f/g

 

 

 

 

 

 

            Jiri Bazant

            georger@razdva.cz