EM Tracker HFluxPerI Derivation
All of the following can be found at (or derived from) https://en.wikipedia.org/wiki/Magnetic_dipole and in classical-electromagnetics textbooks.
We assume that, at the working frequency or frequencies, the wavelength is large compared to the distance between transmitter coil trio and receiver coil trio. This is the quasi-static approximation, which permits us to ignore radiation fields.
We assume that each coil is so small that its shape does not matter, only its size times its number of turns. This is the dipole approximation. Each coil has an effective-area vector, Aeff_vect (measured in square meters) which completely describes a dipole coil's quasi-static magnetic properties.
Consider a single transmitter coil, with effective-area vector Aeff_tmtr_vect. We pass a current Itmtr (measured in amperes) through the transmitter coil, which causes the coil to emit a vector magnetic field Hvect (measured in amperes per meter) which varies depending upon where we observe the magnetic field.
Let Rvect (measured in meters) be the vector from the transmitter coil to the position of the magnetic-field observer. The magnetic field at the observation point is Hvect(Rvect).
We can write Rvect as the product of its scalar magnitude, Rmag (measured in meters), and a unit vector Runit_vect (unitless) in the direction of Rvect:
Rvect = Rmag Runit_vect
The vector magnetic field Hvect (measured in amperes per meter) at the observation point is then:
Hvect(Rvect) = (Itmtr / (4 pi Rmag^3)) (3 Runit_vect (Runit_vect .dotproduct. Aeff_tmtr_vect) - Aeff_tmtr_vect)
This can be written more compactly (being a little free with the notation) as:
Hvect(Rvect) = (Itmtr / (4 pi Rmag^3)) ((3 Runit_vect Runit_vect .dotproduct.) -1) Aeff_tmtr_vect
Place a dipole receiver coil (with effective-area vector Aeff_rcvr_vect measured in square meters) at the observation point Rvect. Scalar HFlux (measured in amperes times meters) through the receiver coil is defined as:
HFlux(Rvect) = Aeff_rcvr_vect .dotproduct. Hvect(Rvect)
Substituting for Hvect(Rvect) gives:
Hflux(Rvect) = Aeff_rcvr_vect .dotproduct. (Itmtr / (4 pi Rmag^3)) ((3 Runit_vect Runit_vect .dotproduct.) -1) Aeff_tmtr_vect
Dividing by the transmitter current Itmtr, gives scalar HFluxPerI (measured in meters):
HfluxPerI(Rvect) = (1 / (4 pi Rmag^3)) Aeff_rcvr_vect .dotproduct. ((3 Runit_vect Runit_vect .dotproduct.) -1) Aeff_tmtr_vect
HFluxPerI is a purely geometrical property of the coils and their relationship in space.
If we replace Rvect with -Rvect, Rmag is unchanged, Runit_vect is replaced by -Runit_vect, and HFluxPerI is unchanged. This is the hemisphere ambiguity.
If we swap Aeff_rcvr_vect and Aeff_tmtr_vect, HFluxPerI is unchanged. This is electromagnetic reciprocity.
The induced voltage Vrcvr (measured in volts) across the receiver coil is:
Vrcvr = -d/dt(Uo HFluxPerI Itmtr)
Uo = pi 4e-07 volts*seconds/(amperes*meters) is the magnetic permeability of free space, usually called mu-nought.
If Itmtr is sinusoidal at frequency F, and the receiver is moving slowly or not at all with respect to the transmitter, we have:
Itmtr = Itmtr_peak sin(2 pi F)
Vrcvr = -Uo HFluxPerI Itmtr_peak 2 pi F cos(2 pi F)