atlc- Arbitrary Transmission Line Calculator (for transmission lines and directional couplers)
Transmission lines, including directional couplers, of arbitrary cross section and an arbitrary number of dielectrics can be analysed with atlc. The impedance Zo of a two-conductor transmission line, as well as the odd-mode, even-mode, differential mode and common mode impedances of a directional coupler can all be computed with atlc. Tools to both analyse and synthesise directional couplers are available. atlc is primarily a UNIX or linux program.
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 AIX operating system. 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 run 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.
Zo= 70.0215 Ohms
Zo= 56.020 Ohms
C= 59.544 pF/m
L= 186.862 nH/m
Zo= 64.7449 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
atlc; the other 11 have different names. Using the programs comprising the package atlc one is able to:.
design_couplercan 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_couplerwill 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.
atlccan save quantitative data on the x and y components of electric field, energy, voltage etc to binary files, there is a program
readbinthat 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
atlcis 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%
atlcneeds 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.
atlchas been written to support multiple processors if available. Here is an example of using atlc, with the file
ushape.bmp, which was drawn by a graphics programme.
sparrow % atlc -v ushape.bmp ushape.bmp 2 Er= 1.00 Zo= 43.55 Ohms C= 76.6 pF/m L= 145.3 nH/m v= 2.998e+08 m/s v_f= 1.000 VERSION= 4.2.2 ushape.bmp 2 Er= 1.00 Zo= 43.64 Ohms C= 76.4 pF/m L= 145.6 nH/m v= 2.998e+08 m/s v_f= 1.000 VERSION= 4.2.2 ushape.bmp 2 Er= 1.00 Zo= 43.64 Ohms C= 76.4 pF/m L= 145.6 nH/m v= 2.998e+08 m/s v_f= 1.000 VERSION= 4.2.2It will be seen that
atlcmakes 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
atlcto print intermediate results).
atlcproduces numberous bitmap and binary files, in addition to the text shown above. Hopefully some of the text output is comprehensible, but the exact format of all of atlc's outputs is disucced in the fileformat section.
create_bmp_for_circ_in_circto create a bitmap, following which is it analysed using
atlc. The programme
create_bmp_for_circ_in_circcreates a bitmap (.bmp file) for a cicular conductor inside another circular conductor - like coaxial cable. The program takes takes 5 command line arguments which (in order) are:
sparrow % create_bmp_for_circ_in_circ 500 100 100 1 x.bmp sparrow % atlc x.bmp x.bmp 2 Er=1.00 Zo= 85.44 Ohms C= 39.0 pF/m L= 285.0 nH/m v= 2.998e+08 m/s v_f= 1.000 VERSION= 4.2 2How to use
create_bmp_for_circ_in_circ(or any other program) is best determined by reading the UNIX man page, seeing an example or by running the program with no arguments, where it will print a usage message. An html version of the man page for
create_bmp_for_circ_in_circis available, but the all-important diagram is not clear.
atlc is written and supported by Dr. David
Kirkby (G8WRB), who works at the department of Medical Physics, University
College London. He has to suffer the Southminster Branch Line to get to work.