magcal

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

Синтаксис

[A,b,expmfs] = magcal(D)
[A,b,expmfs] = magcal(D,fitkind)

Описание

пример

[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

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

свернуть все

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

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

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

  • глаз единичная матрица

  • diag диагональ

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

  • 'auto' какой бы ни из предыдущих опций дает лучшую подгонку

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

свернуть все

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

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

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

Больше о

свернуть все

Мягкий - и Тяжело-железные эффекты

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

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

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

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

Ссылки

[1] Ozyagcilar, T. "Калибруя eCompass в присутствии Трудной и Мягко-железной Интерференции". Freescale Semiconductor Ltd. 1992, стр 1-17.

Смотрите также

Классы

Системные объекты

Введенный в R2019a