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.

accelparams

Parámetros del sensor del acelerómetro

Descripción

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

Creación

Descripción

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

ejemplo

params = accelparams(Name,Value) configura las propiedades del objeto de los parámetros del sensor del acelerómetro 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 m/s2, especificada como un escalar positivo real.

Tipos de datos: single | double

Resolución de las mediciones del sensor en (m/s2)/LSB, especificada como un escalar real no negativo. Aquí, LSB es el acrónimo de bit menos significativo. La resolución a menudo se denomina factor de escala para el acelerómetro.

Tipos de datos: single | double

Sesgo de compensación del sensor constante en m/s2, 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 (m/s2/√Hz), especificada como un escalar real o un vector fila de 3 elementos. Esta propiedad corresponde al paseo aleatorio de velocidad (VRW). 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 para el 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 m/s2, 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

Ruido blanco integrado del sensor en (m/s2)*(√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 (m/s2)/℃, 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 real 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 acelerómetro para un objeto imuSensor a partir de entradas estacionarias.

Genere un objeto de parámetro de acelerómetro con una lectura máxima del sensor de 19,6m/s2y una resolución de 0,598(mm/s2)/LSB. El sesgo de compensación constante es 0,49.m/s2. El sensor tiene una densidad espectral de potencia de 3920(μm/s2)/Hz. El sesgo de la temperatura es 0,294.(m/s2)/0C. El error del factor de escala debido a la temperatura es del 0,02 %./0C. Los ejes del sensor están desviados un 2%.

params = accelparams('MeasurementRange',19.6,'Resolution',0.598e-3,'ConstantBias',0.49,'NoiseDensity',3920e-6,'TemperatureBias',0.294,'TemperatureScaleFactor',0.02,'AxesMisalignment',2);

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

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

imu = imuSensor('SampleRate', Fs, 'Accelerometer', params);

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

orient = quaternion.ones(numSamples, 1);
acc = zeros(numSamples, 3);
angvel = zeros(numSamples, 3);
 
accelData = imu(acc, angvel, orient);

Trazar los datos resultantes del acelerómetro.

plot(t, accelData)
title('Accelerometer')
xlabel('s')
ylabel('m/s^2')

Figure contains an axes object. The axes object with title Accelerometer, xlabel s, ylabel m/s Squared baseline 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

| |