Поскольку магнитометр обычно вращается в полном диапазоне 3-D вращения, идеальные измерения с магнитометра должны образовывать идеальную сферу, центрированную в начале координат, если магнитное поле не нарушено. Однако из-за искажения магнитных полей от печатной платы датчика и окружающей среды сферические магнитные измерения могут быть возмущены. В целом существует два эффекта.
Эффект мягкого железа описывается как искажение эллипсоида от сферы и наклон эллипсоида, как показано на левой фигуре. Этот эффект вызван возмущениями, которые влияют на магнитное поле, но не могут генерировать собственное магнитное поле. Например, металлы, такие как никель и железо, могут вызывать такой вид искажения.
Эффект твердого железа описывается как смещение центра эллипсоида от начала координат. Этот эффект создают материалы, которые проявляют постоянное аддитивное поле к магнитному полю Земли. Это постоянное дополнительное смещение дополняет эффект мягкого железа, как показано на рисунке справа.
Базовый алгоритм в magcal определяет эллипсоид наилучшего соответствия показаниям необработанного датчика и пытается «инвертировать» эллипсоид для создания сферы. Целью является создание матрицы коррекции. A для учета эффекта мягкого железа и вектора b чтобы учесть эффект твердого железа. Три варианта вывода, 'eye', 'diag' и 'sym' соответствуют трём алгоритмам решения параметров, и опция 'auto' выбирает из этих трёх вариантов наилучшую подгонку.