You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

344 lines
26 KiB

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html lang="en">
<head>
<link rel="canonical" href="l-pad-calc.htm" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Author" content="Rod Elliott - Elliott Sound Products">
<meta name="description" content="Elliott Sound Products - Loudspeaker L-Pad calculations">
<!-- Elliott Sound Products - Loudspeaker L-Pad calculations -->
<meta name="keywords" content="loudspeaker, l-pad, efficiency, power, audio, diy, hi-fi, electronic">
<title>L-Pad Calculator</title>
<link rel="StyleSheet" href="../esp.css" type="text/css" media="screen, print">
<style TYPE="text/css"> <!-- td { font-size: 11pt } --> </style>
<link rel="shortcut icon" type="image/ico" href="favicon.ico">
<!-- Calculation Script -->
<script language="Javascript">
<!--
function log10(x) { return 0.4342944 * Math.log(x) }
function calculate_r(f)
{
if (f.z.value == "") { alert("Enter impedance"); f.z.focus(); return false; }
if (isNaN(Number(f.z.value))) { alert("Positive number expected"); f.z.focus(); f.z.select(); return false; }
z = parseFloat(f.z.value);
if (z <= 0) { alert("Positive number expected"); f.z.focus(); f.z.select(); return false; }
if (f.attenuation.value == "" ) { alert("Enter attenuation in dB"); f.attenuation.focus(); return false; }
if (isNaN(Number(f.attenuation.value))) { alert("Enter attenuation in dB"); f.attenuation.focus(); f.attenuation.select(); return false; }
att = 0 - f.attenuation.value;
if (att > 0) { alert("Positive number expected"); f.attenuation.focus(); f.attenuation.select(); return false; }
// Rpar = Z * 10^(A/20) / (1 - 10^(A/20))
// Rser = Z - 1 / (1/R2 + 1/Z)
vrat = Math.pow(10, att/20)
rpar = Math.round(z * vrat * 1000 / (1 - vrat)) / 1000;
//rpar = Math.round(z * Math.pow(10, att/20) * 100 / (1 - Math.pow(10, att/20))) / 100;
// rser = Math.round((z - 1 / (1/rpar + 1/z)) * 100) / 100;
rser = Math.round(1000 * (z - rpar * z / (rpar + z))) / 1000;
f.rser.value = isNaN(rser) ? "" : rser;
f.rpar.value = isNaN(rpar) ? "" : rpar;
f.ztotal.value = z;
// R = Z / 10^(D/20) - Z
r = Math.round(1000 * (z / vrat - z)) / 1000;
//r = Math.round(100 * (z / Math.pow(10, att/20) - z)) / 100;
zsum = Math.round(1000 * (z + r)) / 1000;
return true;
}
function calculate_a(f)
{
if (f.impedance.value == "") { alert("Enter impedance"); f.impedance.focus(); return false; }
if (isNaN(Number(f.impedance.value))) { alert("Not a number"); f.impedance.focus(); f.impedance.select(); return false; }
z = parseFloat(f.impedance.value);
if (z <= 0) { alert("Positive number expected"); f.impedance.focus(); f.impedance.select(); return false; }
if (f.rser.value == "") { alert("Enter series resistance"); f.rser.focus(); return false; }
if (isNaN(Number(f.rser.value))) { alert("Not a number"); f.rser.focus(); f.rser.select(); return false; }
rser = parseFloat(f.rser.value);
if (rser < 0) { alert("Positive number expected"); f.rser.focus(); f.rser.select(); return false; }
/*
if (f.rpar.value == "") { alert("Please enter R parallel value"); f.rpar.focus(); return false; }
*/
rpar = parseFloat(f.rpar.value);
if (rpar <= 0) { alert("Positive number expected"); f.rpar.focus(); f.rpar.select(); return false; }
if (isNaN(rpar))
{
// D = 20 log(Z/(R+Z))
attenuation = 0 - Math.round(2000 * log10(z / (rser + z))) / 100;
ztotal = Math.round(1000 * (z + rser)) / 1000;
}
else
{
attenuation = "xxx";
ztotal = "xxx";
// D = 20 log(rser/((Z*rpar)/(Z+rpar)) + 1))
attenuation = Math.round(2000 * log10(rser / ((z * rpar) / (z + rpar)) + 1)) / 100;
ztotal = Math.round(1000 * ((z * rpar) / (z + rpar) + rser)) / 1000;
}
f.attenuation.value = isNaN(attenuation) ? "" : attenuation;
f.ztotal.value = isNaN(ztotal) ? "" : ztotal;
return true;
}
//-->
</script>
<style>
#pgbtn {
display: none; position: fixed; bottom: 20px; right: 30px; z-index: 99; font-size: 12px;
border: none; outline: none; background-color: blue; color: white; cursor: pointer;
padding: 15px; border-radius: 4px; }
#pgbtn:hover { background-color: #555; }
</style>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>
(adsbygoogle = window.adsbygoogle || []).push({
google_ad_client: "ca-pub-1947877433449191",
enable_page_level_ads: true
});
</script>
</head>
<body>
<table style="width:100%"><tr><td><img src="esp.jpg" alt="ESP Logo" height="81" width="215">
<td align="right">
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- 468x60, created 20/08/10 -->
<ins class="adsbygoogle"
style="display:inline-block;width:468px;height:60px"
data-ad-client="ca-pub-1947877433449191"
data-ad-slot="7119701939"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</td>
<table style="width:100%" class="tblblue"><tr><td class="hdrl">&nbsp;Elliott Sound Products</td>
<td align="right" class="hdrr">Loudspeaker L-Pad Calculations&nbsp;</td></tr></table>
<h1>Loudspeaker L-Pad Calculations</h1>
<div align="center" class="t_11">&copy; 2018 - Rod Elliott (ESP)<br />
Page Published August 2018</div>
<!-- AddThis Button BEGIN -->
<div class="addthis_inline_share_toolbox"></div>
<!-- AddThis Button END -->
<button onclick="topFunction()" id="pgbtn" title="Go to top">Top</button>
<script>
// When the user scrolls down 20px from the top of the document, show the button
window.onscroll = function() {scrollFunction()};
function scrollFunction() {
if (document.body.scrollTop > 30 || document.documentElement.scrollTop > 30)
{ document.getElementById("pgbtn").style.display = "block"; }
else { document.getElementById("pgbtn").style.display = "none"; }}
// When the user clicks on the button, scroll to the top of the document
function topFunction() {
document.body.scrollTop = 0;
document.documentElement.scrollTop = 0; }
</script>
<hr />
<span class="imgswap"><a href="../index.html" style="display:block;"><img src="a1.gif" alt="Home"/><b class="bb">Main Index</b></a></span>
<span class="imgswap"><a href="../articles.htm" style="display:block;"><img src="a1.gif" alt="articles"/><b class="bb">Articles Index</b></a></span>
<hr><b>Contents</b><br>
<ul>
<li><a href="l-pad-calc.htm#intro">Introduction</a>
<li><a href="l-pad-calc.htm#s1">1 &nbsp; L-Pad Calculators</a>
<li><a href="l-pad-calc.htm#s2">2 &nbsp; Resistor Power Ratings</a>
<li><a href="l-pad-calc.htm#outro">Conclusions</a>
<li><a href="l-pad-calc.htm#ref">References</a>
</ul>
<hr /><a id="intro"></a><b>Introduction</b>
<p>As regular readers will be aware, I don't like passive crossovers, and for any serious listening I'll always recommend using a fully active system.&nbsp; However, there are countless situations where people can't justify an active crossover and multiple amplifiers.&nbsp; Despite my own general preference for active systems, I still have three passive speakers in everyday use.&nbsp; One is my PC sound system, another is the clock radio in the bedroom (I simply <i>cannot</i> tolerate the pissant internal speakers, so have external boxes hooked up), and the last one is in my workshop.</p>
<p>A great many people prefer passive boxes so they can 'mix-and-match' power amplifiers, as that's very inconvenient with active systems.&nbsp; One of the passive systems I have has <i>remained</i> passive simply because I can't perform power amp listening tests without it.&nbsp; While not strictly ideal, there is no doubt that a well designed passive system can perform extremely well, and the processes described here are intended to let you get the best results possible.</p>
<p>L-Pads are used with passive crossover networks to adjust the sensitivity of one or more loudspeaker drivers.&nbsp; The least sensitive driver sets the overall system efficiency (in dB/W/m), and any others must be padded back so their sensitivity is the same.&nbsp; For example, a bass driver may have a sensitivity of 89dB (at 1W/1m), midrange may be 92dB and the tweeter 95dB.&nbsp; The padding needed is therefore&nbsp;...</p>
<blockquote>
<table>
<tr><td style="width:125px" class="t_12">Bass<td class="t_12">89dB
<tr><td class="t_12">Mid<td class="t_12">92 - 89 dB (3dB attenuation)
<tr><td class="t_12">Tweeter<td class="t_12">95 - 89 dB (6dB attenuation)
</table>
</blockquote>
<p>The amplifier power that's dissipated in the pads is completely wasted.&nbsp; While transformers could be used, this would become very expensive very quickly, and although far less power is wasted it's not an economical approach.&nbsp; There are a few 'high end' speaker systems that do use auto-transformers to provide level matching, but they are in the minority.&nbsp; The power dissipated (lost) in the pads is not easily calculated, because it depends on a great many variables.&nbsp; Some on-line calculators also work out power ratings for the L-pad resistors, but the figures given are grossly inflated and fail to consider the energy levels at the frequencies where the pads are working.</p>
<p>The calculator here will not attempt to work out resistor power ratings, and it's up to you to make adjustments as required, based on the info provided below.&nbsp; If you are building a high power system or expect the highest fidelity, I strongly recommend that you do <i>not</i> use passive crossovers at all - they should be active, with separate amplifiers for each driver.&nbsp; When you consider the time and effort needed to design and build a quality passive network, it becomes apparent fairly quickly that an active system is likely to be cheaper, with far fewer compromises.</p>
<p>L-Pads are a useful arrangement though, and when set up properly they ensure the crossover network 'sees' the desired impedance.&nbsp; You will still need impedance compensation circuits though, because nearly all loudspeaker drivers have an impedance curve that interferes with the crossover network, causing (sometimes severe) frequency response and phase anomalies.&nbsp; Impedance correction can minimise aberrations, but can be both difficult and expensive.</p>
<p class="t-pic"><img src="l-pad-f1.gif" alt="Figure 1" border="1" /><br />Figure 1 - Typical 2-Way Crossover With L-Pad</p>
<p>The drawing above shows a 2-way impedance corrected 12dB/ octave network.&nbsp; The values are shown for 8 ohm (nominal) drivers, and are described in detail in the article <u><a href="../lr-passive.htm" target="_blank">Design of Passive Crossovers</a></u>.&nbsp; The impedance correction networks must be designed specifically for the loudspeaker drivers.&nbsp; There is some additional info that you'll need to know in the article <u><a href="../tsp.htm" target="_blank">Measuring Loudspeaker Parameters</a></u>.&nbsp; These networks are not 'generic', but even if not fully optimised the results will usually be better than nothing.&nbsp; After correction, the impedance curve should be fairly flat across the crossover frequency and for <i>at least</i> an octave either side.&nbsp; For a 3kHz xover, the woofer and tweeter's impedances should be flat from 1.5kHz to 6kHz.&nbsp; That is the <i>minimum</i> requirement - a wider bandwidth is preferable.</p>
<p>After correction, the driver impedances will be slightly greater than the voicecoil's DC resistance.&nbsp; Expect around 6 ohms for more-or-less 'typical' 8 ohm drivers.&nbsp; The correction networks are commonly found by experimentation unless the driver parameters are particularly comprehensive.&nbsp; The crossover network is designed to suit the corrected impedance, and <i>not</i> the nominal driver impedance.</p>
<p><b>Note: </b> &nbsp; L-Pads are not limited to speakers, and can be used anywhere that you need an attenuator with a defined input impedance.&nbsp; The load impedance must be used in place of speaker impedance, and can be any value desired.</p>
<hr /><a id="s1"></a><b>1 &nbsp; L-Pad Calculators</b>
<p>There are two calculators, one to determine the values needed to obtain a given attenuation, and the other to work out the attenuation of a network you may find in a commercial (or DIY) crossover.&nbsp; It's important to understand that the speaker impedance is the <i>actual</i> (i.e. measured) value, including any impedance correction networks.&nbsp; If the nominal impedance is used, the attenuation may not be accurate, and without impedance correction the response will often be anything but flat.</p>
<p>The very first exercise is to determine the resistive drop caused by the low pass inductor (<i>this step is almost always forgotten !</i>).&nbsp; A typical coil of around 600&micro;H using 0.8mm wire will have a resistance (R<sub>i</sub>) of about 0.53 Ohm.&nbsp; We can calculate the low frequency loss in dB with the formula&nbsp;...</p>
<blockquote>
dB = 20 log ( R<sub>i</sub> / Z + 1 )
</blockquote>
<p>For our example, this gives ...</p>
<blockquote>
dB = 20 log (( 0.53 / 6 ) + 1 ) = 20 log ( 1.088 ) = 0.735 dB
</blockquote>
<p>Alternatively, just insert the speaker impedance and inductor resistance into the 'Calculate Attenuation Of Existing Network' calculator below.&nbsp; Due to rounding, it will show 0.74dB but that's accurate enough for all practical purposes.</p>
<p>The inductor's series resistance reduces the woofer's sensitivity slightly, in this example by 0.74dB.&nbsp; The tweeter therefore needs to be attenuated by an <i>additional</i> 0.74dB, over and above the amount indicated by the different driver sensitivities.&nbsp; In a 3-way system, the midrange will also have a series inductor, and the same process is necessary to ensure that its resistance and loss of sensitivity is also considered.&nbsp; There is no requirement to compensate for series capacitors.&nbsp; Their ESR (equivalent series resistance) will be well below the limits of audibility, and it's not necessary to correct for ESR because it's generally irrelevant.</p>
<table border="1" cellspacing="2" cellpadding="5" align="center" style="width:700px">
<tr>
<td><form name="form1">
<table cellpadding="2" cellspacing="0" border="0" class="tbldark">
<tr><td colspan="3" style="height:40px"><b>Calculate Resistor Network For Attenuation</b><hr /></td>
<tr><td style="width:200px; height:40px"><b>Speaker Impedance</b></td>
<td width="100"><input name="z" type="text" size="6"></td><td width="100" align="left">Ohm</td></tr>
<tr>
<td style="width:100px; height:40px"><b>Attenuation</b></td><td><input name="attenuation" type="text" size="6"></td><td>dB</td></tr>
<tr>
<td colspan="3" style="height:40px"><br /><i>L-Pad</i></td></tr>
<tr>
<td style="height:40px">R<sub>ser</sub></td>
<td style="height:40px"><input class="readonly" name="rser" type="text" size="6" onfocus="this.form.calc_r.focus()"></td><td>Ohm</td></tr>
<tr>
<td style="height:40px">R<sub>par</sub></td>
<td><input class="readonly" name="rpar" type="text" size="6" onfocus="this.form.calc_r.focus()"></td><td>Ohm</td></tr>
<tr>
<td style="height:40px">Z<sub>total</sub></td>
<td><input class="readonly" name="ztotal" type="text" size="6" onfocus="this.form.calc_r.focus()"></td><td>Ohm</td></tr>
<tr bgcolor="white">
<td colspan="2"><br /><input type="button" name="calc_r" value="Calculate" onclick="calculate_r(this.form)" style="width:80px">
<input type="reset" value="Clear" style="width:80px"></td><td><td></tr>
</table>
</form>
<!--td width="100">&nbsp; -->
<td><form name="form2">
<table cellpadding="2" class="tbldark">
<tr><td colspan="3" style="height:40px"><b>Calculate Attenuation Of Existing Network</b><hr /></td></tr>
<tr><td style="width:200px; height="40px"><b>Speaker Impedance</b></td>
<td style="width:100px; height:40px"><input name="impedance" type="text" size="6"></td><td width="100" align="left">Ohm</td></tr>
<tr><td style="height:40px"><b>R<sub>ser</sub></b></td>
<td><input name="rser" type="text" size="6"></td><td>Ohm</td></tr>
<tr><td style="height:40px"><b>R<sub>par</sub></b></td><td><input name="rpar" type="text" size="6"></td><td>Ohm<br /><br /></td></tr>
<tr><td colspan="3" style="height:40px">&nbsp;</td></tr>
<tr><td style="height:40px">Attenuation</td>
<td style="height:40px"><input class="readonly" name="attenuation" type="text" size="6" onfocus="this.form.calculate_a.focus()"></td><td>dB</td></tr>
<tr><td style="height:40px">Z<sub>total</sub></td>
<td><input class="readonly" name="ztotal" type="text" size="6" onfocus="this.form.calculate_a.focus()"></td><td>Ohm</td></tr>
<tr bgcolor="white">
<td colspan="2"><br /><input type="button" name="calc_a" value="Calculate" onclick="calculate_a(this.form)" style="width:80px">
<input type="reset" value="Clear" style="width:80px"><td><td>
</tr>
</table>
</form>
</table>
<p>When analysing an existing network, you can leave the R<sub>par</sub> field empty to calculate the attenuation with just a serial resistor (R<sub>ser</sub>).&nbsp; This is not recommended for design, but some commercial crossover networks are made to a price with little concern for accurate response.&nbsp; Use of a proper L-Pad allows the impedance presented back to the crossover network to be maintained at the design value.&nbsp; Because of the resistances used, an L-Pad may help make loudspeaker impedance correction a little less critical than for a 'raw' driver.</p>
<p>For example, a driver with a high resonance peak will be tamed, because the total driver + L-Pad impedance is limited by the parallel resistance.&nbsp; It's common to see a resonant peak of 40 ohms or more for some drivers, but that becomes impossible if there's a lower value resistor in parallel.&nbsp; This does <i>not</i> mean that impedance correction is not needed.&nbsp; No passive crossover can perform properly if the driver impedance changes with frequency.</p>
<blockquote>
<table>
<tr><td class="t_12" style="width:450">V<sub>r</sub> = 10^( A / 20 )<td>(Antilog( A / 20 ) - Where V<sub>r</sub> is the voltage ratio and A is attenuation in dB
<tr><td class="t_12">R<sub>s</sub> = Z &times; (( V<sub>r</sub> - 1 ) / V<sub>r</sub> )<td>Where Z is impedance and R<sub>s</sub> is the series resistance
<tr><td class="t_12">R<sub>p</sub> = Z &times; ( 1 / ( V<sub>r</sub> - 1 ))<td>Where R<sub>p</sub> is the parallel resistance
<tr><td>&nbsp;
<tr><td class="t_12">A = 20 &times; log(( R<sub>s</sub> + Z ) / Z )<td>Attenuation when only a single series resistance (R<sub>s</sub>) is used (not recommended)
<tr><td class="t_12">A = 20 &times; log( R<sub>s</sub> / (( Z &times; R<sub>p</sub> ) / ( Z + R<sub>p</sub> )) + 1 )<td>Attenuation with given impedance, R<sub>s</sub> and R<sub>p</sub>
</table>
</blockquote>
<p>You can use the above formulae in a spreadsheet if you don't want to keep referring to the web page.&nbsp; These formulae give the same answers as the calculators shown, but with no limit to the number of digits displayed.&nbsp; The calculators are limited to 3 decimal digits, but it's rare that you'll ever need to use more than one decimal place.&nbsp; When the speaker system is driven, voicecoil temperature rise will cause the crossover frequencies to change - hopefully only slightly, but possibly dramatically at high power.&nbsp; You can't do too much about the temperature rise, and this is one of the reasons I generally dislike passive networks.&nbsp; Loudspeaker parameters will also change with time, so expecting precision is impractical.</p>
<p>IMO, passive crossovers should only be used for low to moderate power (up to ~100W amplifier power), and for home listening at 'reasonable' volume levels.&nbsp; This helps to minimise temperature rise in the drivers and crossover components (especially inductors), and therefore limits the audible changes to the sound when everything is at an elevated temperature.&nbsp; This isn't an area that gets a lot of attention, but it should because the audible changes can be quite pronounced.</p>
<hr /><a id="s2"></a><b>2 &nbsp; Resistor Power Ratings</b>
<p>Power ratings for the L-Pad resistors are not particularly easy to calculate.&nbsp; There are so many variables that it's virtually impossible to provide a simple (or even a complex) formula.&nbsp; It's generally easy enough for tweeters, because they are relatively low power.&nbsp; A 100W system's tweeter will generally be capable of no more than about 10W (continuous programme material), so we know instantly that no resistor in the L-pad can exceed 10W, and 5W will most likely be enough.&nbsp; For the small extra cost, 10W resistors are preferred.</p>
<p>A 100W system into 8 ohms requires 28V RMS (continuous), but will rarely exceed around 15V RMS above 3kHz.&nbsp; Since music has dynamics (well, not all perhaps), the average power is a lot lower.&nbsp; For a tweeter L-Pad, the resistors (series and parallel) should be rated for around 10W.&nbsp; This is overkill, but they are not expensive and you have a reasonable safety margin.&nbsp; Most of the time, they probably won't even get more than lukewarm.&nbsp; While it may be possible to get a rough idea of the power needed for an L-Pad used for a midrange driver by calculation, you will almost certainly need to verify it by measurement.</p>
<p>The power ratings depend on the type of programme material, the amplifier's power rating and the crossover frequency.&nbsp; As shown above, tweeter L-Pads are easy enough, but the midrange driver in a 3-way system can be expected to sustain considerable power, especially if the crossover frequency from the woofer is less than 500Hz.&nbsp; If at all possible, get a midrange driver with a sensitivity that's not <i>too</i> different from that of the woofer.&nbsp; This won't always be feasible of course.&nbsp; If they are close to being the same, far less power needs to be thrown away by the L-Pad.</p>
<p>Also, remember that the bass driver's series inductor will dissipate power.&nbsp; While it will be moderate at low levels (up to perhaps 10W average), it may be considerable if the system is driven hard from a large power amp (or driven hard with a smaller amp that's well into clipping).&nbsp; High continuous power (regardless of how it's produced) will cause everything that dissipates power to get hot.&nbsp; The effects range from power compression (see <a href="pwr-vs-eff.htm">Loudspeaker Power vs. Efficiency</a>) to response changes due to crossover misalignment caused by resistance changes.</p>
<p>The effects are not particularly subtle - at a temperature of 200&deg;C, the resistance of copper has increased by a factor of around 1.65, so a nominal 6 ohm (DC) voicecoil will have a resistance of 10.2 ohms.&nbsp; The impedance is increased by a similar margin, so an 8 ohm driver will become 13 - 14 ohms.&nbsp; It's unrealistic in the extreme to imagine that the crossover network can tolerate such a change without shifting its characteristics.&nbsp; Thermal effects are not usually apparent in the L-Pad resistors, because the resistance wire is designed to have a very low thermal coefficient of resistance.</p>
<hr /><a id="outro"></a><b>Conclusions</b>
<p>The purpose of this article was primarily to provide the calculators, but it's also necessary to point out the other requirements for passive systems.&nbsp; While most people think that passive crossovers are the most suitable for loudspeaker systems, this is not the case.&nbsp; Today, it's actually easier (and often cheaper) to use a vastly superior electronic crossover.&nbsp; The cost penalty for a DIY system is minimal, and it may even work out cheaper.&nbsp; The capacitors and inductors in the Figure 1 crossover would not be cheap, and the impedance correction circuits add considerably to the overall cost.</p>
<p>As noted earlier, this article should be read in conjunction with <a href="../lr-passive.htm" target="_blank">Design of Passive Crossovers</a>, because that's one of the very few articles on the ESP site that discusses passive crossovers.&nbsp; Also see <a href="../parallel-series.htm" target="_blank">Series vs. Parallel Crossover Networks</a> and <a href="../tsp.htm" target="_blank">Measuring Loudspeaker Parameters</a>, as these are relevant to crossover design in general.</p>
<hr /><a id="ref"></a><b>References</b>
<ol>
<a href="https://troester.org/ls/lpad.html" target="_blank" rel="nofollow">troester.org</a> - L-Pad Calculations
</ol>
<hr />
<center>&nbsp;
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- 728x90 -->
<ins class="adsbygoogle"
style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-1947877433449191"
data-ad-slot="9701674198"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</center>
<hr />
<span class="imgswap"><a href="../index.html" style="display:block;"><img src="a1.gif" alt="Home"/><b class="bb">Main Index</b></a></span>
<span class="imgswap"><a href="../articles.htm" style="display:block;"><img src="a1.gif" alt="articles"/><b class="bb">Articles Index</b></a></span>
<br />
<table border="1" class="tblblk">
<tr><td class="t-wht"><a id="copyright"></a><b>Copyright Notice.</b> This article, including but not limited to all text and diagrams, is the intellectual property of Rod Elliott, and is Copyright &copy; 2018.&nbsp; Reproduction or re-publication by any means whatsoever, whether electronic, mechanical or electro- mechanical, is strictly prohibited under International Copyright laws.&nbsp; The author (Rod Elliott) grants the reader the right to use this information for personal use only, and further allows that one (1) copy may be made for reference.&nbsp; Commercial use is prohibited without express written authorisation from Rod Elliott.</td>
</tr></table>
<div class="t-sml">Page created and copyright &copy; August 2018.</div><br />
<script type="text/javascript" src="https://s7.addthis.com/js/300/addthis_widget.js#pubid=ra-5cd8c929c555da1d"></script>
</body>
</html>