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.
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 |
atlc
; the other 11 have different names. Using the programs comprising the package atlc one is able to:.
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.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%
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. atlc
.
ushape.bmp
create_bmp_for_circ_in_circ
create_bmp_for_circ_in_rect
create_bmp_for_rect_cen_in_rect
create_bmp_for_rect_in_rect
create_bmp_for_symmetrical_stripline
create_bmp_for_stripline_coupler
create_bmp_for_microstrip_coupler
atlc
has 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
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).
atlc
produces 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_circ
to create a bitmap, following which is it analysed using atlc
. The programme create_bmp_for_circ_in_circ
creates 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_circ
is available, but the all-important diagram is not clear.