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 com-
       posed by	resistor, capacitor, inductance, and trasmission line (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 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 anal-
       isys; 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
       "toward 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 accelera-
       tors and	mnemonics. Nearly all the command can to be issued as a	single
       keystroke  or  keystroke	with modifiers.	This is, in the	author's opin-
       ion, the	preferable way for very	specialistic programs that has	to  be
       used extensively.

       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 re-
	      flection 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+r
	      Insert a resistor	before the highlighted element

       Shift+l
	      Insert an	inductor before	the highlighted	element

       Shift+c
	      Insert a capacitor before	the highlighted	element

       Shift+t
	      Insert a transmission line or stub before	the  highlighted  ele-
	      ment

       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 com-
       posed 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
       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. 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,
	      final and	cursor impedance are presented togheter	general	data.

       -      The horizontal bar on the	bottom of Smith	chart where  the  net-
	      work 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. in-
       ductances 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 vertical bar	the frequency entered is displayed.

       Next set	the start point	impedance: press 's' and a dialog win will ap-
       pear  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 en-
       ter. The	starting point is now displayed	as a small circle.

       The  network  has now to	be constructed:	let start with a series	induc-
       tance 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 reduce a bit. Up to where? Let's help you displaing
       the admittance constant circles pressing	"Ctrl+2", the arc  should  ar-
       rive  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 ca-
       pacitor,	 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
       INTERACTIVE COMMANDS for	knowing	how they can  be  placed.   The	 major
       difference  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 latter 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	 Post-
       script  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 al-
       lowed, 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
       human  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
       programming and GTK library, but	for other platform a plenty of similar
       program 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
       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, 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.0>

home | help