home *** CD-ROM | disk | FTP | other *** search
/ Hacker Chronicles 2 / HACKER2.BIN / 490.NETWORK1.DOC < prev    next >
Text File  |  1986-01-21  |  12KB  |  566 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.                             NETWORK.BAS V1.0
  15.  
  16.                   AC ELECTRONIC CIRCUIT ANALYSIS PROGRAM
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.                   Configured for the IBM by:         Bruce A. Trolli
  41.                                                          
  42.                                                          2/24/85
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.                                         1
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.         1.0) GENERAL
  69.  
  70.                 NETWORK.BAS  outputs  the ac frequency reponse for a user 
  71.             described  electronic  circuit.  The circuit  description  is 
  72.             prepared  as  an  input  text  file  containing  a  two  line 
  73.             specification   for  each  element  in   the   circuit.   The 
  74.             specification  of  each element requires the user  to  assign 
  75.             node  numbers  to each node in the circuit.  This  method  is 
  76.             similar  to  many  commercially  available  circuit  analysis 
  77.             programs.
  78.  
  79.                   When  NETWORK.BAS is run,  it builds a matrix from  the 
  80.             user's circuit description file and evaluates the output node 
  81.             voltage at each frequency under the assumption that the input 
  82.             node has a 1 volt signal with zero phase angle applied to it.
  83.  
  84.                   At run time the user may specify the  frequencies to be 
  85.             calculated  as  either a linearly or  logarithmically  spaced 
  86.             interval.  Output  is  sent to the screen by default  but  an 
  87.             optional output datafile may be specified at runtime.
  88.  
  89.                   Models   are   provided  for   Resistors,   Capacitors, 
  90.             Inductors,  Bipolar  transistors (current controlled  current 
  91.             sources),  Fets  (voltage  controlled  current  sources,  and 
  92.             Opamps (voltage controlled voltage sources).
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.                                         2
  123.  
  124.  
  125.  
  126.  
  127.  
  128.             2.0) ACKNOWLEDGEMENTS
  129.  
  130.                   Network.bas  is  an adaptation of an  existing  circuit 
  131.             analysis  program  to  run on  the  IBM  PC.   The  origional 
  132.             article:  "Verify Network Frequency Response With This Simple 
  133.             Basic Program",  Werner A. Schnider, EDN magazine, October 5, 
  134.             1977,   was  written  for  a Hewlett  Packard  9830A  desktop 
  135.             calculator. 
  136.  
  137.                   The  program  was  modified to run on an Apple  II  and 
  138.             reappeared  in  the  magazine  as:  "Basic  Program  Performs 
  139.             Circuit   Analysis",   Richard  Steincross,   EDN   magazine, 
  140.             September 1,  1982. This version expanded the capabilities of 
  141.             the  program  by  adding inductors to  the  network  elements 
  142.             supported.  It  also  allowed the user to specify  input  and 
  143.             output nodes at run time.  After testing this program, I have 
  144.             removed  this  feature because it did  not  produce  reliable 
  145.             output for a number of simple circuits.
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.                                         3
  184.  
  185.  
  186.  
  187.  
  188.  
  189.             3.0) REQUIREMENTS
  190.  
  191.                   NETWORK.BAS  runs  under  IBM or Microsoft  BASIC  (not 
  192.             BASICA). It does  require a single disk drive. If your system 
  193.             has  enough  memory to let BASIC max out its 64k program  and 
  194.             data space limitation, then NETWORK will be able to handle 40 
  195.             nodes. If your system has less memory it will be necessary to 
  196.             adjust the number of nodes ( Y in line 1200 of the program).
  197.  
  198.                   Because the program output has been limited to text, it 
  199.             can  run  with either the monochrome or  color  adapter.  The 
  200.             input  and output formats have purposely been kept simple  to 
  201.             allow  most  systems to run the  program.  (Besides,  I  have 
  202.             enough  problems making programs print the correct answer let 
  203.             alone print it on a jazzed up screen.) 
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.                                         4
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.             4.0) RUNNING THE PROGRAM
  252.  
  253.  
  254.             4.1) Number the nodes     
  255.  
  256.                   To analyze your circuit, it will be necessary to number 
  257.             the nodes on your schematic diagram.  These node numbers will 
  258.             be  used to prepare a precise description of the  circuit  so 
  259.             that NETWORK can construct the circuits network equations.
  260.  
  261.                   The  input  node must be node number 1 and  the  output 
  262.             node must be the highest node in the circuit.
  263.  
  264.                   AC  ground is node 0.  The 1 volt input that is applied 
  265.             to node number 1 is referenced to node 0.
  266.  
  267.  
  268.             4.2) Prepare Input File
  269.  
  270.                   Prepare   a  text  file  that  contains  a   two   line 
  271.             description   for  each  circuit  element  according  to  the 
  272.             definitions below. Note that comments may be added after the
  273.             element  type so that the origional reference designations of 
  274.             your circuit's schematic may be retained as part of the input 
  275.             file.  This should make it easy to go back and forth  between 
  276.             your schematic and the input file.
  277.  
  278.                   Also  comments may be added anywhere in the input  file 
  279.             by placing a ";" at the beginning of the line.
  280.  
  281.  
  282.              Resistors:
  283.  
  284.                   R              
  285.                   from node, to node, value (in ohms)
  286.  
  287.                        Example:  A 1000 ohm resistor between nodes 1 and 2.
  288.  
  289.  
  290.                        R
  291.                        1,2,1000
  292.  
  293.                                  
  294.              Capacitors:
  295.                   C
  296.                   from  node,  to node,value(in micro farads)
  297.  
  298.                        Example: A 10 uf capacitor between nodes 3 and 6.
  299.  
  300.                        C
  301.                        3,6,10
  302.  
  303.  
  304.  
  305.                                         5
  306.  
  307.  
  308.  
  309.  
  310.  
  311.              Inductors:
  312.  
  313.                   L
  314.                   from node, to node, value (in henries)
  315.  
  316.  
  317.              Fets: 
  318.  
  319.                   F
  320.                   gate node,  source node,  drain node,  transconductance
  321.                                                            (amps/volt)
  322.                                  
  323.                   Example: A common source fet with 10 mmhos transconductance.
  324.                             
  325.                        F           
  326.                        2,0,4,.01
  327.  
  328.              Bipolar Transistors:
  329.  
  330.                   B
  331.                   base node, emitter node, collector node, beta, b-e resistance 
  332.                                                                  (ohms)
  333.  
  334.                   Example: Emitter follower with beta=100
  335.                   
  336.                        B
  337.                        3,4,0,100,.001
  338.  
  339.              Op Amps:
  340.  
  341.                   O
  342.                   + in, - in, + out, - out, gain, output resistance (ohms)
  343.  
  344.                   Example: Voltage follower.
  345.  
  346.                        O
  347.                        1,2,2,0,1000000,100
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.                                         6
  367.  
  368.  
  369.  
  370.  
  371.  
  372.         4.3) RUN THE NETWORK.BAS PROGRAM
  373.  
  374.                       The  program will prompt for an input filename.  It 
  375.             assumes that your circuit desctription is contained in a file 
  376.             with a .NET extension.  If you can't remeber the name of  the 
  377.             circuit  desctription  file,   hit  the  ENTER  key  and  all 
  378.             filenames  with  extensions .NET on the default disk will  be 
  379.             listed on the screen.
  380.  
  381.                       The  program  will  tell you the  number  of  nodes 
  382.             actually  found in the circuit description file and tell  you 
  383.             which nodes are being used as input and output nodes. At this 
  384.             time verify these with your origional schematic to catch  any 
  385.             errors   that  you  may  have  had  in  your  input   circuit 
  386.             description.
  387.  
  388.                       The  program  will  now  ask for the  name  of  the 
  389.             optional output file that will be used to store the data from 
  390.             the program. You can avoid creating the output file by mearly 
  391.             hitting the ENTER key.
  392.  
  393.  
  394.                   When  the  program asks for the frequency range  to  be 
  395.             analyzed,  either a linear increment (a positive number) or a 
  396.             number  of logarithmically space points (a  negative  number) 
  397.             may be specified.  If the logarithmic spacing is chosen,  the 
  398.             number entered is the total number of points to be calculated 
  399.             over the entire frequency interval.
  400.  
  401.                   At the end of the analysis, the program will prompt for 
  402.             a  new  frequency range.  If you decline the  opportunity  to 
  403.             recaclulate  over  a new range of  frequencies,  the  program 
  404.             terminates.
  405.  
  406.          
  407.         4.4) Cautions
  408.  
  409.                  Be  aware that there are some common pitfalls  that  can 
  410.             occurr  with  circuit simulation programs of this  type.  One 
  411.             that  frequently occurs is that where a dynamically  unstable 
  412.             circuit is modeled (your amplifier is really an  oscillator). 
  413.             Also  be  sure that there are some resistive elements  in  LC 
  414.             circuits   to  prevent  resonances  from  peaking  into   the 
  415.             ionosphere. These are only common sense.
  416.  
  417.                  Always   specify   some   resistance  in   the   bipolar 
  418.             transisitor and opamp models to prevent them from blowing the 
  419.             program away.
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.                                         7
  428.  
  429.  
  430.  
  431.  
  432.         5.0) SAMPLE CIRCUITS
  433.  
  434.                  Sample  circuit description files have been included  to 
  435.             help you get the hang of setting up circuits. These are:
  436.  
  437.              Sample1.net - A low pass RC filter circuit (1 hz cuttoff)
  438.  
  439.              Sample1.net - A high pass RL filter circuit (1 hz cuttoff)
  440.  
  441.              Sample3.net - A  bandpass LC filter circuit  (1 hz center)
  442.  
  443.              Edntest.net - The test circuit from the origional EDN article
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.                                         8
  489.  
  490.  
  491.  
  492.  
  493.         6.0) COMMENTS AND FEEDBACK
  494.  
  495.                  I  would appreciate some feedback from anyone  who  uses 
  496.             the  program.  I  am planning to improve the program  in  the 
  497.             future in the following areas:
  498.  
  499.              - Provide a more general purpose analysis that lets
  500.                you pick inputs (multiple) and outputs (multiple)
  501.                independant of node numbering.
  502.  
  503.              - Allow the output of one analysis to be fed into the input
  504.                of the next to get around the memory limitations.
  505.  
  506.              - Add a plot routine (lin, log and semi log) to the program.
  507.                If anyone has a general purpose routine like this, I'd
  508.                like to hear from you. Most of the public domain stuff is
  509.                junk unfortunately.
  510.  
  511.              - Run  it  through a compiler.  Right now the  circuits  are 
  512.                solved using Cramer's rule which stinks when it comes to
  513.                circuits above about 6 or 7 nodes. In general try to get
  514.                it to run faster.
  515.  
  516.                                                 Bruce  Trolli
  517.  
  518.                                                 Cleveland RBBS
  519.                                                 (216-3310510)
  520.  
  521.                
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.                                         9
  550. -3310510)
  551.  
  552.                
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.