Main Content

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

magparams

Parámetros del sensor magnetómetro

Descripción

La clase magparams crea un objeto de parámetros de sensor magnetómetro. Puede utilizar este objeto para modelar un magnetómetro al simular una IMU con imuSensor. Consulte la sección Algoritmos de imuSensor para obtener detalles del modelado de magparams .

Creación

Descripción

params = magarams devuelve un objeto de parámetros de sensor de magnetómetro ideal con valores predeterminados.

params = magparams(Name,Value) configura las propiedades del objeto magparams usando uno o más argumentos de par Name,Value . Name es un nombre de propiedad y Value es el valor correspondiente. Name debe aparecer entre comillas simples (''). Puede especificar varios argumentos de pares nombre-valor en cualquier orden como Name1,Value1,...,NameN,ValueN. Cualquier propiedad no especificada toma valores predeterminados.

Propiedades

expandir todo

Lectura máxima del sensor en μT, especificada como un escalar positivo real.

Tipos de datos: single | double

Resolución de las mediciones del sensor en μT/LSB, especificada como un escalar real no negativo. Aquí, LSB es el acrónimo de bit menos significativo.

Tipos de datos: single | double

Sesgo de compensación del sensor constante en μT, especificado como un escalar real o un vector fila de 3 elementos. Cualquier entrada escalar se convierte en un vector fila real de 3 elementos donde cada elemento tiene el valor escalar de entrada.

Tipos de datos: single | double

Los ejes del sensor se inclinan en porcentaje, especificado como un escalar, un vector fila de 3 elementos o una matriz de 3 por 3. Los elementos diagonales de la matriz representan los efectos de desalineación para cada eje. Los elementos fuera de la diagonal explican los efectos de desalineación de los ejes transversales. El estado medido v measure se obtiene del estado verdadero v true a través de la matriz de desalineación como :

vmeasure=1100Mvtrue=1100[m11m12m13m21m22m23m31m32m33]vtrue

  • Si especifica la propiedad como un escalar, entonces todos los elementos fuera de la diagonal de la matriz toman el valor del escalar especificado y todos los elementos diagonales son 100.

  • Si especifica la propiedad como un vector [a b c], entonces m 21 = m 31 = a, m 12 = m 32 = b, y m 13 = m 23 = c. Todos los elementos de la diagonal son 100.

Tipos de datos: single | double

Densidad espectral de potencia del ruido del sensor en μT/√Hz, especificada como un escalar real o un vector fila de 3 elementos. Cualquier entrada escalar se convierte en un vector fila real de 3 elementos donde cada elemento tiene el valor escalar de entrada.

Tipos de datos: single | double

Coeficientes de filtro para la generación de ruido de inestabilidad de polarización, especificados como una estructura. La estructura tiene estos campos:

  • Numerator — Coeficientes del numerador, especificados como un vector de valor real.

  • Denominator — Coeficientes del denominador, especificados como un vector de valor real.

Para especificar coeficientes de ruido fractal, utilice la función fractalcoef (Sensor Fusion and Tracking Toolbox) .

Ejemplo: struct(Numerator=1,Denominator=[1 -0.5])

Tipos de datos: struct

Inestabilidad del desplazamiento de polarización en μT, especificada como un escalar real o un vector fila de 3 elementos. Cualquier entrada escalar se convierte en un vector fila real de 3 elementos donde cada elemento tiene el valor escalar de entrada.

Tipos de datos: single | double

Ruido blanco integrado del sensor en (μT/√Hz), especificado como un escalar real o un vector fila de 3 elementos. Cualquier entrada escalar se convierte en un vector fila real de 3 elementos donde cada elemento tiene el valor escalar de entrada.

Tipos de datos: single | double

Tipo de ruido aleatorio, especificado como:

  • "double-sided" — Los coeficientes de ruido aleatorio tienen un factor de escala de 2.

  • "single-sided" — Los coeficientes de ruido aleatorio tienen un factor de escala de 1.

Tipos de datos: char | string

Polarización del sensor a partir de la temperatura en (μT/℃), especificada como un escalar real o un vector fila de 3 elementos. Cualquier entrada escalar se convierte en un vector fila real de 3 elementos donde cada elemento tiene el valor escalar de entrada.

Tipos de datos: single | double

Error del factor de escala de la temperatura en (%/℃), especificado como un escalar real o un vector fila de 3 elementos con valores que van de 0 a 100. Cualquier entrada escalar se convierte en un vector fila real de 3 elementos donde cada elemento tiene el valor escalar de entrada.

Tipos de datos: single | double

Ejemplos

contraer todo

Genere datos de magnetómetro para un objeto imuSensor a partir de entradas estacionarias.

Generar un objeto de parámetro magnetómetro con una lectura máxima del sensor de 1200μTy una resolución de 0,1μT/LSB. El sesgo de compensación constante es 1μT. El sensor tiene una densidad espectral de potencia de ([0.6 0.6 0.9]100) μT/Hz. El sesgo de la temperatura es [0,8 0,8 2,4]μT/0C. El error del factor de escala debido a la temperatura es del 0,1 %./0C.

params = magparams('MeasurementRange',1200,'Resolution',0.1,'ConstantBias',1,'NoiseDensity',[0.6 0.6 0.9]/sqrt(100),'TemperatureBias',[0.8 0.8 2.4],'TemperatureScaleFactor',0.1);

Utilice una frecuencia de muestreo de 100 Hz espaciadas en 1000 muestras. Cree el objeto imuSensor utilizando el objeto de parámetro magnetómetro.

Fs = 100;
numSamples = 1000;
t = 0:1/Fs:(numSamples-1)/Fs;

imu = imuSensor('accel-mag','SampleRate', Fs, 'Magnetometer', params);

Genere datos del magnetómetro a partir del objeto imuSensor.

orient = quaternion.ones(numSamples, 1);
acc = zeros(numSamples, 3);
angvel = zeros(numSamples, 3);
 
[~, magData] = imu(acc, angvel, orient);

Trazar los datos del magnetómetro resultantes.

plot(t, magData)
title('Magnetometer')
xlabel('s')
ylabel('\mu T')

Figure contains an axes object. The axes object with title Magnetometer, xlabel s, ylabel mu blank T contains 3 objects of type line.

Capacidades ampliadas

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

Historial de versiones

Introducido en R2018b

Consulte también

| |