Contenu principal

Saturation Dynamic

Limiter le signal d’entrée aux valeurs dynamiques supérieure et inférieure de saturation

  • Saturation Dynamic block

Bibliothèques :
Simulink / Discontinuities
HDL Coder / Discontinuities

Description

Le bloc Saturation Dynamic produit un signal de sortie qui correspond à la valeur du signal d’entrée limité aux valeurs de saturation des ports d’entrée up et lo.

EntréeSortie(s)
lo ≤ valeur d’entrée ≤ upValeur d’entrée
Valeur d’entrée < loLimite inférieure
Valeur d’entrée > upLimite supérieure

Ports

Entrée(s)

développer tout

Signal d’entrée de l’algorithme de limitation de saturation.

Types de données : double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Valeur dynamique indiquant la limite supérieure de saturation. Lorsque l’entrée est supérieure à up, la valeur de sortie est limitée à up.

Types de données : double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Valeur dynamique indiquant la limite inférieure de saturation. Lorsque l’entrée est inférieure à lo, la valeur de sortie est limitée à lo.

Types de données : double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Sortie(s)

développer tout

Signal de sortie qui est la valeur du signal d’entrée, la limite supérieure de saturation ou la limite inférieure de saturation.

Types de données : double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Paramètres

développer tout

Pour modifier les paramètres du bloc Saturation Dynamic, double-cliquez sur l’icône du bloc.

Data Type Assistant vous aide à définir les attributs de données. Pour utiliser Data Type Assistant, cliquez sur the Show data type assistant button. Pour plus d’informations, consultez Specify Data Types Using Data Type Assistant.

Valeur inférieure de la plage de sortie vérifiée par le logiciel.

Le logiciel utilise la valeur minimale pour effectuer les opérations suivantes :

Conseils

La valeur Output minimum ne sature pas et ne coupe pas le signal de sortie réel. Utilisez le bloc Saturation à la place.

Utilisation programmatique

Pour définir la valeur du paramètre du bloc de manière programmatique, utilisez la fonction set_param.

Paramètre : OutMin
Valeurs : '[]' (par défaut) | scalar in quotes

Valeur supérieure de la plage de sortie vérifiée par le logiciel.

Le logiciel utilise la valeur maximale pour effectuer les opérations suivantes :

Conseils

La valeur Output maximum ne sature pas et ne coupe pas le signal de sortie réel. Utilisez le bloc Saturation à la place.

Utilisation programmatique

Pour définir la valeur du paramètre du bloc de manière programmatique, utilisez la fonction set_param.

Paramètre : OutMax
Valeurs : '[]' (par défaut) | scalar in quotes

Spécifiez le type de données de la sortie. Le type peut être hérité, spécifié directement ou exprimé comme un objet de type de données tel qu’un objet Simulink.NumericType. Pour plus d’informations, consultez Control Data Types of Signals.

Utilisation programmatique

Paramètre de bloc : OutDataTypeStr
Type : vecteur de caractères
Valeurs : 'Inherit: Same as second input' | 'Inherit: Inherit via back propagation' | 'double' | 'single' | 'int8' | 'uint8' | int16 | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | fixdt(1,16) | fixdt(1,16,0) | fixdt(1,16,2^0,0) | '<data type expression>'
Par défaut : 'Inherit: Same as input'

Sélectionnez ce paramètre pour empêcher les outils à virgule fixe de remplacer le type de données Output que vous spécifiez sur le bloc. Pour plus d’informations, consultez Use Lock Output Data Type Setting (Fixed-Point Designer).

Utilisation programmatique

Pour définir la valeur du paramètre du bloc de manière programmatique, utilisez la fonction set_param.

Paramètre : LockScale
Valeurs : 'off' (par défaut) | 'on'

Choisissez l’un des modes d’arrondi ci-après.

Ceiling

Arrondit les nombres positifs et négatifs à l’infini positif. Équivalent de la fonction ceil de MATLAB®.

