atlc - Arbitrary Transmission Line Calculator (for electrical transmission lines)

atlc is a computer aided design (CAD) package for the design and analysis of electrical transmission lines and directional couplers of totally arbitrary cross section and an arbitrary number of different dielectrics. By analysis, it is assumed one requires finding the electrical properties of transmission lines or couplers, where the physical dimensions are known. By design, it is assumed one requires a transmission line or coupler to have certain electrical properties and one wishes to find how to physically realise such a structure.

atlc likely to be of use to radio amateurs, professional RF engineers, students and academics.

Great effort has been put into making atlc portable. Whilst written under UNIX, atlc's portability means pre-compiled command-line Windows binaries have been produced by Mark Chun KH6HPQ and others from the source code without any changes at all. A port to OpenVMS in a possibility, although the main development is aimed very much at UNIX.

In addition to the the commmon Linux PC, atlc has been tested on a Sony Playstation 2 as well as the Cray YMP-EL supercomputer, which is available for free public access at Cray-Cyber network. It has also been tested on Debian Linux, Slackware Linux, Gentoo Linux, Redhat Linux, Suse Linux, IBM's AIX, Apples's OS X for Mac, HP's HP-UX (both PA-RISC and Itanium), SGI's IRIX, Sun's Solaris, SCO's UNIXWare, HP's Tru64, Cray's UNICOS, NetBSD, OpenBSD and FreeBSD. If you run atlc on any other operating system, please let me know.

Previous version of atlc could use multiple-processors if present, to reduce execution time. This has been temporarily disabled, as the algorithm had some intermittent problems on IBM's. Careful checking showed the problem that only seemed to affect AIX, was a real bug with the potential to occur on other operating systems, although it only ever showed up under AIX. Hence the current release has disabled the support for multiple processors - atlc will fun fine on multi-processor machines, but it will only use one of them. A revised method of computation has been determined, which will re-enable the use of multiple processors. It is hoped to release this by early February 2004 at the latest - probably some time in January 2004.

round coax very odd line directional coupler directional coupler
Coaxial cable
Zo= 70.0215 Ohms
C=47.637 pF/m
L=233.557 nH/m
Really odd!!!
Zo= 56.020 Ohms
C= 59.544 pF/m
L= 186.862 nH/m
Directional coupler
Zo= 64.7449 Ohms
Zeven=65.3682 Ohms
Zodd= 64.1275 Ohms
Microstrip coupler on double-sided PCB
Zodd= 35.10 Ohms Zeven= 50.93 Ohms
Zdiff= 70.21 Ohms Zcomm= 25.46 Ohms
There are 12 programs that comprise the package atlc. One of the programs is called atlc; the other 11 have different names. Using the programs comprising the package atlc one is able to:.
  1. Calculate the characteristic impedance and other properties of two conductor transmission lines, like coaxial cable (far left above), but the cross section can be of any shape whatsoever, including that second from the left. A technique known as finite difference is used for this. There can be an arbitrary number of different dielectrics. Note the inner conductor is shown red, the outer green and a vacuum dielectric is shown as white - for all practical purposes, the permittivity of a vacuum (1.0 by definition) dielectric is the same as that of air (approximately 1.0006)
  2. Calculate the impedance's for both the odd-mode and even-mode, along with many other properties of directional couplers of arbitrary cross section, like that third from the left below. Note, with couplers, there is two inner conductors, with - one red as before, but another one blue, in addition to the green outer conductor. The finite difference technique is used for this too. Analysis extends to couplers with multiple dielectrics, such as the microstrip coupler on the PCB on the right below.
  3. Compute the common-mode impedance Zcomm and differential-mode impdance Zdiff of arbitrary directional couplers.
  4. Compute the values of electric field, voltage, energy stored etc in 2 and 3 conductor transmission lines and save this data to binary files, as well as bitmaps which can be viewed in a graphics package.
  5. Automatically create bitmaps for some common transmission lines, to save the user having to create them in a graphics package, which would soon become tedious.
  6. Compute the odd and even mode impedances required of an arbitrary directional coupler to satisfy a given frequency response and coupling factor.
  7. In the case of a coupled stripline with thin conductors, the program design_coupler can fairly quickly (within a few minutes) compute the dimensions of a directional coupler to satisfy your requirements of frequency response, coupling factor and optionally length. If you wish to implement the design on a double-sided printed circuit board like that on the right below, the program find_optimal_dimensions_for_microstrip_coupler will do this for you, but it takes several hours (perhaps a couple of days) to find a solution, although some well-timed and sensible human intervention can reduce this considerably.
  8. Since the program atlc can save quantitative data on the x and y components of electric field, energy, voltage etc to binary files, there is a program readbin that can read the binary files and tell you something about the data saved in them. This information is for debugging only - it is not expected the user will use readbin. The user is expected to write their own programs to read this binary information, in the very unlikely event they wish to use the information. It is likely to be of academic interest only. The normal output from atlc is in simply text.

In any example which has been checked against exact analytical solutions, the errors in atlc are under 1% and usually under 0.4%

In order to perform 1, 2, 3 or 4 above, 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

    U-section
  2. In the case of simple cross-sections, the bitmaps can be generated automatically. Currently 7 such programmes have been written:
    1. create_bmp_for_circ_in_circ
    2. create_bmp_for_circ_in_rect
    3. create_bmp_for_rect_cen_i