Recent articles Working a common mode scenario – G3TXQ Radcom May 2015 and Working a common mode scenario – G3TXQ Radcom May 2015 – voltage balun solution analysed a three terminal equivalent circuit for G3TXQ’s antenna system based on his measurements. Solutions were offered for the expected common mode current with no balun, with a medium impedance common mode choke (current balun) and an ideal voltage balun.
In summary, though G3TXQ expected the antenna system to have good balance, on measurement it was not all that good. The analysis showed that even a moderate impedance common mode choke reduced the common mode current Icm substantially more than no balun, or an ideal voltage balun.
This article performs similar analysis of the case of an ideal voltage balun applied to my own antenna system documented at Equivalent circuit of an antenna system at 3.6MHz.
In this article I will use notation consistent with (Schmidt nd).
Above is the equivalent circuit.
Above is a schematic of the antenna equivalent circuit driven by equal but opposite phase voltages (ie, an ideal voltage balun).
From that we can write a set of mesh equations and solve them.
\(1=(z1+z3) \cdot i1 -z3 \cdot i2\\
1=-z3 \cdot i1+(z2+z3) \cdot i2\\
\)
This is a system of 2 linear simultaneous equations in 2 unknowns. In matrix notation:
\(\begin{vmatrix}i1\\i2 \end{vmatrix}=
\begin{vmatrix}
z1+z3 & -z3\\
-z3 & z2+z3
\end{vmatrix}^{-1} \times
\begin{vmatrix}1\\1\end{vmatrix}\\
\)
Let’s do that in GNU Octave.
desc="3.6MHz case from https://owenduffy.net/blog/?p=14267"; printf("%s\n\n",desc); #transform measurements Za=26.7+68.1i Zb=23.9+64.5i ZC=59.0+167i #Schmidt, Kevin. nd. Putting a Balun and a Tuner Together: http://fermi.la.asu.edu/w9cf/articles/balun/index.html S=Za*ZC*(2*Zb**2-Za*ZC)+Za*Zb*(2*ZC**2-Za*Zb)+Zb*ZC*(2*Za**2-Zb*ZC); ZD=4*Za**2*Zb**2*ZC/S; ZU=4*ZC**2*Za*Zb*(Za-Zb)/S; z1=(ZD+ZU)/2 z2=(ZD-ZU)/2 z3=ZC+(ZU**2-ZD**2)/(4*ZD) #sources v1=1 v2=1 #equations of mesh currents #v1=(z1+z3)*i1 -z3*i2 #v2=-z3*i1+(z2+z3)*i2 #solve mesh equations A=[z1+z3,-z3;-z3,z2+z3] b=[v1;v2] x=A\b; i1=x(1); i2=x(2); #scale to 100W input pr=100; printf("@%0.1fW input:\n",pr); p=real(v1*i1)+real(v2*i2); i1=i1*(pr/p)**0.5 i2=i2*(pr/p)**0.5 #calculate differential and common mode components of current ic=(i1-i2)/2 id=(i1+i2)/2 ica=abs(ic) ida=abs(id) icrel=2*abs(ic)/abs(id) i1a=abs(i1) i2a=abs(i2) i12a=2*abs(ic)
The console output is…
3.6MHz case from https://owenduffy.net/blog/?p=14267 Za = 26.700 + 68.100i Zb = 23.900 + 64.500i ZC = 59 + 167i z1 = 18.002 + 41.924i z2 = 10.426 + 31.757i z3 = 52.296 + 148.891i v1 = 1 v2 = 1 A = 70.30 + 190.82i -52.30 - 148.89i -52.30 - 148.89i 62.72 + 180.65i b = 1 1 @100.0W input: i1 = 0.67231 - 1.72300i i2 = 0.67684 - 1.79004i ic = -0.0022646 + 0.0335163i id = 0.67458 - 1.75652i ica = 0.033593 ida = 1.8816 icrel = 0.035707 i1a = 1.8495 i2a = 1.9137 i12a = 0.067185 >> >>
The comparative statistic I will use is | 2*ic| (total common mode current) relative to |id|, it is given by the variable icrel above which has a calculated value of 0.0357 for this scenario.
Note that differential current and common mode current will almost always each be standing waves and their phase velocity may differ.
The last three values calculated are those that would be measured by a clamp on RF ammeter around the 1, 2 and 1+2 wires together. These values could be plugged into Resolve measurement of I1, I2 and I12 into Ic and Ic to resolve the measurements into common mode and differential mode components.
Above, the calculator results reconcile with the results of the Octave script.
You don’t need complicated maths to asses an installed antenna system, measurements with a clamp on RF ammeter can be resolved into the common mode and differential mode components using the calculator.
In this case, Icm with a voltage balun is not too bad, a consequence of very good balance of the antenna system. The measured Icm with the installed common mode choke is 20mA, about 10.5dB better than the calculated 67mA for an ideal voltage balun.
Good voltage baluns deliver good current balance on very symmetric loads, good current baluns deliver good current balance on ALL loads.
Python example
If you prefer to work in Python, here is code that runs in Python and Jupyter.
from scipy.optimize import minimize import numpy as np import cmath desc="3.6MHz case from https://owenduffy.net/blog/?p=14267" print(desc,'\n\n'); #transform measurements Za=26.7+68.1j Zb=23.9+64.5j ZC=59.0+167j #Schmidt, Kevin. nd. Putting a Balun and a Tuner Together: http://fermi.la.asu.edu/w9cf/articles/balun/index.html S=Za*ZC*(2*Zb**2-Za*ZC)+Za*Zb*(2*ZC**2-Za*Zb)+Zb*ZC*(2*Za**2-Zb*ZC); ZD=4*Za**2*Zb**2*ZC/S; ZU=4*ZC**2*Za*Zb*(Za-Zb)/S; z1=(ZD+ZU)/2 z2=(ZD-ZU)/2 z3=ZC+(ZU**2-ZD**2)/(4*ZD) #print(z1,z2,z3) #sources v1=1 v2=1 #equations of mesh currents #v1=(z1+z3)*i1 -z3*i2 #v2=-z3*i1+(z2+z3)*i2 #solve mesh equations A=[[z1+z3,-z3],[-z3,z2+z3]] b=[v1,v2] #print(A) #print(b) res = np.linalg.inv(A).dot(b) #print(res) #initial solution i1=res[0] i2=res[1] #scale to 100W input pr=100; print("@{:0.1f}W input:\n".format(pr)); p=(v1*i1).real+(v2*i2).real; i1=i1*(pr/p)**0.5 i2=i2*(pr/p)**0.5 #calculate differential and common mode components of current ic=(i1-i2)/2 id=(i1+i2)/2 ica=abs(ic) ida=abs(id) icrel=2*abs(ic)/abs(id) i1a=abs(i1) i2a=abs(i2) i12a=2*abs(ic) #print(i1,i2,ic,id) print('|I1|: {:0.3f}, |I2|: {:0.3f}, |I12|: {:0.3f}, |Id|: {:0.3f}'.format(i1a,i2a,i12a,ida))