magcal

Коэффициенты калибровки магнитометра

Описание

пример

[A,b,expmfs] = magcal(D) возвращает коэффициенты, необходимые для коррекции данных о некалиброванном магнитометре D.

Для получения данных калиброванного магнитометра C, используйте уравнение C = (D-b)*A. Калиброванные данные C лежит на сфере радиуса expmfs.

[A,b,expmfs] = magcal(D,fitkind) ограничивает матрицу A быть типом, заданным как fitkind. Используйте этот синтаксис, когда нужно исправить только эффект мягкого или жесткого железа.

Примеры

свернуть все

Сгенерируйте данные некалиброванного магнитометра, лежащие на эллипсоиде.

c = [-50; 20; 100]; % ellipsoid center
r = [30; 20; 50]; % semiaxis radii

[x,y,z] = ellipsoid(c(1),c(2),c(3),r(1),r(2),r(3),20);
D = [x(:),y(:),z(:)];

Исправьте данные магнитометра так, чтобы они лежали на сфере. Опция калибровки по умолчанию устанавливается на ' auto '.

[A,b,expmfs] = magcal(D); % calibration coefficients
expmfs % Dipaly expected  magnetic field strength in uT
expmfs = 31.0723
C = (D-b)*A; % calibrated data

Визуализируйте данные о некалиброванном и калиброванном магнитометре.

figure(1)
plot3(x(:),y(:),z(:),'LineStyle','none','Marker','X','MarkerSize',8)
hold on
grid(gca,'on')
plot3(C(:,1),C(:,2),C(:,3),'LineStyle','none','Marker', ...
            'o','MarkerSize',8,'MarkerFaceColor','r') 
axis equal
xlabel('uT')
ylabel('uT')
zlabel('uT')
legend('Uncalibrated Samples', 'Calibrated Samples','Location', 'southoutside')
title("Uncalibrated vs Calibrated" + newline + "Magnetometer Measurements")
hold off

Figure contains an axes. The axes with title Uncalibrated vs Calibrated Magnetometer Measurements contains 2 objects of type line. These objects represent Uncalibrated Samples, Calibrated Samples.

Входные параметры

свернуть все

Вход матрица необработанных данных магнитометра, заданная как матрица N-на-3. Каждый столбец матрицы соответствует измерениям магнитометра в первой, второй и третьей осях, соответственно. Каждая строка матрицы соответствует одному трехосевому измерению.

Типы данных: single | double

Матричный тип для выходных A. Матричный тип A может быть ограничено:

  • 'eye' - единичная матрица

  • 'diag' - диагональ

  • 'sym' - симметричный

  • 'auto' - независимо от того, какой из предыдущих опций дает максимальную подгонку

Выходные аргументы

свернуть все

Матрица коррекции эффекта мягкого железа, возвращенная как матрица 3 на 3.

Вектор коррекции для эффекта жесткого железа, возвращенный как массив 3 на 1.

Ожидаемая магнитная сила, возвращенная как скаляр.

Подробнее о

свернуть все

Эффекты мягкого и жесткого железа

Поскольку магнитометр обычно вращается через полную область значений 3-D вращения, идеальные измерения от магнитометра должны сформировать идеальную сферу, центрированную в источник, если магнитное поле не возмущено. Однако из-за искажения магнитных полей от платы схемы датчика и окружающего окружения, сферические магнитные измерения могут быть возмущены. В целом существует два эффекта.

  1. Эффект мягкого железа описан как искажение эллипсоида от сферы и наклон эллипсоида, как показано на левом рисунке. Этот эффект вызван нарушениями порядка, которые влияют на магнитное поле, но могут не генерировать их собственное магнитное поле. Для примера такие металлы, как никель и железо, могут вызывать такого рода искажения.

  2. Эффект жесткого железа описывается как смещение эллипсоидного центра от источника. Этот эффект получают материалы, которые проявляют постоянное аддитивное поле к магнитному полю Земли. Это постоянное смещение добавки является сложением к эффекту мягкого железа, как показано на рисунке справа.

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

Ссылки

[1] Ozyagcilar, T. «Калибровка электронного компаса в присутствии жесткой и мягкой интерференции железа». Freescale Semiconductor Ltd. 1992, pp. 1-17.

См. также

Классы

Объекты

Введенный в R2019a