Provided by: xsmc-calc_1.0.0-6.1_amd64 bug

NAME

       xsmc - An X Smith Chart Calulator for RF impedance matching

SYNOPSIS

       xsmc [ -h ]

DESCRIPTION

       xsmc  is  a X application that allow to do all the calculation usually done on a Smith Chart.  It permits
       to make calculation for network composed by resistor, capacitor, inductance,  and  trasmission  (also  as
       stub).   Network  topology  is  limitated to series, parallel and as trasmissive for trasmission line. No
       series connection are  allowed  in  parallel  branch,  neither  parallel  connection  in  series  branch.
       Trasmission line can be placed as quadrupole or as a parallel or series stub, either opened or shorted at
       the other end.

       Calculation procedure starts with setting initial impedance to be match, next network elements are  added
       and tuned to obtain the desidered impedance value.

       The network so obtained can be saved in spice format for other analisys.

       The  initial  (start)  impedance  is  thought as "the load" so when adding a trasmission line placed as a
       quadrupole rotation is clockwise, going "toward generator"; generator is placed after  the  last  network
       element, as can be seen from spice output.

OPTIONS

       -h     A little help.

INTERACTIVE COMMANDS

       xsmc  dosn't  have  menu  or  such  simple  command  explained in its windows, since it's intended for an
       exentesive use where several repetitive command has to be issued during a  session.  So  nearly  all  the
       command has to be issued as a single keystroke.  This is, in the author's opinion, the preferable way for
       very specialistic programs that has to be used exetensively.

       q      Quit the program.

       1      Toggle visualization of impedance (Z) circle

       2      Toggle visualization of admittance (Y) circle

       3      Toggle visualization of reflection coefficient (RHO) circle

       4      Toggle visualization of constant Q circle

       s      Set start point
                  z: set start point as impedance
                  y: set start point as admittance
                  r: set start point as refletction coefficient

       0 (zero)
              Set characteristic impedance z0

       f      Set frequency (f0)

       a      Add a network element (see dialog window explaination):
                  r: add a resistor
                  l: add an inductor
                  c: add a capacitor
                  t: add a transmission line or stub

       i      Insert a network element before the highlighted element, as in 'a'

       d      Delete the currently highligthed element

       Curs Up
              Highlight previous element

       Curs Down
              Highlight next element

       Curs Left
              Decrease the first field of currently highlighted element

       Curs Rigth
              Increase the first field of currently highlighted element

       Shift+Curs Left
              Decrease the second field of currently highlighted element

       Shift+Curs Rigth
              Increase the second field of currently highlighted element

       Page Up
              Increase the tuning increment

       Page Down
              Decrease the tuning increment

       w      Write network file:
                  s: spice format
                  r: RFCS format (to be implemented, when RFCS will exist)

       =      Change first field and placement of currently highlighted element

       *** Of future implementation ***

                     o      Start optimization, ESC to stop.

                     l      Lock currently highlighted element for optimization

                     p      Print smitchart on a postscript file

              DIALOG WIN

              The interactive command that require data input uses a common entry point located  in  the  bottom
              right  of  the  window,  called the dialog win. It's a three row entry point: the top one show the
              item to be introduced, that is the title of the dialog win. The intermediate one can exist or  not
              depend  on  the kind of data to be inserted: if present is a single key choice; when the choice is
              done this menu is replaced by a letter indicating the choice done.  The bottom line is  the  entry
              line when values are supplied (for current version cursor indicating where keypress will be echoed
              are not implemented).

              The format for data entry can be a single number, or a more complex string.  First  of  all  every
              number can be supplyed using standar prefix for unit of measure i.e.:

                     a      (atto) 1e-18

                     f      (femto) 1e-15

                     p      (pico) 1e-12

                     n      (nano) 1e-9

                     u      (micro) 1e-6

                     m      (milli) 1e-3

                     k      (kilo) 1e3

                     M      (mega) 1e6

                     G      (giga) 1e9

                     T      (tera) 1e12
              Note  that  for  spice  output  format mega is written as MEG instead of M, that will be otherwise
              recognized by spice as milli.

              Where a complex number is required both the rectangular and the polar format are  recognized:  the
              former  can  be  supplied as '12.3-j456m' while the latter can be supplied as '34.2 145' meaning a
              modulus of 34.2 with a phase of 145 degrees. If the  complex  number  is  purely  immaginary  only
              something  like  'j82'  can  be  supplied, while if immaginary part is zero a single number can be
              given.

              When the data to be inserted in the last line must contain both a number and a placement (i.e. the
              resistor value and if it is placed in series or in parallel) the placement must be specified after
              the value as a single letter (see below) separated by a space.

                     s      Series placement

                     p      Parallel placement

                     t      Trasmission line placed in trasmissive mode, i.e. as a quadrupole

                     o      Open parallel stub

                     c      Short parallel stub

                     a      Open series stub

                     l      Short series stub
              And if you are again in dubt about how placement are save the network as a spice file and look  at
              it...

DATA PRESENTATION

       The single window of xsmc is divided in four parts:

       -      The Smith chart itself in the upper left portion, where arcs and constant circle are drawn.

       -      The  vertical  bar  on the rigth of the Smith chart, where initial, final and cursor impedance are
              presented togheter general data.

       -      The horizontal bar on the bottom of Smith chart where the network element are listed.

       -      The dialog portion in the lower right portion, where data are introduced.

