Accuracy and run-times of atlc

atlc is very accurate, as the data below will confirm. In a total of 31 tests performed on standard two-conductor transmission lines the maximum error was only 0.945 % and the rms error was 0.259 %. On a directional coupler, the maximum error was 0.927%, but the typical error was around 0.6%. Read on if you wish to know how these figures were arrived at.

In order to test the accuracy of atlc, some simple geometries were devised, for which there are known exact analytical solutions. Three cases were considered for two-wire lines - the standard coaxial cable, an off-centre or eccentric coaxial cable and a symmetrical strip transmission line. For three-wires, which can be used two make a 4-port directional coupler, the accuracy was compared using two edge-on strip lines..

In order to verify atlc is running properly on each system, extensive testing is performed on different platforms. However, after running make, it is highly reccomended to run make check, which will verify atlc is behaving as expected, and there are no issues related to the particular platform, operating system, comiler or optimisation flags used. At the bottom of the page, there is an explanation of how make check works.

Comparisons between atlc and a round coaxial cable

coaxial lineOne obvious case is the round coaxial cable, which has a well known and exact formula for its impedance. In the case of an vacuum dielectric, it is simply

Zo=60.0*loge(D/d)

, where D is the inner diameter of the outer conductor and d is the outer diameter of the inner conductor.
Circular conductors can never be defined exactly using a square grid, so differences between the exact answer and atlc's answer are due to:


Four coaxial cables were defined, which all had the internal dimensions of the outer conductor being 500 pixels. The inners were made 25, 50, 100, 200, and 400 pixels. The table below shows the results.
Filename D d Er Zo (theory) Zo (atlc) Error (%)
coax-a 500 400 1.0 13.388 13.3710 -0.127 %
coax-b 500 200 1.0 54.977 54.9031 -0.134%
coax-c 500 200 100.0 5.4977 5.49031 -0.134%
coax-d 500 100 1.0 96.566 96.4277 -0.143%
coax-e 500 50 1.0 138.155 137.8984 -0.186%
coax-f 500 25 1.0 179.744 179.8969 +0.085 %

Notes:

  1. On a dual processor Sun Ultra 60 (300 MHz), run times varied from 7 to 38 s when atlc was compiled with multi-processor support and from 9 to 66 when it was not
  2. The largest error for the coaxial cables is only 0.186%, with the RMS value being 0.139 %.
  3. In all of these situations, accuracy can be improved at the expense of memory and CPU time, by using a finer grid.

Comparisons between atlc and an eccentric coaxial line

eccentric coaxial line

According to the book Microwave and Optical Components, Volume 1, - Microwave Passive and Antenna Components, page 7, there is an exact formula for the impedance of a coaxial line (see below). If O is the offset between the centres of the two conductors, then the impedance Zo assuming Er=1, is

60 loge(x+sqrt(x^2-1)) where x=(d2+D2-4 O2)/(2*D*d)

Filename D d O Er Zo (theory) Zo (atlc) Error (%)
eccen-a 400 320 0 1.0 13.388 13.375 -0.097 %
eccen-b 500 400 40 1.0 8.044 8.024 -0.246%
eccen-c 400 160 0 1.0 54.977 54.955 -0.040%
eccen-d 500 200 150 1.0 52.021 51.998 -0.043%
eccen-e 500 200 100 1.0 41.589 41.562 -0.063%
eccen-f 500 100 0 1.0 96.566 96.489 -0..080%
eccen-g 500 100 50 1.0 94.008 93.930 -0.083%
eccen-h 500 100 100 1.0 85.525 85.443 -0.096%
eccen-i 400 40 0 1.0 138.155 138.052 -0.075%
eccen-j 500 50 50 1.0 135.679 135.575 -0.077%
eccen-k 500 50 100 1.0 127.556 127.448 -0.085%
eccen-l 400 40 12 1.0 110.835 110.709 -0.113%
eccen-m 400 40 160 1.0 73.540 73.237 -0.411%
eccen-n 1600 160 640 1.0 73.540 73.238 -0.134%

Note, due to their large size, the eccentric coax files are not distributed. They are made automatically when you run make check, which should be done as part of the installation procedure (see the file INSTALL). Running make check calls create_bmp_for_circ_in_circ, which is used for creating a circular conductor inside another circular conductor.

