I have a magnetometer which I am using for orientation purposes. What i would like to know is how to calculate the total error when finding the magnitude of the magnetic field vector. So I know each individual axis is accurate to within +-10nT, but how does this propagate to the total magnetic field.

The magnitude of the magnetic field vector is \$ \sqrt{B_x^2+B_y^2+B_z^2} \$, so initially i thought the error would be \$ \sqrt{dB_x^2+dB_y^2+dB_z^2}\$ where \$dB_x\$ is the error on x axis, \$dB_y\$ on y axis and \$dB_z\$ on Z axis. Is this correct?

Thanks for your help.

  • \$\begingroup\$ It doesn't seem right to me. If the field is almost all along one axis then the error in that measurement sets the total error and the other two don't really matter too much. So I think I'd want a term that includes the magnitude of each component and the total field. \$\endgroup\$ Feb 24, 2015 at 14:10
  • 2
    \$\begingroup\$ Keep in mind for orientation, the earth surface field is fairly heterogeneous and there is a lot of magnetic noise in our environment. A 10nT error is approximately 5000x less than the average surface field magnitude (0.5 G or 50uT). Your environmental noise will be signficantly higher than this, otherwise your error propogation is correct in magnitude (see this list of handy formulas ) \$\endgroup\$
    – crasic
    Jul 21, 2015 at 16:50
  • \$\begingroup\$ @GeorgeHerold The error term is detector accuracy/noise, and is typically constant in magnitude, there is an average error of 10nT even at 0 field readings. A detector may have error term that depends on the magnitude, but this requires a different error propagation term. His calculation is to determine the total magnitude of detector error, which may be very small relative to the magnitude of the measured field vector. \$\endgroup\$
    – crasic
    Jul 21, 2015 at 16:53
  • \$\begingroup\$ There's a good wikipedia article about this. All the math works out and the error in the magnitude is what you have. \$\endgroup\$
    – τεκ
    Jul 21, 2015 at 18:00

1 Answer 1


Your equation ( \$e_m = \sqrt{e_x^2 + e_y^2 + e_z^2} \$) is the absolute error in the magnitude (so divide by the magnitude to get the % error).

It's going to be a bit messier working out the angular error in heading.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.