IMU
Bibliotecas:
Sensor Fusion and Tracking Toolbox /
Multisensor Positioning /
Sensor Models
Navigation Toolbox /
Multisensor Positioning /
Sensor Models
Descripción
El bloque IMU Simulink® modela en bloque que recibe datos de una unidad de medida inercial (IMU) compuesta por sensores de acelerómetro, giroscopio y magnetómetro. Puede especificar el marco de referencia de las entradas del bloque como el NED
(Noreste-Abajo) o ENU
(Este-Norte-Arriba) usando el marco Reference Frame parámetro.
Ejemplos
Fusión de sensores IMU con Simulink
Este ejemplo muestra cómo generar y fusionar datos del sensor IMU utilizando Simulink®. Puede modelar con precisión el comportamiento de un acelerómetro, un giroscopio y un magnetómetro y fusionar sus salidas para calcular la orientación.
Puertos
Entrada
Linear Acceleration — Aceleración de IMU en el sistema de coordenadas de navegación local (m/s2)
N-por-3 matriz de escalar real
Aceleración de la IMU en el sistema de coordenadas de navegación local, especificada como una matriz N-por-3 de escalares reales en metros por segundo al cuadrado. N es el número de muestras en el cuadro actual. No incluya la aceleración gravitacional en esta entrada ya que el sensor modela la aceleración gravitacional de forma predeterminada.
Para especificar la orientación del marco del cuerpo del sensor IMU con respecto al marco de navegación local, use el puerto de entrada Orientation .
Tipos de datos: single
| double
Angular Velocity — Velocidad angular de IMU en el sistema de coordenadas de navegación local (rad/s)
N-por-3 matriz de escalar real
Velocidad angular de la estructura del cuerpo del sensor IMU en el sistema de coordenadas de navegación local, especificada como una matriz N-por-3 de escalares en radianes por segundo. N es el número de muestras en el cuadro actual. Para especificar la orientación del marco del cuerpo del sensor IMU con respecto al marco de navegación local, use el puerto de entrada Orientation .
Tipos de datos: single
| double
Orientation — Orientación de IMU en el sistema de coordenadas de navegación local.
N-por-4 arreglo de escalar real | Matriz de rotación de 3 por 3 por N-elemento
Orientación del marco del cuerpo del sensor IMU con respecto al sistema de coordenadas de navegación local, especificada como una N-por-4 de arreglo reales o una matriz de 3 por-3-por- N matriz de rotación. Se supone que cada fila del arreglo N por 4 son los cuatro elementos de un quaternion
(Sensor Fusion and Tracking Toolbox). N es el número de muestras en el cuadro actual.
Tipos de datos: single
| double
Temperature — Temperatura de la IMU (℃)
N-por-1 vector de escalar real
Temperatura de IMU, especificada como un vector N por 1 de escalares reales en grados Celsius.
Dependencias
Para habilitar este puerto, en la pestaña Parameters , seleccione Specify temperature from input port.
Tipos de datos: single
| double
Magnetic Field — Vector de campo magnético en el sistema de coordenadas de navegación local (μT)
N-por-3 matriz de escalar real
Vector de campo magnético en el sistema de coordenadas de navegación local, especificado como una matriz N-por-3 de escalares en microteslas.
Dependencias
Para habilitar este puerto, en la pestaña Parameters , seleccione Specify magnetic field from input port.
Tipos de datos: single
| double
Salida
Accel — Medición del acelerómetro de IMU en el sistema de coordenadas del cuerpo del sensor (m/s2)
N-por-3 matriz de escalar real
Medición del acelerómetro de la IMU en el sistema de coordenadas del cuerpo del sensor, devuelta como una matriz N-por-3 de escalares reales en metros por segundo al cuadrado. N es el número de muestras en el cuadro actual.
Tipos de datos: single
| double
Gyro — Medición giroscópica de IMU en el sistema de coordenadas del cuerpo del sensor (rad/s)
N-por-3 matriz de escalar real
Medición del giroscopio de la IMU en el sistema de coordenadas del cuerpo del sensor, devuelta como una matriz N-por-3 de escalares reales en radianes por segundo. N es el número de muestras en el cuadro actual.
Tipos de datos: single
| double
Mag — Medición magnetométrica de IMU en el sistema de coordenadas del cuerpo del sensor (μT)
N-por-3 matriz de escalar real
Medición del magnetómetro de la IMU en el sistema de coordenadas del cuerpo del sensor, devuelta como una matriz N-por-3 de escalares reales en microtesla. N es el número de muestras en el cuadro actual.
Tipos de datos: single
| double
Parámetros
— Marco de referencia de navegación
NED
(predeterminado) | ENU
Marco de referencia de navegación, especificado como NED
(Noreste-Abajo) o ENU
(Este-Norte-Arriba).
Nota
Si elige el marco de referencia NED, especifique las entradas del sensor en el marco de referencia NED. Además, el sensor modela la aceleración gravitacional como [0 0 9,81] m/s2.
Si elige el marco de referencia ENU, especifique las entradas del sensor en el marco de referencia ENU. Además, el sensor modela la aceleración gravitacional como [0 0 −9.81] m/s2.
— Especificar la temperatura desde el puerto de entrada
desactivar (predeterminado) | activar
Seleccione esta casilla de verificación para habilitar la entrada de temperatura utilizando el puerto de entrada Temperature .
— Temperatura de funcionamiento de la IMU (o C)
25
(predeterminado) | escalar real
Temperatura de funcionamiento de la IMU en grados Celsius, especificada como escalar real.
Cuando el bloque calcula los factores de escala de temperatura y los ruidos de deriva ambiental, se utiliza 25 o C como temperatura nominal.
Dependencias
Para habilitar este parámetro, deseleccione Specify temperature from input port.
Tipos de datos: single
| double
— Especificar el campo magnético desde el puerto de entrada
desactivar (predeterminado) | activar
Seleccione esta casilla de verificación para habilitar la entrada de campo magnético utilizando el puerto de entrada Magnetic field .
— Vector de campo magnético expresado en marco de navegación NED (μT)
[27.5550, -2.4169, -16.0849]
(predeterminado) | Vector de escalar 1 por 3
Vector de campo magnético expresado en el marco de navegación NED, especificado como un vector de escalares de 1 por 3.
El campo magnético predeterminado corresponde al campo magnético en la latitud cero, longitud cero y altitud cero.
Dependencias
Para habilitar este parámetro, establezca Reference frame en NED
y anule la selección de Specify magnetic field from input port.
Tipos de datos: single
| double
— Vector de campo magnético expresado en marco de navegación ENU (μT)
[-2.4169, 27.5550, 16.0849]
(predeterminado) | Vector de escalar 1 por 3
Vector de campo magnético expresado en el marco de navegación ENU, especificado como un vector de escalares de 1 por 3.
El campo magnético predeterminado corresponde al campo magnético en la latitud cero, longitud cero y altitud cero.
Dependencias
Para habilitar este parámetro, establezca Reference frame en ENU
y anule la selección de Specify magnetic field from input port.
Tipos de datos: single
| double
— Semilla inicial para aleatorización
67
(predeterminado) | entero no negativo
Semilla inicial de un algoritmo generador de números aleatorios, especificada como un número entero no negativo.
Tipos de datos: single
| double
Simular con — Tipo de simulación a ejecutar
Interpreted Execution
(predeterminado) | Code Generation
Interpreted execution
: simule el modelo utilizando el intérprete MATLAB® . Esta opción acorta el tiempo de inicio. En el modoInterpreted execution
, puede depurar el código fuente del bloque.Code generation
: simula el modelo utilizando el código C generado. La primera vez que ejecuta una simulación, Simulink genera código C para el bloque. El código C se reutiliza para simulaciones posteriores si el modelo no cambia. Esta opción requiere tiempo de inicio adicional.
— Lectura máxima del sensor (m/s2)
inf
(predeterminado) | escalar positivo real
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 ((m/s2)/LSB)
0
(predeterminado) | escalar real no negativo
Resolución de las mediciones del sensor en (m/s2)/LSB, especificada como un escalar real no negativo.
Tipos de datos: single
| double
— Polarización de compensación del sensor constante (m/s2)
[0 0 0]
(predeterminado) | escalar real | vector fila real de 3 elementos
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
— Desviación de los ejes del sensor (%)
diag([100 100 100])
(predeterminado) | escalar | vector fila de 3 elementos | Matriz de 3 por 3
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 :
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
— Caminata aleatoria de velocidad (m/s2/√Hz)
[0 0 0]
(predeterminado) | escalar real | vector fila real de 3 elementos
Paseo aleatorio de velocidad (m/s2/√Hz), especificado como un escalar real o un vector fila de 3 elementos. Esta propiedad corresponde a la densidad espectral de potencia del ruido del sensor. 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
— Inestabilidad del offset de polarización (m/s2)
[0 0 0]
(predeterminado) | escalar real | vector fila real de 3 elementos
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
— Coeficientes del numerador del filtro de inestabilidad de sesgo
fractalcoef.Numerator
(predeterminado) | vector fila de valor real
Coeficientes numeradores del filtro de inestabilidad de sesgo, especificados como un vector fila de valor real. Para especificar coeficientes de ruido fractal, utilice la función fractalcoef
(Sensor Fusion and Tracking Toolbox) .
Tipos de datos: single
| double
— Coeficientes del denominador del filtro de inestabilidad de sesgo
fractalcoef.Denominator
(predeterminado) | vector fila de valor real
Coeficientes del denominador del filtro de inestabilidad de sesgo, especificados como un vector fila de valor real. Para especificar coeficientes de ruido fractal, utilice la función fractalcoef
(Sensor Fusion and Tracking Toolbox) .
Tipos de datos: single
| double
— Aceleración caminata aleatoria ((m/s2)(√Hz))
[0 0 0]
(predeterminado) | escalar real | vector fila real de 3 elementos
Paseo aleatorio de aceleración 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
double-sided
(predeterminado) | single-sided
Seleccione el tipo de ruido aleatorio 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: single
| double
— Polarización del sensor por temperatura ((m/s2)/℃)
[0 0 0]
(predeterminado) | escalar real | vector fila real de 3 elementos
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 (%/℃)
[0 0 0]
(predeterminado) | escalar real en el rango [0,100] | vector fila real de 3 elementos en el rango [0,100]
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
— Lectura máxima del sensor (rad/s)
inf
(predeterminado) | escalar positivo real
Lectura máxima del sensor en rad/s, especificada como un escalar positivo real.
Tipos de datos: single
| double
— Resolución de las mediciones del sensor ((rad/s)/LSB)
0
(predeterminado) | escalar real no negativo
Resolución de las mediciones del sensor en (rad/s)/LSB, especificada como un escalar real no negativo.
Tipos de datos: single
| double
— Polarización de compensación del sensor constante (rad/s)
[0 0 0]
(predeterminado) | escalar real | vector fila real de 3 elementos
Sesgo de compensación del sensor constante en rad/s, 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
— Desvío de los ejes del sensor (%)
diag([100 100 100])
(predeterminado) | escalar | vector fila de 3 elementos | Matriz de 3 por 3
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 :
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
— Polarización del sensor por aceleración lineal (rad/s)/(m/s2)
[0 0 0]
(predeterminado) | escalar real | vector fila real de 3 elementos
Sesgo del sensor por aceleración lineal en (rad/s)/(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
— Ángulo de caminata aleatoria ((rad/s)/(√Hz))
[0 0 0]
(predeterminado) | escalar real | vector fila real de 3 elementos
Recorrido aleatorio del ángulo del sensor en (rad/s)/(√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
— Inestabilidad del desplazamiento del sesgo (rad/s)
[0 0 0]
(predeterminado) | escalar real | vector fila real de 3 elementos
Inestabilidad del desplazamiento de polarización en rad/s, 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 del numerador del filtro de inestabilidad de sesgo
fractalcoef.Numerator
(predeterminado) | vector fila de valor real
Coeficientes numeradores del filtro de inestabilidad de sesgo, especificados como un vector fila de valor real. Para especificar coeficientes de ruido fractal, utilice la función fractalcoef
(Sensor Fusion and Tracking Toolbox) .
Tipos de datos: single
| double
— Coeficientes del denominador del filtro de inestabilidad de sesgo
fractalcoef.Denominator
(predeterminado) | vector fila de valor real
Coeficientes del denominador del filtro de inestabilidad de sesgo, especificados como un vector fila de valor real. Para especificar coeficientes de ruido fractal, utilice la función fractalcoef
(Sensor Fusion and Tracking Toolbox) .
Tipos de datos: single
| double
— Tipo de ruido aleatorio
double-sided
(predeterminado) | single-sided
Seleccione el tipo de ruido aleatorio 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: single
| double
— Ruido blanco integrado del sensor ((rad/s)(√Hz))
[0 0 0]
(predeterminado) | escalar real | vector fila real de 3 elementos
Ruido blanco integrado del sensor en (rad/s)(√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
— Polarización del sensor por temperatura ((rad/s)/℃)
[0 0 0]
(predeterminado) | escalar real | vector fila real de 3 elementos
Polarización del sensor a partir de la temperatura en (rad/s)/℃, 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 (%/℃)
[0 0 0]
(predeterminado) | escalar real en el rango [0,100] | vector fila real de 3 elementos en el rango [0,100]
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
— Lectura máxima del sensor (μT)
inf
(predeterminado) | escalar positivo real
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 ((μT)/LSB)
0
(predeterminado) | escalar real no negativo
Resolución de las mediciones del sensor en (μT)/LSB, especificada como un escalar real no negativo.
Tipos de datos: single
| double
— Polarización de compensación del sensor constante (μT)
[0 0 0]
(predeterminado) | escalar real | vector fila real de 3 elementos
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
— Desvío de los ejes del sensor (%)
diag([100 100 100])
(predeterminado) | escalar | vector fila de 3 elementos | Matriz de 3 por 3
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 :
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.
— Densidad espectral de potencia del ruido del sensor (μT/√Hz)
[0 0 0]
(predeterminado) | escalar real | vector fila real de 3 elementos
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
— Inestabilidad del offset de polarización (μT)
[0 0 0]
(predeterminado) | escalar real | vector fila real de 3 elementos
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
— Coeficientes del numerador del filtro de inestabilidad de sesgo
fractalcoef.Numerator
(predeterminado) | vector fila de valor real
Coeficientes numeradores del filtro de inestabilidad de sesgo, especificados como un vector fila de valor real. Para especificar coeficientes para el ruido fractal, utilice la función fractalcoef
(Sensor Fusion and Tracking Toolbox) .
Tipos de datos: single
| double
— Coeficientes del denominador del filtro de inestabilidad de sesgo
fractalcoef.Denominator
(predeterminado) | vector fila de valor real
Coeficientes del denominador del filtro de inestabilidad de sesgo, especificados como un vector fila de valor real. Para especificar coeficientes para el ruido fractal, utilice la función fractalcoef
(Sensor Fusion and Tracking Toolbox) .
Tipos de datos: single
| double
— Tipo de ruido aleatorio
double-sided
(predeterminado) | single-sided
Seleccione el tipo de ruido aleatorio 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: single
| double
— Ruido blanco integrado del sensor ((μT)*√Hz)
[0 0 0]
(predeterminado) | escalar real | vector fila real de 3 elementos
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
— Polarización del sensor por temperatura (μT/℃)
[0 0 0]
(predeterminado) | escalar real | vector fila real de 3 elementos
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 (%/℃)
[0 0 0]
(predeterminado) | escalar real en el rango [0,100] | vector fila real de 3 elementos en el rango [0,100]
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
Algoritmos
Acelerómetro
La siguiente descripción del algoritmo supone un marco de navegación NED. El modelo de acelerómetro utiliza las entradas de aceleración y orientación de ground-truth y las propiedades imuSensor
y accelparams
para modelar las lecturas del acelerómetro.
Para obtener la aceleración total (totalAcc), la aceleración se preprocesa negando y sumando el vector constante de gravedad (g= [0; 0; 9.8] m/sTG suponiendo un marco NED) como:
El término acceleration
se niega para obtener lecturas de aceleración total cero cuando el acelerómetro está en posición libre. caer. El término acceleration
también se conoce como fuerza específica.
Luego, la aceleración total se convierte del marco de navegación local al marco del sensor usando:
Si la orientación se ingresa en forma de cuaternión, se convierte en una matriz de rotación antes del procesamiento.
La aceleración real en el marco del sensor, a, pasa a través del modelo masivo, que agrega desalineación y sesgo de los ejes:
donde ConstantBias es una propiedad de accelparams
y α 1, α 2 y α 3 están dados por el primer, segundo y tercer elemento de la propiedad AxesMisalignment de accelparams
.
La deriva de inestabilidad de sesgo β 1 se modela como ruido blanco sesgado y luego se filtra:
donde k es el índice de paso de tiempo discreto, BiasInstability es una propiedad de accelparams
, w es Ruido blanco que sigue una distribución normal de media 0 y varianza de 1. El tamaño del paso de tiempo discreto es el recíproco de la propiedad SampleRate . [g 1 , g 2 , …, g n+1 ] son los coeficientes del denominador especificado en la propiedad BiasInstabilityCoefficients
del objeto accelparams
. [g 1 , g 2 , …, g m+1 ] son los coeficientes del numerador de la propiedad BiasInstabilityCoefficients
. n y m son los órdenes de los coeficientes del denominador y numerador, respectivamente.
La deriva del ruido blanco se modela multiplicando elementos del flujo aleatorio de ruido blanco por la desviación estándar:
donde w es el ruido blanco que sigue una distribución normal de media 0 y varianza de 1, SampleRate es una propiedad imuSensor
y NoiseDensity es una propiedad accelparams
. La variable de escala s = 2 si la propiedad NoiseType
del objeto accelparams
es de doble cara y s = 1 si la propiedad NoiseType
es unilateral.
La deriva del paseo aleatorio se modela polarizando elementos del flujo aleatorio de ruido blanco y luego filtrando:
donde k es el índice de paso de tiempo discreto, RandomWalk es una propiedad de accelparams
, SampleRate es una propiedad de imuSensor
, w es ruido blanco que sigue una distribución normal de media 0 y varianza de 1. El tamaño del paso de tiempo discreto es el recíproco de la propiedad SampleRate . La variable de escala s = 2 si la propiedad NoiseType
del objeto accelparams
es de doble cara y s = 1 si la propiedad NoiseType
es unilateral.
El ruido de deriva ambiental se modela multiplicando la diferencia de temperatura de un estándar con el sesgo de temperatura:
donde Temperature es una propiedad de imuSensor
, y TemperatureBias es una propiedad de accelparams
. La constante 25 corresponde a una temperatura estándar.
El error del factor de escala de temperatura se modela como:
donde Temperature es una propiedad de imuSensor
y TemperatureScaleFactor es una propiedad de accelparams
. La constante 25 corresponde a una temperatura estándar.
La cuantización se modela saturando primero el modelo de señal continua:
y luego estableciendo la resolución:
donde MeasurementRange es una propiedad de accelparams
.
Giroscopio
La siguiente descripción del algoritmo supone un marco de navegación NED. El modelo de giroscopio utiliza las entradas de orientación, aceleración y velocidad angular reales, y las propiedades imuSensor
y gyroparams
para modelar las lecturas del acelerómetro.
La velocidad angular ground-truth se convierte del marco local al marco del sensor utilizando la orientación ground-truth:
Si la orientación se ingresa en forma de cuaternión, se convierte en una matriz de rotación antes del procesamiento.
La velocidad angular real en el terreno en el marco del sensor, a, pasa a través del modelo masivo, que agrega desalineación y sesgo de los ejes:
donde ConstantBias es una propiedad de gyroparams
y α 1, α 2 y α 3 están dados por el primer, segundo y tercer elemento de la propiedad AxesMisalignment de gyroparams
.
La deriva de inestabilidad de sesgo β 1 se modela como ruido blanco sesgado y luego se filtra:
donde k es el índice de paso de tiempo discreto, BiasInstability es una propiedad de gyroparams
, w es Ruido blanco que sigue una distribución normal de media 0 y varianza de 1. El tamaño del paso de tiempo discreto es el recíproco de la propiedad SampleRate . [g 1 , g 2 , …, g n+1 ] son los coeficientes del denominador especificado en la propiedad BiasInstabilityCoefficients
del objeto gyroparams
. [g 1 , g 2 , …, g m+1 ] son los coeficientes del numerador de la propiedad BiasInstabilityCoefficients
. n y m son los órdenes de los coeficientes del denominador y numerador, respectivamente.
La deriva del ruido blanco se modela multiplicando elementos del flujo aleatorio de ruido blanco por la desviación estándar:
donde w es el ruido blanco que sigue una distribución normal de media 0 y varianza de 1, SampleRate es una propiedad imuSensor
y NoiseDensity es una propiedad gyroparams
. La variable de escala s = 2 si la propiedad NoiseType
del objeto gyroparams
es de doble cara y s = 1 si la propiedad NoiseType
es unilateral.
La deriva del paseo aleatorio se modela polarizando elementos del flujo aleatorio de ruido blanco y luego filtrando:
donde k es el índice de paso de tiempo discreto, RandomWalk es una propiedad de gyroparams
, SampleRate es una propiedad de imuSensor
y w es ruido blanco que sigue una distribución normal de media 0 y varianza de 1. El tamaño del paso de tiempo discreto es el recíproco de la propiedad SampleRate . La variable de escala s = 2 si la propiedad NoiseType
del objeto gyroparams
es de doble cara y s = 1 si la propiedad NoiseType
es unilateral.
El ruido de deriva ambiental se modela multiplicando la diferencia de temperatura de un estándar con el sesgo de temperatura:
donde Temperature es una propiedad de imuSensor
, y TemperatureBias es una propiedad de gyroparams
. La constante 25 corresponde a una temperatura estándar.
La deriva del sesgo de aceleración se modela multiplicando la entrada de aceleración y el sesgo de aceleración:
donde AccelerationBias es una propiedad de gyroparams
.
El error del factor de escala de temperatura se modela como:
donde Temperature es una propiedad de imuSensor
y TemperatureScaleFactor es una propiedad de gyroparams
. La constante 25 corresponde a una temperatura estándar.
La cuantización se modela saturando primero el modelo de señal continua:
y luego estableciendo la resolución:
donde MeasurementRange es una propiedad de gyroparams
.
Magnetómetro
La siguiente descripción del algoritmo supone un marco de navegación NED. El modelo del magnetómetro utiliza las entradas de aceleración y orientación de ground-truth, y las propiedades imuSensor
y magparams
para modelar las lecturas del magnetómetro.
La aceleración ground-truth se convierte del marco local al marco del sensor utilizando la orientación ground-truth:
Si la orientación se ingresa en forma de cuaternión, se convierte en una matriz de rotación antes del procesamiento.
La aceleración real en el marco del sensor, a, pasa a través del modelo masivo, que agrega desalineación y sesgo de los ejes:
donde ConstantBias es una propiedad de magparams
y α 1, α 2 y α 3 están dados por el primer, segundo y tercer elemento de la propiedad AxesMisalignment de magparams
.
La deriva de inestabilidad de sesgo β 1 modelada como ruido blanco sesgado y luego filtrado:
donde k es el índice de paso de tiempo discreto, BiasInstability es una propiedad de magparams
, w es Ruido blanco que sigue una distribución normal de media 0 y varianza de 1. El tamaño del paso de tiempo discreto es el recíproco de la propiedad SampleRate . [g 1 , g 2 , …, g n+1 ] son los coeficientes del denominador especificado en la propiedad BiasInstabilityCoefficients
del objeto magparams
. [g 1 , g 2 , …, g m+1 ] son los coeficientes del numerador de la propiedad BiasInstabilityCoefficients
. n y m son los órdenes de los coeficientes del denominador y numerador, respectivamente.
La deriva del ruido blanco se modela multiplicando elementos del flujo aleatorio de ruido blanco por la desviación estándar:
donde w es el ruido blanco que sigue una distribución normal de media 0 y varianza de 1, SampleRate es una propiedad imuSensor
y NoiseDensity es una propiedad magparams
. La variable de escala s = 2 si la propiedad NoiseType
del objeto magparams
es de doble cara y s = 1 si la propiedad NoiseType
es unilateral.
La deriva del paseo aleatorio se modela polarizando elementos del flujo aleatorio de ruido blanco y luego filtrando:
donde k es el índice de paso de tiempo discreto, RandomWalk es una propiedad de magparams
, SampleRate es una propiedad de imuSensor
, w es ruido blanco que sigue una distribución normal de media 0 y varianza de 1. El tamaño del paso de tiempo discreto es el recíproco de la propiedad SampleRate . La variable de escala s = 2 si la propiedad NoiseType
del objeto magparams
es de doble cara y s = 1 si la propiedad NoiseType
es unilateral.
El ruido de deriva ambiental se modela multiplicando la diferencia de temperatura de un estándar con el sesgo de temperatura:
donde Temperature es una propiedad de imuSensor
, y TemperatureBias es una propiedad de magparams
. La constante 25 corresponde a una temperatura estándar.
El error del factor de escala de temperatura se modela como:
donde Temperature es una propiedad de imuSensor
y TemperatureScaleFactor es una propiedad de magparams
. La constante 25 corresponde a una temperatura estándar.
La cuantización se modela saturando primero el modelo de señal continua:
y luego estableciendo la resolución:
donde MeasurementRange es una propiedad de magparams
.
Capacidades ampliadas
Generación de código C/C++
Genere código C y C++ mediante Simulink® Coder™.
Historial de versiones
Introducido en R2020a
Consulte también
Clases
Objetos
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)