Convergent

Arrondit le nombre à la valeur représentable la plus proche. En cas d’égalité, arrondit à l’entier pair le plus proche. Équivalent de la fonction convergent de Fixed-Point Designer™.

Floor

Arrondit les nombres positifs et négatifs à l’infini négatif. Équivalent de la fonction floor de MATLAB.

Nearest

Arrondit le nombre à la valeur représentable la plus proche. En cas d’égalité, arrondit à l’infini positif. Équivalent de la fonction nearest de Fixed-Point Designer.

Round

Arrondit le nombre à la valeur représentable la plus proche. En cas d’égalité, arrondit les nombres positifs à l’infini positif et arrondit les nombres négatifs à l’infini négatif. Équivalent de la fonction round de Fixed-Point Designer.

Simplest

Choisit automatiquement entre l’arrondi à l’entier inférieur ou égal le plus proche et l’arrondi à zéro afin de générer un code d’arrondi aussi efficace que possible.

Zero

Arrondit le nombre à zéro. Équivalent de la fonction fix de MATLAB.

Utilisation programmatique

Paramètre de bloc : RndMeth
Type : vecteur de caractères
Valeurs : 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'
Par défaut : 'Floor'

Voir aussi

Pour plus d’informations, consultez Rounding Modes (Fixed-Point Designer).

Indiquez si les overflows provoquent une saturation ou un wrap.

  • on : les overflows saturent jusqu’à la valeur minimale ou maximale que le type de données peut représenter.

  • off : les overflows réintègrent jusqu’à la valeur appropriée que le type de données peut représenter.

Par exemple, la valeur maximale que l’entier signé de 8 bits int8 peut représenter est 127. Tout résultat d’opération de bloc supérieur à cette valeur maximale provoque un overflow de l’entier de 8 bits.

  • Lorsque ce paramètre est sélectionné, la sortie du bloc sature à 127. De même, la sortie du bloc sature à une valeur de sortie minimale de -128.

  • Lorsque ce paramètre est désactivé, le logiciel interprète la valeur à l’origine de l’overflow comme un entier int8, ce qui peut produire un résultat inattendu. Par exemple, un résultat de bloc de 130 (binaire 1000 0010) exprimé comme int8 est -126.

Conseils

  • Envisagez de sélectionner ce paramètre lorsque votre modèle présente un risque d’overflow et que vous souhaitez profiter d’une protection explicite contre la saturation dans le code généré.

  • Envisagez d’effacer ce paramètre si vous souhaitez optimiser l’efficacité de votre code généré. Effacer ce paramètre vous aide également à éviter de spécifier de manière trop détaillée la façon dont un bloc doit gérer les signaux hors de portée. Pour plus d’informations, consultez Troubleshoot Signal Range Errors.

  • Lorsque vous sélectionnez ce paramètre, la saturation s’applique à chaque opération interne sur le bloc et pas seulement à la sortie ou au résultat.

  • En général, le processus de génération de code peut détecter les circonstances dans lesquelles l’overflow n’est pas possible. Lorsque l’overflow n’est pas possible, le générateur de code ne produit pas de code de saturation.

Utilisation programmatique

Paramètre de bloc : DoSatur
Type : vecteur de caractères
Valeurs : 'off' | 'on'
Par défaut : 'off'

Caractéristiques des blocs

Types de données

Booleana | double | fixed point | integer | single

Traversée directe

non

Signaux multidimensionnels

non

Signaux de taille variable

non

Détection des passages à zéro

non

a L'utilisation de ce bloc n'est pas recommandée avec les signaux booléens.

Capacités étendues

développer tout

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

Génération de code PLC
Générez du texte structuré avec Simulink® PLC Coder™.

Conversion en virgule fixe
Concevez et simulez des systèmes en virgule fixe avec Fixed-Point Designer™.

Historique des versions

Introduit avant R2006a

Voir aussi