create_bmp_for_circ_in_circ 500 400 0 1 eccentric-a.bmp
create_bmp_for_circ_in_circ 500 400 40 1 eccentric-b.bmp
create_bmp_for_circ_in_circ 500 200 0 1 eccentric-c.bmp

Comparisions between atlc and a symmetrical strip transmission line

Another obvious test is a symmetrical strip transmission line - see diagramme below.

Symmetrical Strip Transmission Line

This has an exact analytical solution, dependent on the ratio of the width of the inner conductor w, to the distance between the two outer conductors H. This assumes that the outer conductors extend to plus and minus infinity and the inner conductor is infinitely thin. This structure has the advantage of requiring no curves, so can be represented accurately with the square grid used in atlc.

However, its impossible to have an inner conductor that is less than 1 pixel high and it is impossible to make the dimension W infinitely wide as it was take an infinite amount of disk space, RAM and CPU time. However, if the width W is made at least 4xH+w, then making it any larger does not seem to have much affect on the result.

The -i option to create_bmp_for_symmetrical_stripline, forces the width W to be equal to 4 times the internal height plus the inner conductor's width w (unless the user specified a larger value of W). Hence, when the -i option is used, a valid test of atlc's accuracy can be made
Without the -i option, you can made the width W and height H any value you want above >=5 pixels, although H must be odd, for the inner conductor to fit equally between the two outer confuctors. As always, the bitmaps created are 10 pixels higher and 10 pixels wider, to enforce a green metallic boundary.

create_bmp_for_symmetrical_stripline -vv -i 0 201 290 50-201.bmp

