Saturation
Limiter le signal d’entrée aux valeurs de saturation supérieure et inférieure
Bibliothèques :
Simulink /
Commonly Used Blocks
Simulink /
Discontinuities
HDL Coder /
Discontinuities
Description
Le bloc Saturation produit un signal de sortie qui correspond à la valeur du signal d’entrée limité aux valeurs de saturation supérieure et inférieure. Les limites supérieure et inférieure sont spécifiées par les paramètres Upper limit et Lower limit.
| Entrée(s) | Sortie(s) |
|---|---|
| Limite inférieure ≤ valeur d’entrée ≤ limite supérieure | Valeur d’entrée |
| Valeur d’entrée < limite inférieure | Limite inférieure |
| Valeur d’entrée > limite supérieure | Limite supérieure |
Exemples
Cet exemple montre comment les blocs Quantizer et Saturation sont utilisés dans le modèle ex_sldemo_boiler. Le sous-système ADC numérise la tension analogique d’entrée en :
Multipliant la tension analogique par 256/5 avec le bloc Gain
Arrondissant la valeur à l’entier inférieur avec le bloc Quantizer
Limitant la sortie à un maximum de 255 (la plus grande valeur entière sur 8 bits non signée) avec le bloc Saturation

Exemples étendus
Pendule inversé avec animation
Cet exemple montre comment utiliser Simulink® pour modéliser et animer un système de pendule inversé. Un pendule inversé a son centre de masse au-dessus de son point de pivot. Pour maintenir la stabilité de cette position, le système implémente une logique de contrôle pour déplacer le point de pivot au-dessous du centre de masse quand le pendule commence à tomber. Le pendule inversé est un problème de dynamique classique utilisé pour tester les stratégies de contrôle.
Ports
Entrée(s)
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
Sortie(s)
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
Paramètres principaux
Spécifiez la limite supérieure du signal d’entrée. Si le signal d’entrée est supérieur à cette limite, le signal de sortie est réglé sur cette valeur de saturation. Le paramètre Upper limit est converti en type de données de sortie à l’aide des méthodes d’arrondi au plus proche et de saturation. La valeur du paramètre Upper limit doit être supérieure à celle du paramètre Output minimum et inférieure à celle du paramètre Output maximum.
Utilisation programmatique
Paramètre de bloc : UpperLimit |
| Type : vecteur de caractères |
| Valeur : scalaire réel ou vecteur |
Par défaut : '0.5' |
Spécifiez la limite inférieure du signal d’entrée. Si le signal d’entrée est inférieur à cette limite, le signal de sortie est réglé sur cette valeur de saturation. Le paramètre Lower limit est converti en type de données de sortie à l’aide des méthodes d’arrondi au plus proche et de saturation. La valeur du paramètre Lower limit doit être supérieure à celle du paramètre Output minimum et inférieure à celle du paramètre Output maximum.
Utilisation programmatique
Paramètre de bloc : LowerLimit |
| Type : vecteur de caractères |
| Valeur : scalaire réel ou vecteur |
Par défaut : '-0.5' |
Sélectionnez ce paramètre pour que les commandes traitent le gain comme égal à 1. Les commandes de linéarisation de Simulink® traitent ce bloc comme un gain dans la représentation d’état. Désélectionnez ce paramètre pour que les commandes traitent le gain comme égal à 0.
Utilisation programmatique
Paramètre de bloc : LinearizeAsGain |
| Type : vecteur de caractères |
Valeurs : 'off' | 'on' |
Par défaut : 'on' |
Sélectionnez pour activer la détection des passages par zéro. Pour plus d’informations, consultez Zero-Crossing Detection.
Utilisation programmatique
Paramètre de bloc : ZeroCross |
| Type : vecteur de caractères | chaîne de caractères |
Valeurs : 'off' | 'on' |
Par défaut : 'on' |
Spécifiez l’intervalle de temps entre échantillons. Pour hériter du pas d’échantillonnage, définissez ce paramètre sur -1. Pour plus d’informations, consultez Spécifier les pas d'échantillonnage.
Dépendances
Ce paramètre n’est visible que si vous le définissez sur une valeur différente de -1. Pour en savoir plus, consultez la rubrique Blocks for Which Sample Time Is Not Recommended.
Utilisation programmatique
Pour définir la valeur du paramètre du bloc de manière programmatique, utilisez la fonction set_param.
| Paramètre : | SampleTime |
| Valeurs : | "-1" (par défaut) | scalar or vector in quotes |
Signal Attributes
Data Type Assistant vous aide à définir les attributs de données. Pour utiliser Data Type Assistant, cliquez sur
. 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 :
Vérification de la plage de paramètres (consultez Specify Minimum and Maximum Values for Block Parameters) pour certains blocs.
Vérification de la plage de simulation (consultez Specify Signal Ranges et Enable Simulation Range Checking).
Mise à l’échelle automatique des types de données à virgule fixe.
Optimisation du code que vous générez à partir du modèle. Cette optimisation peut supprimer du code algorithmique et avoir une incidence sur les résultats de certains modes de simulation tels que SIL ou le mode externe. Pour plus d’informations, consultez Optimize using the specified minimum and maximum values (Embedded Coder).
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 :
Vérification de la plage de paramètres (consultez Specify Minimum and Maximum Values for Block Parameters) pour certains blocs.
Vérification de la plage de simulation (consultez Specify Signal Ranges et Enable Simulation Range Checking).
Mise à l’échelle automatique des types de données à virgule fixe.
Optimisation du code que vous générez à partir du modèle. Cette optimisation peut supprimer du code algorithmique et avoir une incidence sur les résultats de certains modes de simulation tels que SIL ou le mode externe. Pour plus d’informations, consultez Optimize using the specified minimum and maximum values (Embedded Coder).
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 input' | 'Inherit: Inherit via back propagation' | 'double' | 'single' | 'int8' | 'uint8' | int16 | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | fixdt(1,16,0) | fixdt(1,16,2^0,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.
CeilingArrondit les nombres positifs et négatifs à l’infini positif. Équivalent de la fonction
ceilde MATLAB®.ConvergentArrondit le nombre à la valeur représentable la plus proche. En cas d’égalité, arrondit à l’entier pair le plus proche. Équivalent de la fonction
convergentde Fixed-Point Designer™.FloorArrondit les nombres positifs et négatifs à l’infini négatif. Équivalent de la fonction
floorde MATLAB.NearestArrondit le nombre à la valeur représentable la plus proche. En cas d’égalité, arrondit à l’infini positif. Équivalent de la fonction
nearestde Fixed-Point Designer.RoundArrondit 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
roundde Fixed-Point Designer.SimplestChoisit 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.
ZeroArrondit le nombre à zéro. Équivalent de la fonction
fixde 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, consulter Rounding Modes (Fixed-Point Designer).
Caractéristiques des blocs
Types de données |
|
Traversée directe |
|
Signaux multidimensionnels |
|
Signaux de taille variable |
|
Détection des passages à zéro |
|
Capacités étendues
Génération de code C/C++
Générez du code C et C++ avec Simulink® Coder™.
HDL Coder™ fournit des options de configuration supplémentaires qui influent sur l’implémentation HDL et la logique synthétisée.
Ce bloc a une architecture HDL par défaut.
| ConstrainedOutputPipeline | Nombre de registres à placer aux sorties en déplaçant les retards au sein de votre design. Le pipelining distribué ne redistribue pas ces registres. La valeur par défaut est |
| InputPipeline | Nombre d’étapes de pipelines d’entrée à insérer dans le code généré. Le pipelining distribué et le pipelining de sortie sous contrainte peuvent déplacer ces registres. La valeur par défaut est |
| OutputPipeline | Nombre d’étapes de pipelines de sortie à insérer dans le code généré. Le pipelining distribué et le pipelining de sortie sous contrainte peuvent déplacer ces registres. La valeur par défaut est |
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
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Sélectionner un site web
Choisissez un site web pour accéder au contenu traduit dans votre langue (lorsqu'il est disponible) et voir les événements et les offres locales. D’après votre position, nous vous recommandons de sélectionner la région suivante : .
Vous pouvez également sélectionner un site web dans la liste suivante :
Comment optimiser les performances du site
Pour optimiser les performances du site, sélectionnez la région Chine (en chinois ou en anglais). Les sites de MathWorks pour les autres pays ne sont pas optimisés pour les visites provenant de votre région.
Amériques
- 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)