EXAMPLE OF USE

       Let's try a simple example to understand how xsmc work. Suppose to have a load of 10-j35ohm to be matched
       to 50+j0ohm at an operating frequency of 15.5MHz and we can use only concentrated reactive elements, i.e.
       inductances and capacitors.

       So start with setting operating frequency: press 'f' and in the dialog win the string 'f0' appear;  since
       the data requested is a single number the middle line is unused, and in the bottom line the frequency can
       be introduced. Type the string '15.5M' and then enter. Now in the vertical bar the frequency  entered  is
       displayed.

       Next  set  the  start  point  impedance: press 's' and in the dialog win top line appear the title "Start
       Point"; in the middle line the choices "Z Y Rho" are displayed, so press 'z' to insert starting point  as
       impedance. The choices' string are substituted by the actual choice, that's 'z'. Now the impedance can be
       entered as the string small oval (3x2pixel!).

       The network has now to be constructed, use 'a' command to add elements  to  network.  Let  start  with  a
       series  inductance  of  800nH,  so press 'a' and then chose 'l', next introduce the value as '800n s' and
       enter that means 800nH placed in series. This value is really too large, use left cursor to reduce a bit.
       Up to where? Let's help you displaing the admittance constant circles pressing '2', the arc should arrive
       to the G=1 circle (also called the mirror circle), it's arround 546nH.

       Now add a capacitor in parallel connection, saying of 200pF: press 'a' then 'c' and now insert the string
       '200p  p'. Now the admittance circles may confuse, remove it by pressing '2' again. The value of 200pF is
       too small, enlarge it by pressing the left cursor up to get the end point near to the chart's center. The
       point reached with 429pF has nearly zero imaginary but is 43ohm of real part instead of 50ohm.

       So  back  to the inductance and try to modify it, with cursor up move to the first component and then try
       to change the inductance value by pressing cursor left and right. The changes are  too  large  and  50+j0
       cannot  be  reached. So press PageDown and the "tunestep" value shown in the vertical bar is reduced from
       10% to 5%, try again to use curors left and right. Better. Now do the same on the capacitor, moving to it
       by pressing cursor down and than adjusting value as for the inductance.

       Final values should be arround 568nH and 408pF. Now you want to see what appen using the closest standard
       commercial values, that is 560nH and 390pF in the E12 series. Select (with cursor  up),  if  needed,  the
       inductance  and  then press '=', the dialog window appear (middle line is unused) and the string '560n s'
       has to be introduced. Next move to capacitor (curs down) and pressing '=' here insert '390p p'. The final
       result is of SWR=1.14, if it's enough for you...

       Moving the mouse to the point where the to arcs ends you can see that the point has an impedance of about
       10+j20ohm.

       Trasmission line and resistor can be used similary refer to the section INTERACTIVE COMMANDS for  knowing
       how  they can be placed.  The major difference with transmission line is that they have to parameter, the
       electrical lenght and the caracteristic impedance: the former can be adjusted with cursor  left/rigth  as
       for  resistor,  inductance  and  capacitor;  the latter can be adjusted with Shift+cursor left/right. For
       introducing parameter for transmission line the string to be entered in the bottom  line  of  dialog  win
       must be

       "<electrical length [deg]> <characteristic impedance> <placement>".

       Now  the network can be saved pressing 'w': actually only spice format is supported, so type 's' and than
       enter a valid filename, e.g. 'net1.cir'. The file so generated can be now analized with spice  simulator;
       maybe you are intereste in simulating it sweeping arround 15.5MHz, so modify the line

            .ac lin 1  15.50MEG  15.50MEG

       in

            .ac lin 51  10MEG  30MEG

       and run spice.

FILES

       xsmc  dosen't  need  any  (configuration)  file.   File  describing the network currently analized can be
       generated, it's only needed that a minimum file permission is allowed, if not the  program  can,  however
       work, but data cannot be saved.

SPECIAL FILES

       xsmc dosen't need any special file (such as fifos, etc...).

ENVIRONMENT

       xsmc dosen't care about environment.

LIMITATIONS

       Porting can be very very difficult, since all is based on X windows programming, but for other platform a
       plenty of similar program are available, free and good one too.

BUGS

        When in dialog window if resizing or other windows signal occour the dialog session is aborted

       Help me to find  more.

TODO

       In order of importance and urgence:

        Automatic optimization function, comprising a target settting (not alwais one want to match to z0)  and
       a component locking.

        Postscript printing of chart and arcs.

        Cursor in the dialog window.

        Auxiliary window for error reporting instead of stderr.

COPYING

       This  program  is  free  software;  you  can  redistribute it and/or modify it under the terms of the GNU
       General Public License as published by the Free Software Foundation; either version 2 of the License,  or
       (at your option) any later version.

AUTHOR

        Lapo Pieri  (IK5NAX)

        Home address: via A. dei Corbizi 9  I-50127 Firenze Italy
        Phone: +39 055 410209
        e-mail: ik5nax@amsat.org
        packet radio: ik5nax@ik5skv.#fi.itos.ita.eu
        website: www.qsl.net/ik5nax

SEE ALSO

       spice3(?)