For this to be a valid test of atlc, the width should be
infinite. Since you used the -i option (indicationg you
want the width W to effectively infinite, W must exceed w + 4xH.
Therefore W has been is set to 1134
w=290 H=201 w/H=1.442786 xo=23.7538
Zo is theoretically 49.989477 Ohms (assuming W is infinite)

This structure, which has a w/H value of 1.442786, has a theoretical impedance close to 50 Ohms (49.989477 to be precise). atlc calculates this to be 49.8457 Ohms, an error of only 0.087%, when using a grid 1134x201. Increasing the number of pixels to 2222x401, the results are surprisingly somewhat worst with an error of 0.191%. I have no explanation for this. but increasing the pixels further to 4399x801, results in a larger error still, as atlc reports this as 49.9127.

Filename W H w w/H Zoexact Zoatlc Error Time
25ohm-201h.bmp 1512 201 668 3.3234 25.018 24.919 -0.392% 0h:00m:20s
25ohm-401h.bmp 2978 401 1334 3.3267 24.996 24.938 -0.409% 0h:04m:10s
25ohm-801h.bmp 6000 801 2664 3.3267 25.001 24.938 -0.409% 0h:48m:09s
50ohm-201h.bmp 1134 201 290 1.42786 49.989 49.846 +0.087% 0h:00m:15s
50ohm-401h.bmp 2222 401 578 1.4419 50.026 49.931 -0.191% 0h:03m:38s
50ohm-801h.bmp 4399 801 1155 1.4419 50.012 49.91 -0.20% 0h:47m:08s
100ohm-201h.bmp 945 201 101 0.5025 100.161 100.093 -0.068% 0h:00m:14s
100ohm-401h.bmp 1846 401 202 0.5037 100.02 99.911 -0.329% 0h:03m:16s
100ohm-801h.bmp 3647 801 403 0.5037 100.09 99.90 -0.19% 0h:37m:25s
200ohm-201h.bmp 862 201 18 0.0896 200.81 202.716 +0.945% 0h:00m:13s
200ohm-401h.bmp 1680 401 36 0.08978 200.669 201.182 +0.255% 0h:03m:16s
200ohm-801h 3317 801 73 0.09114 199.771 199.634 -0.068% 0h:37m:13s
400ohm-1551h 6439 1551 5 0.00322 400.040 412.26 +3.05% 6h:11m:55s
400ohm-76610h 31109 7750 25 0.00323 400.085 out of RAM

Notes:

  1. Run times are given when compiled single-threaded, with Sun WorkShop 6 update 2 C 5.3 2001/05/15 compiler, with on a Sun Ultra 80 workstation with 4x450 MHz CPUs and 2 Gb of RAM.
  2. Only 1 CPU in the Ultra 80 would have been used, since atlc was compiled single-threaded.
  3. The -s and -S options were given to atlc so that it did not create bitmap files. Without these options, run times would be a little longer, due to the time to write the files to disk.
  4. Using gcc-3.2, the run times are about 30% longer.
  5. Compiled as a multi-threaded application to use all 4 CPUs in a Sun Ultra 80, the run times reduce by a factor of approximately 3.5.
  6. The result for the first 400 Ohm transmission line analysed (400ohm-1551h.bmp) is very poor (3.5% error) since only 5 pixels could be used for the width of the inner conductor. The results from this test are not included when calculating the overall accuracy of atlc, since using only 5 pixels is not a fair test. An attempt at using 25 pixels for the inner conductor's width, where accuracy should have been better, created a 689 Mb bitmap file, which could not be analysed, as the RAM in the computer (2 Gb) was insufficient.

Accuracy of atlc with coupled lines

Testing the accuracy of atlc with coupled lines is more difficult that with single isolated lines, since there is to my knowledge only one structure for which exact analytical results exist. For two infinitely thin conductors halfway between two infinitely wide groundplanes (see below)

coupled lines

the odd and even mode impedances can be calculated analytically. If the spacing between the two groundplanes is H, the width of the conductors w, the spacing between the conductors s, and the permittivity of the medium Er,

----------^--------------------------------------------------------------
          |                                               
          |                <---w---><-----s----><---w-->
          H                ---------            --------         
          |       Er                               
          |                               
----------v--------------------------------------------------------------
then the impedances are given by.

Zeven=(30*pi/sqrt(er))*(K(ke')/K(ke))
Zodd=(30*pi/sqrt(er))*(K(ko')/K(ko))

K(kx)=complete elliptic integral of the first kind.

ke=(tanh((pi/2)*(w/H)))*tanh((pi/2)*(w+s)/H)
ko=(tanh((pi/2)*(w/H)))*coth((pi/2)*(w+s)/H)

ke'=sqrt(1-(ke^2))
ko'=sqrt(1-(ko^2))

Those equations are taken from Matthaei, Young and Jones, Microwave Filters, Impedance Matching Networks and Coupling Structures, Artech House, Dedham, MA., 1980. I'm very grateful to Paul Gili AA1LL / KB1CZP aa1l@email.com for providing me with these equations, references and nomographs.

A programme create_bmp_for_coupler was written to automatically generate bitmaps given the height H between the groundplanes, the conductor widths w and spacing s. Ideally this needs simulating from -infinity to +infinity, but that is not practical. It was assumed that if the complete structure width W was equal to 2*w+s+8*H that would be adequate (this seemed about right, but I've no proof it is optimal). As well as producing a bitmap, create_bmp_for_coupleralso calculate the theoretical values of impedance. In order to perform calculations of the theoetical impedance, create_bmp_for_coupler uses the GNU scientific library gsl for the elliptic integral calculations. Hence to obtain the theoretical values, gsl, available at http://sources.redhat.com/gsl, must be installed. The bitmaps will still be produced without the gsl library.

Filename W H w s Er Zoddtheory Zoddatlc Errorodd Zeventheory Zevenatlc Erroreven
coupler1 11 1.0 1.0 1.0 1.0 64.768 64.375 -0.61% 66.015 65.621 -0.56%
coupler2 19 1.991 1.0 1.0 1.0 93.12 92.418 -0.32% 106.90 106.36 -0.53%
coupler3 27 3.0 1.0 1.0 1.0 105.48 104.71 -0.73% 139.77 138.93 -0.60%
coupler5 43 5.0 1.0 1.0 1.0 114.32 113.33 -0.86% 189.27 188.13 -0.60%
coupler6 10.0 1.0 1.0 0.5 1.0 62.200 61.792 -0.66% 68.243 67.869 -0.55%
coupler7 10.0 1.0 1.0 .099 1.0 50.723 50.322 -0.79% 74.403 74.000 -0.54%
coupler8 5 0.25 1.0 1.0 1.0 21.221 21.069 -0.72% 21.221 21.069 -0.71%

Note, because of the need to simulate a large width W, these calculations are much slower than those above. The fact the simulation has to be done twice also adds to the time taken. A typical run, using the default bitmap size (18, which gives bitmap of 128 to 512kb), the time taken is approximately 2 minutes on a dual 300 MHz Sun Ultra 60.

atlc is written and supported by Dr. David Kirkby (G8WRB) It it issued under the GNU General Public License

Return to the atlc homepage

SourceForge.net
Logo