Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GSMC(1) 			  User Manuals				 GSMC(1)

NAME
     gsmc - A GTK Smith Chart Calulator for RF impedance matching

SYNOPSIS
     gsmc

DESCRIPTION
     gsmc is a GTK 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 line (also as stub).  Net-
     work topology is limitated to  series,  parallel  and  as	trasmissive  for
     trasmission line. No series connection are allowed in parallel branch, nei-
     ther  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  the  initial impedance to be
     matched, 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;
     current work can be saved for succesive retrieve.

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

OPTIONS
     None

INTERACTIVE COMMANDS
     gsmc is a menu based GTK application with as much as possible  accelerators
     and  mnemonics.  Nearly  all  the command can to be issued as a single key-
     stroke or keystroke with modifiers. This is, in the author's  opinion,  the
     preferable  way  for  very specialistic programs that has to be used exten-
     sively.

     Ctrl+q Quit the program.

     Ctrl+1 Toggle visualization of impedance (Z) circle

     Ctrl+2 Toggle visualization of admittance (Y) circle

     Ctrl+3 Toggle visualization of reflection coefficient (RHO) circle

     Ctrl+4 Toggle visualization of constant Q circle

     s	    Set start point: can be entered as impedance, admittance or  reflec-
	    tion coefficient

     Ctrl+0 (zero)
	    Set characteristic impedance z0

     f	    Set frequency (f0)

     r	    Add a resistor

     l	    Add an inductor

     c	    Add a capacitor

     t	    Add a transmission line or stub

     Shift+rInsert a resistor before the highlighted element

     Shift+lInsert an inductor before the highlighted element

     Shift+cInsert a capacitor before the highlighted element

     Shift+tInsert a transmission line or stub before the highlighted element

     d	    Delete the currently highligthed element

     Shift+Curs Up
	    Highlight previous element

     Shift+Curs Down
	    Highlight next element

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

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

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

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

     Mod+Curs Up
	    Increase the tuning step

     Mod+Curs Down
	    Decrease the tuning step

     Ctrl+w Write network file in spice format

     Ctrl+n Restart for a new calculation with a clean chart

     =	    Change first field of currently highlighted element

     Mod+=  Change second field of currently highlighted element

     Ctrl+a Start autotune procedure (tune goal is characteristic impedance)

     Ctrl+x Toggle lock flag in autotune procedure

     Ctrl+p Write an EPS or PS file

     Ctrl+l Load a previously saved .B gsmc job

     Ctrl+l Save a .B gsmc job

     Ctrl+f Increase frequency

     Shift+Ctrl+f
	    Decrease frequency

     Check online keystroke for an updated list of commands.

     DIALOG WIN

     For  operation that requires data entry a widget is created; it is composed
     by an text entry field and optionaly some radio button to chose the  format
     of data entry.

     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.  Unit of  measure	are  not
     allowed to be in the text entered.

     Where  a complex number is required both the rectangular and the polar for-
     mat 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  num-
     ber can be given. Immaginary operator can be issued as 'i' as well as 'j'.

DATA PRESENTATION
     The single window of gsmc 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, fi-
	    nal and cursor impedance are presented togheter general data.

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

     -	    The portion in the lower right portion, for future use...

EXAMPLE OF USE
     Let's  try  a simple example to understand how gsmc 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. induc-
     tances and capacitors.

     So start with setting operating frequency: press 'f' and a dialog win  will
     appear.  Type in the string '15.5M' and then press enter. Now in the verti-
     cal bar the frequency entered is displayed.

     Next set the start point impedance: press 's' and a dialog win will  appear
     with  the	title  "Start  Point";	select the format for start point either
     clicking the "Z" radio buttono or using the menmonic via  Mod+Z.	Now  the
     impedance	can  be  entered  as  the string '10-j35' followed by enter. The
     starting point is now displayed as a small circle.

     The network has now to be constructed: let start with a  series  inductance
     of  800nH,  so  press  'l'  and  next introduce the value as enter. TAB and
     Shift+TAB is usefull to move across items in dialog win without leave hands
     from keyboard.  This value is really too large, use Shft+Left cursor to re-
     duce a bit. Up to where? Let's help you displaing the  admittance	constant
     circles  pressing	"Ctrl+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 'c'  and
     insert  the  string  '200p'  and  select Parallel either with mouse or with
     "Mod+p". Now the admittance circles may  confuse,	remove	it  by	pressing
     "Ctrl+2"  again.  The  value  of 200pF is too small, enlarge it by pressing
     Shift+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 Shift+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 "Mod+Cursor down" and the "tunestep" value shown in
     the vertical bar is reduced from 10% to 5%, try again to  use  Shift+Curors
     left and right. It feel 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 Shift+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
     (Shift+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 two 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 IN-
     TERACTIVE COMMANDS for knowing how they can be placed.  The  major  differ-
     ence with transmission line is that they have two parameter, the electrical
     lenght  and  the  caracteristic  impedance: the former can be adjusted with
     Shift+Cursor left/rigth as for resistor, inductance and capacitor; the lat-
     ter can be adjusted with Mod+cursor left/right.

     Now the network can be saved either in a gsmc format  (.gdt  extension)  by
     pressing  Ctrl+s or in spice format pressing Ctrl+w:  The file so generated
     can be now analized with a spice simulator or gnucap or ngspice ; maybe you
     are interested 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 or gnucap

     This  example  should  be	included  in gsmc package an can be retreived by
     pressing Ctrl+l and selecting example1.gdt.

     Autotune algorithm is very primitive and may not reach what is very  simple
     to do by hand, do not ask to much from it, work in progress...

     Charts  so drawed can be printed to a Postscript or Encapsulated Postscript
     file; in printed file some information are added on the  chart  drawing  as
     well as Circuit Description and some of the Current Value are transcripted.
     Automatic recognition of filename extension .eps or .ps allow to specify if
     the file has to be in encapsulated format or not.

FILES
     gsmc don't use special configuration file, a gtkrc file is supplied and can
     be  tuned	to user preferences; if present it must be in /root/.gsmc/gtkrc.
     File describing the network currently analized can be generated, it's  only
     needed  that  a minimum file permission is allowed, if not the program will
     work but data could not be saved.

     Data file (.gdt) contain a copy of internal data structures in a quite  hu-
     man  readable format; by inspection one can recognize and modify some parts
     using a text editor. For more details compare  a  .gdt  file  with  smcdata
     struct defined in source file main.h.

LIMITATIONS
     Porting  can  be  very very difficult, since all is based on X windows pro-
     gramming and GTK library, but for other platform a plenty of  similar  pro-
     gram are available, free and good one too.

BUGS
     Help me to find.

TODO
     * Improve autotune algorithm

     * Target settting (not alwais one want to match to z0) for autotune.

     * Auxiliary window for error reporting instead of stderr.

COPYING
     This program is free software; you can redistribute it and/or modify it un-
     der  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, lapo_pieri@virgilio.it
      website: www.qsl.net/ik5nax

SEE ALSO
     spice3(?), gnucap(1), ngspice(1)

Linux				 SEPTEMBER 2003 			 GSMC(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gsmc&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help