6DOF Electromagnetic Tracker Signal to Noise Requirements Calculation
This paper covers the electromagnetics, and includes sensitivity matrices as part of its iterative method of tracking position and orientation:
- Frederick H. Raab, Ernest B. Blood, Terry O. Steiner, Herbert R. Jones, "Magnetic Position and Orientation Tracking System", IEEE Transactions on Aerospace and Electronic systems, Vol. AES-15, No. 4, September 1979, pages 709-718.
"range" is used here as the distance between transmitter coil trio and receiver coil trio.
Raab etal use (range, alpha, beta) three-dimensional polar coordinates for position, and spherical coordinates (azimuth, elevation, roll) for orientation. This separation of range from position and orientation angles, is electromagnetically sensible:
- The dipole magnetic field is inversely proportional to the cube of range, so d_signal/signal = 3 * d_range/range.
- At a constant range, the field strength on the axis of the dipole transmitter, is twice the field strength on the equatorial plane of the dipole transmitter. This factor of two, is what permits the separation of transverse position changes (changes in position angles without change in range) from changes in orientation angles. From the sensitivity matrix R in Raab etal, we can derive that the difficulty of separating position and orientation angles leads to: d_signal/signal = 0.3 * d_angle_in_radians. See EM_Tracker_HFluxPerI_Derivation for details.
To illustrate the calculation, we consider a specific example, for a desired 95% accuracy of 1 millimeter at a maximum distance of 30 centimeters, assigning half the error budget to noise:
- Rmax = maximum range needed = 30 centimeters = 0.3 meters
- Pnoise = 0.15 millimeters_RMS = 0.5 millimeters_95%_probability
Calculate the required signal-to-noise ratio, SNR, at maximum range Rmax:
- d_angle_in_radians = Pnoise / Rmax = 0.0005 radians = 0.5 milliradians
- d_signal/signal = 0.3 * d_angle_in_radians = 0.00015 radians = 0.15 milliradians
- SNR_Rmax = 1/(d_signal/signal) = 6700 = 6.7e+03 = 76 dB = 1/(0.015%)
The best audio analog-to-digital converters, ADCs, have an SNR over a 40-kHz bandwidth of 120 dB:
- SNR_adc = 120 dB = 1.0e+06
- BW_adc = 40 kHz = 40,000 Hz
Assume that the narrowband filters after the ADC have bandwidth of 200 Hz, and calculate the SNR over the narrow bandwidth:
- BW_narrow = 200 Hz
- BW_narrow / BW_adc = 1/200
- SNR_narrow = SNR_adc * sqrt(BW_adc/BW_narrow) = 1.0e+06 * sqrt(200) = 1.41e+07 = 143 dB
Assume the receiver noise is the same as the narrowband noise:
- SNR_receiver = 0.5 * SNR_narrow = 7.1e+06 = 137 dB
SNR_receiver is much more than SNR_Rmax, so we can meet our spec at maximum range. We have spare SNR to use for dynamic range:
- Dynamic_range = SNR_receiver / SNR_Rmax = 1055 = 137 dB - 76 dB = 61 dB
As the receiver moves closer to the transmitter, the signal increases by the inverse of the cube of range, so we can calculate the minimum range, Rmin, our tracker can operate at:
Rmin = Rmax / cuberoot(Dynamic_range)= 30 centimeters / 10.2 = 3 centimeters
Mechanical interference will probably prevent reaching Rmin in this example. Also, non-dipole coil-finite-size effects will reduce accuracy at small ranges.
At large ranges, in the absence of magnetic-field distorters, the dominant error is due to electric-field coupling. See 6DOF_Electromagnetic_Tracker_Electric_Field. At really large ranges, the radiation field starts to matter. See Raab's expired U.S. Patent 4,346,384 for discussion.