Main Content

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

magparams

Paramètres du capteur du magnétomètre

Description

La classe magparams crée un objet de paramètres de capteur magnétomètre. Vous pouvez utiliser cet objet pour modéliser un magnétomè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 magparams .

Création

Description

params = magarams renvoie un objet de paramètres de capteur de magnétomètre idéal avec des valeurs par défaut.

params = magparams(Name,Value) configure les propriétés de l'objet magparams en utilisant 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 μT, spécifiée comme un scalaire réel positif.

Types de données : single | double

Résolution des mesures du capteur en μT/LSB, spécifiée comme un scalaire réel non négatif. Ici, LSB est l'acronyme de bit le moins significatif.

Types de données : single | double

Biais de décalage constant du capteur en μT, spécifié comme un scalaire réel ou un vecteur ligne de réels à 3 éléments. Toute entrée scalaire est convertie en un vecteur ligne de réels à 3 éléments 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 μT/√Hz, spécifiée comme un scalaire réel ou un vecteur ligne de réels à 3 éléments. Toute entrée scalaire est convertie en un vecteur ligne de réels à 3 éléments 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 μT, spécifié comme un scalaire réel ou un vecteur ligne de réels à 3 éléments. Toute entrée scalaire est convertie en un vecteur ligne à 3 éléments de 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 (μT/√Hz), spécifié comme un scalaire réel ou un vecteur ligne à 3 éléments de réels. Toute entrée scalaire est convertie en un vecteur ligne à 3 éléments de réels 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 (μT/℃), spécifié comme un vecteur ligne scalaire de réels ou à 3 éléments. Toute entrée scalaire est convertie en un vecteur ligne à 3 éléments de réels 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 de réels avec des valeurs allant de 0 à 100. Toute entrée scalaire est convertie en un vecteur ligne à 3 éléments de réels 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 de magnétomètre pour un objet imuSensor à partir d'entrées fixes.

Générer un objet paramètre magnétomètre avec une lecture de capteur maximale de 1 200μTet une résolution de 0,1μT/LSB. Le biais de décalage constant est de 1μT. Le capteur a une densité spectrale de puissance de ([0.6 0.6 0.9]100) μT/Hz. Le biais dû à la température est [0,8 0,8 2,4]μT/0C. L'erreur du facteur d'échelle liée à la température est de 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);

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 magnétomètre.

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

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

Générez des données de magnétomètre à partir de l'objet imuSensor.

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

Tracez les données résultantes du magnétomètre.

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.

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