atlc - Arbitrary Transmission Line Calculator.

The programme atlc calculates the impedance of two or three wire electrical transmission lines of totally arbitrary cross section, using a numerical technique called finite difference. The conductors can be coaxial, run side by side, or in just about any configuration you can think of. The diagrammes below shows 3 types of 2-wire transmission lines and a directional copuler, all of which may be analysed. In each diagramme, one conductor is shown red, the other conductor shown green and in the case of a coupler, the third conductor is shown blue. The dielectrics are shown in a few other colours, with white being a vacuum and turquoise being a dielectric with an effective permittivity of 4.8 (about the same as fibreglass PCB).
round coax twin wire very odd line directional coupler
Zo=69.690 Ohms
C=47.865 pF/m
L=232.454 nH/m
Zo= 49.335 Ohms
C= 67.611 pF/m
L= 164.565 nH/m
Zo= 56.020 Ohms
C= 59.544 pF/m
L= 186.862 nH/m
Zo= 66.3699 Ohms
Zeven=138.9950 Ohms
Zodd= 31.6915 Ohms
The programme atlc needs to know shape of the transmission line's cross section. This cross section is stored in a data file, which happens to be a Windows bitmap file. The bitmap file is read by atlc, following which the programme performs the analysis.

There are two ways to generate the bitmap for atlc.
  1. As you might expect, you can draw the transmission line's cross-section in a graphics programme such as Gimp, Photoshop, Windows Paint Corel Photopaint etc. The programme must be able to save images as bitmap (.BMP or .bmp) files, in 24-bit (true colour) mode The graphics programme can run under whatever operating system you like. If for example you have some U-section brass and some hollow rectangular tube, and wanted to know the properties of a transmission line formed from these, you might draw something like this, and save it as a file, which we might call ushape.bmp

  2. U-section

  3. In the case of simple cross-sections, the bitmaps can be generated automatically. Currently 6 such programms have been written, to quickly generate bitmaps for rectangular and circular conductors, striplines and a directional copuler. An example of such as programme is rect_in_rect, which is able to automatically generate a bitmap for any rectangular conductor, inside any other rectangular conductor, with no more than 2 dielectrics. One dielectric must lie under the centre conductor. Other programs include circ_in_circ

    Using rect_in_rect,.is very fast - much faster than generating the bitmaps with a graphics programme.
A unix computer, with a gcc or other C compiler, is needed to compile and run atlc. The programme should compile very easily and quickly. Being rather CPU intensive, atlc has been written to support multiple processors if available. Here is an example of using atlc, with the file ushape.bmp being drawn by a graphics programme.

% atlc -v ushape.bmp
ushape.bmp Er= 1.000000 C= 77.2797 pF/m L= 143.977094 nH/m Zo= 43.163247 Ohms v= 299792458.010503 m/s v_f= 1.000000    VERSION= 3.0.0
ushape.bmp Er= 1.000000 C= 77.1386 pF/m L= 144.240432 nH/m Zo= 43.242194 Ohms v= 299792458.010503 m/s v_f= 1.000000    VERSION= 3.0.0
ushape.bmp Er= 1.000000 C= 77.1385 pF/m L= 144.240554 nH/m Zo= 43.242230 Ohms v= 299792458.010503 m/s v_f= 1.000000    VERSION= 3.0.0
ushape.bmp Er= 1.000000 C= 77.1385 pF/m L= 144.240554 nH/m Zo= 43.242230 Ohms v= 299792458.010503 m/s v_f= 1.000000    VERSION= 3.0.0
It will be seen that atlc makes several estimates of the transmission line's properties, each subsequent one being closer to the true values (normally only the final result is shown, but the -v option added above causes atlc to print intermediate results).

Here's an example of using rect_in_rect to generate a bitmap The programme needs 11 parameters on its command line, which are described fully elsewhere. For now, just accept that these 11 parameters describe a transmission line. The output of rect_in_rect is redirected to the file ex2.bmp, which is then read by atlc>
% rect_in_rect 250 175 10 32 4 200 56 25 1.0 2.5  >  ex2.bmp
% atlc  ex2.bmp
ex2.bmp Er= MIXED C= 87.8016 pF/m L= 240.9628 nH/m Zo= 52.387023 Ohms v= 217407041.146 m/s     v_f= 0.725192 VERSION=3.0.0

The programme atlc was written by, and is supported by, Dr. David Kirkby (G8WRB).

atlc is written and supported by Dr. David Kirkby (G8WRB)It is issued under the GNU public license.

Return to the atlc homepage