OnWorks favicon

gsmc - Online in the Cloud

Run gsmc in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command gsmc that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



gsmc - A GTK Smith Chart Calulator for RF impedance matching




gsmc is a GTK application that allows one to do all the calculation usually done on a
Smith Chart. It permits one to make calculation for network composed by resistor,
capacitor, inductance, and transmission line (also as stub). Network topology is
limitated to series, parallel and as trasmissive for transmission line. No series
connection are allowed in parallel branch, neither parallel connection in series branch.
Transmission 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 transmission 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.




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 keystroke or keystroke with modifiers.
This is, in the author's opinion, 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 reflection 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

Insert a resistor before the highlighted element

Insert an inductor before the highlighted element

Insert a capacitor before the highlighted element

Insert 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

Decrease frequency

Check online keystroke for an updated list of commands.


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

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


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 network element are

- The portion in the lower right portion, for future 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. inductances 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

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 '800n', be sure that "Series" radio button is
selected before pressing enter. TAB and Shift+TAB is useful 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 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.

Transmission 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 length 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


.ac lin 51 10MEG 30MEG

and run spice or gnucap

This example should be included in gsmc package an can be retrieved 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 allows one to specify if the file has to be in encapsulated
format or not.

Use gsmc online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    TurkDevOps a�?k kaynak yaz?l?m
    geli?tirici topluluklar? DevTurks-Team
    Taraf?ndan desteklenmektedir..
    Download turkdevops
  • 2
    *asammdf* is a fast Python parser and
    editor for ASAM (Associtation for
    Standardisation of Automation and
    Measuring Systems) MDF / MF4
    (Measurement Data Format...
    Download asammdf
  • 3
    LAME (Lame Aint an MP3 Encoder)
    LAME (Lame Aint an MP3 Encoder)
    LAME is an educational tool to be used
    for learning about MP3 encoding. The
    goal of the LAME project is to improve
    the psycho acoustics, quality and speed
    of MP...
    Download LAME (Lame Aint an MP3 Encoder)
  • 4
    A set of Python extension modules that
    wrap the cross-platform GUI classes from
    wxWidgets.. Audience: Developers. User
    interface: X Window System (X11), Win32 ...
    Download wxPython
  • 5
    This is the Total War pack file manager
    project, starting from version 1.7. A
    short introduction into Warscape
    modding: ...
    Download packfilemanager
  • 6
    A network traffic tool for measuring
    TCP and UDP performance with metrics
    around both throughput and latency. The
    goals include maintaining an active
    iperf cod...
    Download IPerf2
  • More »

Linux commands