Main Content

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

altimeterSensor

Modèle de simulation d'altimètre

Description

Les modèles altimeterSensor System object™ reçoivent les données d'un capteur altimétrique.

Pour modéliser un altimètre :

  1. Créez l'objet altimeterSensor et définissez ses propriétés.

  2. Appelez l'objet avec des arguments, comme s'il s'agissait d'une fonction.

Pour en savoir plus sur le fonctionnement des objets système, voir What Are System Objects?

Création

Description

altimeter = altimeterSensor renvoie un altimeterSensor System object qui simule les lectures d'un altimètre.

altimeter = altimeterSensor('ReferenceFrame',RF) renvoie un altimeterSensor System object qui simule les lectures d'altimètre par rapport au référentiel RF. Spécifiez RF comme 'NED' (Nord-Est-Bas) ou 'ENU' (Est-Nord-Up). La valeur par défaut est 'NED'.

altimeter = altimeterSensor(___,Name,Value) définit chaque propriété Name sur le Value spécifié. Les propriétés non spécifiées ont des valeurs par défaut.

Propriétés

développer tout

Sauf indication contraire, les propriétés sont non réglables , ce qui signifie que vous ne pouvez pas modifier leurs valeurs après avoir appelé l'objet. Les objets se verrouillent lorsque vous les appelez et la fonction release les déverrouille.

Si une propriété est ajustable , vous pouvez modifier sa valeur à tout moment.

Pour plus d'informations sur la modification des valeurs des propriétés, voir System Design in MATLAB Using System Objects.

Taux de mise à jour du capteur en Hz, spécifié sous forme de scalaire positif.

Types de données : single | double

Biais de décalage constant en mètres, spécifié sous forme de scalaire.

Ajustable : Yes

Types de données : single | double

Densité spectrale de puissance du bruit du capteur en m/√Hz, spécifiée comme un scalaire non négatif.

Ajustable : Yes

Types de données : single | double

Instabilité du décalage de biais en mètres, spécifié comme un scalaire non négatif.

Ajustable : Yes

Types de données : single | double

Facteur de décroissance du bruit d'instabilité de polarisation, spécifié sous forme de scalaire dans la plage [0,1]. Un facteur de désintégration de 0 modélise le bruit d'instabilité de polarisation comme un processus de bruit blanc. Un facteur de désintégration de 1 modélise le bruit d'instabilité de biais comme un processus de marche aléatoire.

Ajustable : Yes

Types de données : single | double

Source de nombres aléatoires, spécifiée sous forme de vecteur de caractères ou de chaîne :

  • 'Global stream' –– Des nombres aléatoires sont générés à l’aide du flux de nombres aléatoires global actuel.

  • 'mt19937ar with seed' –– Des nombres aléatoires sont générés à l'aide de l'algorithme mt19937ar avec la graine spécifiée par la propriété Seed .

Types de données : char | string

Graine initiale d'un algorithme générateur de nombres aléatoires mt19937ar, spécifié comme un scalaire entier non négatif.

Dépendances

Pour activer cette propriété, définissez RandomStream sur 'mt19937ar with seed'.

Types de données : single | double

Utilisation

Description

exemple

altimeterReadings = altimeter(position) génère une lecture d'altitude du capteur altimétrique à partir de l'entrée position .

Arguments en entrée

développer tout

Position du capteur dans le système de coordonnées de navigation local, spécifié sous la forme d'une matrice N-par-3 avec des éléments mesurés en mètres. N est le nombre d’échantillons dans la trame actuelle.

Types de données : single | double

Arguments de sortie

développer tout

Altitude du capteur par rapport au système de coordonnées de navigation local en mètres, renvoyée sous la forme d'un vecteur colonne d'éléments N. N est le nombre d’échantillons dans la trame actuelle.

Types de données : single | double

Fonctions d'objet

Pour utiliser une fonction objet, spécifiez le System object comme premier argument d'entrée. Par exemple, pour libérer les ressources système d'un System object nommé obj, utilisez cette syntaxe :

release(obj)

développer tout

stepRun System object algorithm
releaseRelease resources and allow changes to System object property values and input characteristics
resetReset internal states of System object

Exemples

réduire tout

Créez un altimeterSensor System object™ pour modéliser la réception des données du capteur altimétrique. Supposons une fréquence d'échantillonnage typique d'un Hz et un temps de simulation de 10 minutes. Réglez ConstantBias sur 0.01, NoiseDensity sur 0.05, BiasInstability à 0.05, et DecayFactor à 0.5.

Fs = 1;
duration = 60*10;
numSamples = duration*Fs;


altimeter = altimeterSensor('SampleRate',Fs, ...
                            'ConstantBias',0.01, ...
                            'NoiseDensity',0.05, ...
                            'BiasInstability',0.05, ...
                            'DecayFactor',0.5);

truePosition = zeros(numSamples,3);

Appelez altimeter avec le truePosition spécifié pour modéliser les lectures d'altimètre bruyantes à partir d'une plate-forme stationnaire.

altimeterReadings = altimeter(truePosition);

Tracez la position réelle et les lectures du capteur altimétrique pour la hauteur.

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

plot(t,altimeterReadings)
hold on
plot(t,truePosition(:,3),'LineWidth',2)
hold off
title('Altimeter Readings')
xlabel('Time (s)')
ylabel('Height (m)')
legend('Altimeter Readings','Ground Truth')

Figure contains an axes object. The axes object with title Altimeter Readings, xlabel Time (s), ylabel Height (m) contains 2 objects of type line. These objects represent Altimeter Readings, Ground Truth.

Capacités étendues

Historique des versions

Introduit dans R2019a

Voir aussi

|