|
|
|
|
|
|
|
>>> Work in progress. Below is a passage which was originally in the main text. It was always too much of a digression to fit into a general overview of inductance calculation methods, and needed to be moved to an appendix. It remains coherent as it stands; but it will be re-edited to include additional information, provided by Robert Weaver, on the subject of calculations using the Geometric Mean Distance (GMD) method. You can preview the documents sent to me by Bob here: Rosa_Derivation_r2.pdf . RoseTable_r2.txt . RosaWorksheet.ods . The main references used are here: Grover 1929 . Rosa & Grover 1911 . Eventually, I will try to use Bob's data to improve my old fitting function - which works well in spreadsheets. Programmers should take a look at Bob's subroutines given in the pdf document. DWK. 30th July 2008. |
|
3-7b. Mutual-inductance correction. Rosa's mutual-inductance correction term, km (also known as H or B), is calculated by the method of Geometric Mean Distance (ref [3] p14-16 and Ch. 3) and depends only on the number of turns N. Grover has given it in the form of a table (ref [3] p150), which is reproduced below: |
|
|
|
||||||
|
|
|
|
Values of km are also given in [Rosa
& Grover 1911, p199], but differ from Grover's table
by as much as 0.0011. The table above, being the most recent
(1946) is presumed to be authoritative. The table allows the correction for most HF radio coils to be read directly; but for the coding of computer programs and spreadsheets it is useful to have a some kind of formula. Unfortunately, the generating function for the table is not well described in any of the references used by the author, but it was found possible to determine an empirical function which reproduces the values in Grover's table with a maximum difference of 0.000062. Since the table has rounding errors, whereas the fitting function is continuous and of low order (i.e., does not involve N raised to a high power and so cannot change rapidly enough to follow noise fluctuations in the data); the function has the effect of smoothing-out the errors, and the values it produces are consequently a little more accurate than those in the table. The procedure for generating the fitting function will be described here in the hope that it may be instructive. The first step was to note that the curve obtained by plotting the values in the table is similar in appearance to to the simple function: f0(N) = 1 - 1/N This expression gives half of its maximum value when N=2, whereas the value in the table for N=2 is about 34% of the maximum, and so the gradient of the function is obviously incorrect for low values of N. The gradient is however changing rapidly around N=1; and so a correction can be obtained by including an offset, i.e., by sliding the starting point along the candidate curve until a suitable gradient is found (analogous to the process of using a French-curve to join-up the points on a hand-drawn graph). Hence: f1(N) = 1 - 1/(N+k) This new function goes to 1-1/(1+k) when N=1, whereas we need a function which goes to zero, and so the zero-crossing point must be restored by subtracting the value of the function at N=1, i.e.; f2(N) = [1 - 1/(N+k) ] - [1 - 1/(1+k) ] which simplifies to: f2(N) = [1/(1+k) ] - [1/(N+k) ] This function goes to 1/(1+k) as N®¥, but it can be normalised to vary between 0 and 1 by multiplying it by 1+k, i.e.; f3(N) = 1 - (1+k)/(N+k) Multiplying this function by km¥=0.3379 (the N®¥ value in the table) then gives a first candidate for a fitting function: km' = km¥ [1-(1+k)/(N+k)] With k=1.07 (found by trial by entering the whole of Grover's table into a Spreadsheet and comparing it with the value calculated by the function for each value of N), this function was found to fit the data within about 3%. This is remarkable for an expression with a single adjustable parameter, but nowhere-near good enough to reproduce the table. Further improvement requires additional parameters, and there a several options in this respect. One possibility is to allow the power of N to vary, i.e.; km' = km¥ [1-(1+k)/(N Another possibility is to add a correcting function which is nailed to zero at the extreme ends of its range (i.e., when N=1 and when N®¥). A suitable candidate is: Df(N) = [(k1/N) + (k2/N²) + (k3/N³) + ....] loge(N) where the loge(N) multiplier forces the function to zero when N=1, and the terms in the series in square brackets all go to zero as N®¥. Hence: km' = km¥ [1-(1+k)/(N With the N² and higher terms excluded by setting k2=0, k3=0, etc.; by varying only x, k and k1, it was easily possible to fit the table with no residual (observed-calculated ) error greater than 0.0002. Intriguingly, the optimal value of x was found to be 1.000, indicating that the gradient of the original function is correct for large N. Hence x was fixed at 1 and, by allowing k2 to deviate from zero, it was found that the data could be fitted with no residual greater than 0.00007. Hence the fitting formula has the form: km = km¥ [1-(1+k)/(N+k)] + [(k1/N) + (k2/N²)] loge(N) Finally it was allowed that the value of km¥ could lie between 0.337850 and 0.337949, since anything in this range will round to 0.3379, and this small latitude was used to distribute the residuals evenly above and below the value calculated by the function. The resulting formula is shown below (the parameter 0.9754 is 1+k, where k=-0.0246): |
|
7.5 Mutual-inductance
correction formula: Reproduces the values in Grover's table (ref [3] p150) with a maximum difference of 0.000062. (s =0.00003) km = 0.337883[ 1 - 0.9754/(N-0.0246) ] + [ (-0.16725/N)+(0.0033/N²) ] loge(N) |
|
Part of the spreadsheet (Rosa_kM.ods)
is reproduced below; showing exactly how the formula was entered
and the coefficient values at the point where no further adjustment
was deemed worthwhile. Note that the whole of Grover's table was included in the fit, and a value of N=10 |

|
The coefficients were adjusted manually, monitoring a chart of
residual errors (shown below in final form) and the sum of residuals
(which should be near zero if the errors are evenly distributed).
Manual adjustment is not always possible when fiting data; but
in this case the coefficients all have very distinct effects
(km¥
adjusts the fit for large values of N, k1
for intermediate N, and k and k2 for low
values of N). The reason why the formula can be claimed to be more accurate than the table can be seen by examining the pattern of residuals (calculated value - Grover's value) below: |

|
The difference consists entirely of noise, this being due to
the rounding errors incurred by truncating the data in the table
to 4 decimal places, and any small errors incurred in the series
summations which had to be carried out when the table was produced.
Since the fitting function is smooth, and the function used to
generate the table may be assumed to be smooth, any residual
greater than 0.0005 must be due to an error in the table. There
are only 5 instances when the value obtained the function differs
from the table by 0.0001 after rounding to 4 decimal places,
and to all intents and purposes, the fitting function reproduces
the table exactly. On the few occasions when the number produced
is different by 1 in the last decimal place, the fitting function
is probably authoritative. The fitting procedure described above will hopefully provide a contrast to the brute-force approach to data reduction used in reference [8] and elswhere. Using a mathematics software package without thinking about what is going on is a very bad idea. The best strategy in fitting any data-set is to start with a simple function which resembles the data as closely as possible, rather than to use some arbitrary function and force it to work by using high-order terms. The fitting function should also be anchored to any known boundary conditions (such as when N=1 km=0 in the example above) because it is ridiculous to evoke fitting parameters to capture analytically defined values. A fitting function for km, incidentally, is also given in ref [8]. It uses terms up to N |
|
|
|
|
|
|
|
|