TX to Ae

Ch.3 Contents



Rosa's mutual inductance correction
for the round-wire solenoid.

>>> 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:

Table 7#1. Rosa's Correction for the Mutual Inductance of Round Wires

N

km

N

km

N

km

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

0.0000
0.1137
0.1663
0.1973
0.2180
0.2329
0.2443
0.2532
0.2604
0.2664
0.2715
0.2758
0.2795
0.2828
0.2857
0.2883
0.2906
0.2927
0.2946
0.2964
0.2980
0.2994
0.3008
0.3020
0.3032
0.3043
0.3053
0.3062
0.3071
0.3079

31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
55
60
65
70
75
80
85
90
95
100

0.3087
0.3095
0.3102
0.3109
0.3115
0.3121
0.3127
0.3132
0.3137
0.3142
0.3147
0.3152
0.3156
0.3160
0.3164
0.3168
0.3172
0.3175
0.3179
0.3182
0.3197
0.3210
0.3221
0.3230
0.3238
0.3246
0.3253
0.3259
0.3264
0.3269

110
120
130
140
150
160
170
180
190
200
220
240
260
280
300
350
400
450
500
550
600
650
700
750
800
850
900
950
1000
¥

0.3278
0.3285
0.3291
0.3296
0.3301
0.3305
0.3309
0.3312
0.3315
0.3318
0.3323
0.3327
0.3330
0.3333
0.3336
0.3341
0.3346
0.3349
0.3351
0.3354
0.3356
0.3357
0.3358
0.3360
0.3361
0.3362
0.3362
0.3363
0.3364
0.3379

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+k)]
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+k)] + [(k1/N) + (k2/N²) + (k3/N³) + ....] loge(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 was used as a substitute for ¥ (which is not a number).



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, does not return exactly 0 when N=1, and has a maximum error of 20.6%. It further damages the accuracy of the already flawed inductance calculation procedure described in that article, and there is no point in reproducing it here.






© D W Knight 2008.
David Knight asserts the right to be recognised as the author of this work.

TX to Ae

Ch.3 Contents