Contenido principal

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la última versión en inglés.

magcal

Coeficientes de calibración del magnetómetro

Descripción

[A,b,expmfs] = magcal(D) devuelve los coeficientes necesarios para corregir los datos del magnetómetro no calibrados D.

Para producir los datos del magnetómetro calibrado C, utilice la ecuación C = (D-b)*A. Los datos calibrados C se encuentran en una esfera de radio expmfs.

ejemplo

[A,b,expmfs] = magcal(D,fitkind) restringe la matriz A a ser del tipo especificado por fitkind. Utilice esta sintaxis cuando sólo sea necesario corregir el efecto de hierro blando o duro.

Ejemplos

contraer todo

Genere datos de magnetómetro no calibrados que se encuentran en un elipsoide.

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(:)];

Corrija los datos del magnetómetro para que queden sobre una esfera. La opción para la calibración está configurada de forma predeterminada en "automática".

[A,b,expmfs] = magcal(D); % Calibration coefficients
expmfs % Display the expected magnetic field strength in uT
expmfs = 
31.0723
C = (D-b)*A; % Calibrated data

Visualice los datos del magnetómetro calibrado y no calibrado.

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 object. The axes object with title Uncalibrated vs Calibrated Magnetometer Measurements, xlabel uT, ylabel uT contains 2 objects of type line. One or more of the lines displays its values using only markers These objects represent Uncalibrated Samples, Calibrated Samples.

Argumentos de entrada

contraer todo

Matriz de entrada de datos brutos del magnetómetro, especificada como una matriz N por 3. Cada columna de la matriz corresponde a las mediciones del magnetómetro en el primer, segundo y tercer eje, respectivamente. Cada fila de la matriz corresponde a una única medición de tres ejes.

Tipos de datos: single | double

Tipo de matriz para salida A. El tipo de matriz de A se puede restringir a:

  • 'eye' – matriz identidad

  • 'diag' – diagonal

  • 'sym' – simétrico

  • 'auto' – cualquiera de las opciones anteriores ofrezca el mejor ajuste

Argumentos de salida

contraer todo

Matriz de corrección para el efecto de hierro dulce, devuelta como una matriz de 3 por 3.

Vector de corrección para el efecto de hierro duro, devuelto como un arreglo de 3 por 1.

Intensidad del campo magnético esperada, devuelta como escalar.

Más acerca de

contraer todo

Referencias

[1] Ozyagcilar, T. "Calibrating an eCompass in the Presence of Hard and Soft-iron Interference." Freescale Semiconductor Ltd. 1992, pp. 1-17.

Capacidades ampliadas

expandir todo

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Historial de versiones

Introducido en R2019a

expandir todo

Consulte también

Clases

Objetos