Main Content

Derivative

Calcul de la dérivée continue approximative d'un signal d'entrée continu par rapport au temps

  • Derivative block

Bibliothèques :
Simulink / Continuous

Description

Le bloc Derivative approxime la dérivée continue du signal d'entrée continu u par rapport au temps de simulation t. Utilisez le bloc Derivative lorsque vous devez calculer la dérivée d'un signal différentiable dont le temps d'échantillonnage est continu.

Toute utilisation incorrecte du bloc Derivative peut entraîner des inexactitudes dans les résultats de la simulation. Lorsque cela s’avère possible, pensez à considérer les alternatives suivantes au bloc Derivative :

  • Réorganisez les équations du système pour résoudre une intégrale au lieu d'une dérivée. Structurez ensuite le modèle sur la base des nouvelles équations de sorte que le software opère une intégration en utilisant des blocs tels que le bloc Integrator plutôt qu’une différenciation.

    Pour un exemple, consultez la rubrique Best-Form Mathematical Models.

  • Lorsqu’un bloc Transfer Fcn agit également sur un signal d’entrée ou de sortie du bloc Derivative, implémentez la dérivée pour le signal en ajoutant plutôt un zéro à la fonction de transfert.

  • Pour calculer la différence finie ou le quotient de différences, pour un signal discret dans un système discret, utilisez le bloc Discrete Derivative.

Lorsque vous devez utiliser le bloc Derivative, utilisez le bloc uniquement avec des signaux d'entrée différentiables présentant un temps d'échantillonnage continu.

  • Le software émet un avertissement lorsque le signal connecté à ce port présente un temps d'échantillonnage discret ou fixé en mineur. (depuis R2023b)

  • Bien que le software n'émette pas d'avertissement lorsque le signal d'entrée présente un temps d'échantillonnage constant, le réglage de la valeur du signal introduit une discontinuité dans le signal d'entrée. La différenciation à travers ces discontinuités génère des pics dans le signal de sortie.

  • Pour calculer la différence finie ou le quotient de différences, pour un signal discret dans un système discret, utilisez le bloc Discrete Derivative.

Assurer la précision de l’approximation des dérivées continues

Lorsque vous utilisez le bloc Derivative, vous devez vous assurer que la précision du signal de sortie du bloc répond à vos exigences. Même dans un contexte approprié, la précision du signal de sortie du bloc Derivative dépend de la taille du pas et peut dépendre de la dynamique du reste du système.

Utilisez le paramètre Max step size pour empêcher un solveur à pas variable de faire des pas trop importants pour répondre à vos exigences de précision. Pour choisir une valeur appropriée pour la taille de pas maximale, vous pouvez être amené à effectuer plusieurs simulations.

Dans les simulations à pas variable, le solveur détermine la taille de chaque pas temporel principal en contrôlant l'erreur dans les calculs des états continus dans l'ensemble du modèle. Lorsque l'erreur de la valeur calculée pour un état continu dépasse les niveaux de tolérance indiqués, le solveur réduit la taille de pas jusqu'à ce que l'erreur soit de nouveau comprise dans la plage de tolérance.

Le bloc Derivative ne présente pas d'états continus. Par conséquent, le solveur ne peut pas ajuster la taille du pas pour s'assurer que les calculs du bloc Derivative répondent aux exigences de tolérance. Si le solveur adopte un grand pas temporel lorsque la valeur du signal d'entrée change rapidement, le bloc peut produire une valeur de sortie inattendue.

Ports

Entrée

développer tout

Le signal d'entrée doit être réel et peut présenter des valeurs d'échantillonnage scalaires ou vectorielles. Utilisez le bloc Derivative pour approximer la dérivée continue uniquement pour les signaux dont le temps d'échantillonnage est continu.

Types de données : double

Sortie(s)

développer tout

Le bloc Derivative approxime la dérivée continue du signal d'entrée continu par rapport au temps et fournit le résultat sous la forme d’un signal continu. Les dimensions et la complexité du signal de sortie correspondent aux dimensions et à la complexité du signal d'entrée, qui doit être réel.

Types de données : double

Paramètres

développer tout

Pour modifier les paramètres du bloc de manière interactive, utilisez Property Inspector. Dans Simulink® Toolstrip, accédez à l'onglet Simulation. Dans la galerie Prepare, sélectionnez Property Inspector.

Il est difficile d’effectuer une linéarisation exacte pour une dérivée continue car il n'existe pas de représentation d'état pour l'équation dynamique y=u˙. Le software approxime la linéarisation du bloc Derivative en ajoutant un pôle au système afin de créer une fonction de transfert sous la forme s/(cs+1).. Le pôle agit également en tant que filtre passe-bas dont la fréquence de coupure est déterminée par la valeur de ce paramètre, ce qui réduit l'effet du bruit.

Pour une approche optimale, spécifiez la valeur de ce paramètre en tant que 1fb, où fb correspond à la fréquence de coupure en radians par seconde pour le filtre passe-bas résultant de l'ajout du pôle. Choisissez une fréquence de coupure supérieure ou égale au taux ou à la fréquence de Nyquist pour le système. La valeur par défaut du paramètre inf correspond à une fréquence de coupure de 0.

Utilisation programmatique

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

Pour obtenir la valeur du paramètre du bloc de manière programmatique, utilisez la fonction get_param.

Paramètre : CoefficientInTFapproximation
Valeurs : inf (par défaut) | finite positive scalar number
Types de données : char | string

Exemple : set_param("MyModel/Derivative","CoefficientInTFapproximation","0.001") configures the Derivative block named Derivative in the model MyModel to use the coefficient 0.001 in the transfer function used for approximate linearization of the block. This coefficient value results in a cutoff frequency of 1000 radians per second.

Caractéristiques des blocs

Types de données

double

Traversée directe

oui

Signaux multidimensionnels

non

Signaux de taille variable

non

Détection des passages à zéro

non

Algorithmes

Le bloc Derivative calcule la différence numérique Δu/Δt, pour approximer la dérivée continue dudt,Δu correspond au changement de la valeur du signal d'entrée et Δt, à la taille du pas temporel principal que le solveur a pris pour atteindre le temps de simulation actuel. La précision de l'approximation de la dérivée continue dépend du taux de variation du signal d'entrée et de la taille du pas.

La valeur de sortie initiale du bloc Derivative est toujours 0. En tenant compte de la valeur de sortie initiale, cette équation représente la relation précise entre les signaux d'entrée et de sortie du bloc.

y(t)=ΔuΔt=u(t)u(Tprevious)tTprevious|t>Tprevious,

  • t correspond au temps de simulation actuel.

  • Tprevious correspond à l'heure du dernier jalon principal atteint dans la simulation.

Capacités étendues

Historique des versions

Introduit avant R2006a

développer tout