Main Content

Cette page a été traduite par traduction automatique. Cliquez ici pour voir la dernière version en anglais.

accelparams

Paramètres du capteur accéléromètre

Description

La classe accelparams crée un objet de paramètres de capteur d'accéléromètre. Vous pouvez utiliser cet objet pour modéliser un accéléromètre lors de la simulation d'une IMU avec imuSensor. Voir la section Algorithms de imuSensor pour plus de détails sur la modélisation accelparams .

Création

Description

params = accelparams renvoie un objet de paramètres de capteur d'accéléromètre idéal avec des valeurs par défaut.

exemple

params = accelparams(Name,Value) configure les propriétés de l'objet des paramètres du capteur d'accéléromètre à l'aide d'un ou plusieurs arguments de paire Name-Value . Name est un nom de propriété et Value est la valeur correspondante. Name doit apparaître entre guillemets simples (''). Vous pouvez spécifier plusieurs arguments de paire nom-valeur dans n'importe quel ordre comme (Name1,Value1,...,NameN,ValueN). Toutes les propriétés non spécifiées prennent des valeurs par défaut.

Propriétés

développer tout

Lecture maximale du capteur en m/s2, spécifiée comme un scalaire positif réel.

Types de données : single | double

Résolution des mesures du capteur en (m/s2)/LSB, spécifié comme un scalaire réel non négatif. Ici, LSB est l'acronyme de bit le moins significatif. La résolution est souvent appelée facteur d'échelle pour l'accéléromètre.

Types de données : single | double

Biais de décalage constant du capteur en m/s2, spécifié comme un scalaire réel ou un vecteur ligne à 3 éléments. Toute entrée scalaire est convertie en un vecteur ligne à 3 éléments scalaire réel où chaque élément a la valeur scalaire d'entrée.

Types de données : single | double

Les axes du capteur sont inclinés en pourcentage, spécifié sous forme de scalaire, de vecteur ligne à 3 éléments ou de matrice 3 x 3. Les éléments diagonaux de la matrice tiennent compte des effets de désalignement pour chaque axe. Les éléments hors diagonale représentent les effets de désalignement des axes transversaux. L'état mesuré v measure est obtenu à partir de l'état réel v true via la matrice de désalignement comme :

vmeasure=1100Mvtrue=1100[m11m12m13m21m22m23m31m32m33]vtrue

  • Si vous spécifiez la propriété comme scalaire, alors tous les éléments hors diagonale de la matrice prennent la valeur du scalaire spécifié et tous les éléments diagonaux sont 100.

  • Si vous spécifiez la propriété comme vecteur [a b c], alors m 21 = m 31 = a, m 12 = m 32 = b, et m 13 = m 23 = c. Tous les éléments diagonaux valent 100.

Types de données : single | double

Densité spectrale de puissance du bruit du capteur en (m/s2/√Hz), spécifiée comme un scalaire réel ou un vecteur ligne à 3 éléments. Cette propriété correspond à la marche aléatoire en vitesse (VRW). Toute entrée scalaire est convertie en un vecteur ligne à 3 éléments réel où chaque élément a la valeur scalaire d'entrée.

Types de données : single | double

Coefficients de filtre pour la génération de bruit d'instabilité de polarisation, spécifiés sous forme de structure. La structure comporte ces champs :

  • Numerator — Coefficients du numérateur, spécifiés sous forme de vecteur à valeur réelle.

  • Denominator — Coefficients du dénominateur, spécifiés sous forme de vecteur à valeur réelle.

Pour spécifier les coefficients du bruit fractal, utilisez la fonction fractalcoef (Sensor Fusion and Tracking Toolbox) .

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

Types de données : struct

Instabilité du décalage de biais en m/s2, spécifié comme un vecteur ligne scalaire réel ou à 3 éléments. Toute entrée scalaire est convertie en un vecteur ligne à 3 éléments réel où chaque élément a la valeur scalaire d'entrée.

Types de données : single | double

Bruit blanc intégré du capteur en (m/s2)*(√Hz), spécifié comme un scalaire réel ou un vecteur ligne à 3 éléments réel. Toute entrée scalaire est convertie en un vecteur ligne à 3 éléments réel où chaque élément a la valeur scalaire d'entrée.

Types de données : single | double

Type de bruit aléatoire, spécifié comme :

  • "double-sided" — Les coefficients de bruit aléatoire ont un facteur d'échelle de 2.

  • "single-sided" — Les coefficients de bruit aléatoire ont un facteur d'échelle de 1.

Types de données : char | string

Biais du capteur à partir de la température en (m/s2)/℃, spécifié comme un scalaire réel ou un vecteur ligne à 3 éléments réel. Toute entrée scalaire est convertie en un vecteur ligne à 3 éléments réel où chaque élément a la valeur scalaire d'entrée.

Types de données : single | double

Erreur de facteur d'échelle par rapport à la température en %/℃, spécifiée comme un scalaire réel ou un vecteur ligne à 3 éléments réel avec des valeurs allant de 0 à 100. Toute entrée scalaire est convertie en un vecteur ligne à 3 éléments réel où chaque élément a la valeur scalaire d'entrée.

Types de données : single | double

Exemples

réduire tout

Générez des données d'accéléromètre pour un objet imuSensor à partir d'entrées fixes.

Générer un objet paramètre d'accéléromètre avec une lecture de capteur maximale de 19,6m/s2et une résolution de 0,598(mm/s2)/LSB. Le biais de décalage constant est de 0,49m/s2. Le capteur a une densité spectrale de puissance de 3920(μm/s2)/Hz. Le biais dû à la température est de 0,294(m/s2)/0C. L'erreur du facteur d'échelle liée à la température est de 0,02 %/0C. Les axes des capteurs sont décalés de 2 %.

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

Utilisez une fréquence d'échantillonnage de 100 Hz espacée de 1 000 échantillons. Créez l'objet imuSensor à l'aide de l'objet paramètre accéléromètre.

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

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

Générez des données d'accéléromètre à partir de l'objet imuSensor.

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

Tracez les données résultantes de l'accéléromètre.

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.

Capacités étendues

Génération de code C/C++
Générez du code C et C++ avec MATLAB® Coder™.

Historique des versions

Introduit dans R2018b