Thermodynamics and Heat Transfer
Calculating Transfer Functions in Simulink: A Step-By-Step Approach
Table of Contents
Les fonctions de transfert représentent l'un des concepts les plus fondamentaux en ingénierie des systèmes de contrôle et en traitement des signaux. Elles fournissent une représentation mathématique de la relation entre l'entrée et la sortie d'un système linéaire invariant dans le temps (LTI) dans le domaine de la fréquence. Le bloc de transfert Fcn modélise un système linéaire par une fonction de transfert de la variable Laplace-domain s, ce qui en fait un outil essentiel pour analyser la dynamique du système, concevoir des contrôleurs et prédire le comportement du système.
Ce guide complet explore le processus complet de calcul, de mise en œuvre et d'analyse des fonctions de transfert dans Simulink. Que vous conçoyiez un nouveau système de contrôle, que vous analysiez un modèle existant ou que vous extractiez des fonctions de transfert de systèmes complexes non linéaires, la compréhension de ces techniques améliorera considérablement vos capacités d'analyse de flux de travail et de système d'ingénierie.
Comprendre les fonctions de transfert dans les systèmes de contrôle
Avant de plonger dans la mise en œuvre pratique de Simulink, il est essentiel de comprendre ce que représentent les fonctions de transfert et pourquoi elles sont si précieuses en ingénierie des systèmes de contrôle. Une fonction de transfert décrit la relation entrée-sortie d'un système dans le domaine Laplace, généralement exprimée comme un rapport de polynômes dans la variable complexe s.
Fondation mathématique
La fonction de transfert relie l'entrée et les sorties du système par le numérateur et les coefficients de dénominateur en puissances descendantes de s, où l'ordre du dénominateur doit être supérieur ou égal à l'ordre du numérateur. Cette contrainte mathématique assure la réalisation physique et la causalité du système.
La forme générale d'une fonction de transfert peut être écrite comme G(s) = N(s)/D(s), où N(s) représente le polynôme du numérateur et D(s) le polynôme du dénominateur. Les coefficients de ces polynômes correspondent directement aux paramètres physiques du système et déterminent les caractéristiques critiques telles que les pôles, les zéros, le gain et la réponse de fréquence.
Types de transferts Représentations des fonctions
Simulink prend en charge plusieurs approches pour représenter les fonctions de transfert. Le bloc Transfer Fcn peut modéliser des systèmes mono-entrées (SISO) et mono-entrées (SIMO). Pour des scénarios plus complexes impliquant des paramètres de temps variable, Simulink fournit des blocs spécialisés qui permettent des changements de coefficients dynamiques pendant la simulation.
Vous pouvez introduire dans Simulink les objets de la fonction de transfert définis dans l'espace de travail MATLAB en utilisant le bloc système LTI et en spécifiant le nom de la variable, et une fonction de transfert peut également être représentée en termes de blocs simples, tels que les intégrateurs et les gains. Cette flexibilité permet aux ingénieurs de choisir la méthode de représentation la plus appropriée en fonction de leurs exigences d'application spécifiques et de leurs préférences de modélisation.
Configuration de votre environnement Simulink
La configuration d'environnement est essentielle pour une analyse efficace des fonctions de transfert dans Simulink. Le processus commence par lancer Simulink et configurer les boîtes à outils et bibliothèques nécessaires pour fournir des fonctionnalités de fonction de transfert.
Création d'un nouveau modèle de Simulink
Commencez par ouvrir MATLAB et taper "simulink" dans la fenêtre de commande ou cliquez sur l'icône Simulink dans la barre d'outils MATLAB. Cela ouvre la Page de démarrage Simulink, où vous pouvez créer un nouveau modèle vide. Le modèle vide fournit une toile où vous construisez votre système en utilisant différents blocs du navigateur de bibliothèque Simulink.
Le navigateur de bibliothèque contient des catégories de blocs organisées, avec des blocs liés à la fonction de transfert principalement situés dans la bibliothèque continue. La bibliothèque continue contient des éléments système continus, y compris des fonctions de transfert, des modèles d'espace d'état et des contrôleurs PID.
Blocs essentiels pour l'analyse de la fonction de transfert
Une configuration typique d'analyse de la fonction de transfert nécessite plusieurs composants clés. Le modèle simple se compose de trois blocs : Étape, Fonction de transfert et Portée, où l'Étape est un bloc source à partir duquel un signal d'entrée d'étape est émis, ce signal est transféré par la ligne au bloc de transfert Fonction continue, le bloc de fonction de transfert modifie son signal d'entrée et envoie un nouveau signal à la Portée.
Au-delà de ces blocs de base, vous aurez peut-être besoin de composants supplémentaires selon vos objectifs d'analyse :
- Sources de signaux: Blocs d'étape, de ramp, de ondes sinusoïdales, de signaux chirp et de nombres aléatoires pour divers scénarios d'entrée
- Opérations mathématiques:[ Somme, Gain, Blocs de produits pour la manipulation du signal et l'interconnexion du système
- [[FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:]][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:]][FLT:][FLT:]][FLT:]][FLT:][FLT:][FLT:][FLT:]][FLT:][FLT:][FLT:][F][FLT][F][FLT]]
- blocs d'analyse:[ points de linéarisation, blocs de mesure pour l'extraction des caractéristiques du système
Mise en œuvre des fonctions de transfert utilisant le bloc de transfert Fcn
Le bloc Transfer Fcn sert de méthode primaire pour la mise en œuvre directe de fonctions de transfert connues dans Simulink. Cette approche est idéale lorsque vous avez déjà dérivé le modèle mathématique de votre système et que vous voulez simuler son comportement.
Configuration des paramètres de bloc
Dans Simulink, recherchez le bloc 'Transfer Fcn' et faites glisser et déposer le bloc dans votre espace de travail modèle. Une fois placé, vous devez configurer ses paramètres pour correspondre à votre fonction de transfert souhaitée.
Un bloc peut être modifié en double-cliquant dessus, et si vous double-cliquez sur le bloc de la fonction de transfert, vous verrez une boîte de dialogue contenant des champs pour le numérateur et le dénominateur de la fonction de transfert du bloc. Ces champs acceptent des entrées vectorielles représentant des coefficients polynômes.
Entrée de vecteurs coefficients
En entrant dans un vecteur contenant les coefficients du numérateur ou du dénominateur polynôme souhaité, la fonction de transfert souhaitée peut être saisie. Les coefficients doivent être disposés en puissances descendantes de s, en commençant par le terme d'ordre le plus élevé.
Par exemple, envisagez de mettre en œuvre la fonction de transfert G(s) = (s + 3)/(s2 + 2s). Entrez les coefficients de numérateur [1 3] (représentant s + 3) et entrez les coefficients de dénominateur [1 2 0] (représentant s2 + 2s). Notez que vous devez inclure des zéros pour tout terme manquant dans le polynôme afin de maintenir un bon alignement des coefficients.
Options d'affichage de bloc
Si chacun est spécifié comme expression, vecteur ou variable entre parenthèses, l'icône affiche la fonction de transfert avec les coefficients et pouvoirs spécifiés de s, et si vous spécifiez une variable entre parenthèses, la variable est évaluée. Cette fonctionnalité permet des options d'affichage flexibles qui peuvent rendre votre modèle plus lisible et plus durable.
Vous pouvez spécifier les coefficients de trois façons : en tant que vecteurs numériques explicites (par exemple, [1 3]), en tant que variables de l'espace de travail MATLAB (par exemple, num et den), ou en tant qu'expressions qui évaluent les vecteurs.
Traitement des conditions initiales
Simulink préfigure les conditions initiales du bloc Transfert Fcn à zéro, et pour spécifier les conditions initiales d'une fonction de transfert donnée, convertit la fonction de transfert à sa réalisation d'un espace d'état canonique contrôlable en utilisant tf2ss. Cette limitation existe parce que les fonctions de transfert ont infiniment de réalisation de domaines temporels, et la plupart des représentations d'état ne correspondent pas à des conditions initiales physiquement significatives.
Lorsque des conditions initiales non nulles sont requises, l'approche recommandée consiste à convertir en représentation de l'espace d'état, à définir le vecteur d'état initial et à utiliser le bloc État-espace, ce qui permet de contrôler explicitement les conditions initiales tout en maintenant l'équivalence mathématique avec la représentation de la fonction de transfert.
Extraire des fonctions de transfert des modèles Simulink
L'une des capacités les plus puissantes de Simulink est d'extraire des fonctions de transfert de modèles existants, y compris des systèmes non linéaires complexes. Ce processus, appelé linéarisation, avoisine le comportement du système autour d'un point d'exploitation en utilisant un modèle de fonction de transfert linéaire.
Comprendre la linéarisation du modèle
Une façon plus directe de trouver une fonction de transfert à partir d'un modèle Simulink est de la linéariser en un modèle d'espace d'état, puis de la convertir en une fonction de transfert en utilisant sys = linéarise("mymodel",io points); sys tf = tf(sys).
La linéarisation fonctionne en calculant les matrices jacobins des équations système à un point d'exploitation spécifié. Pour les systèmes non linéaires, cela produit une approximation linéaire qui est valable dans un quartier autour de ce point. Pour les systèmes déjà linéaires, la linéarisation extrait la fonction de transfert exacte quel que soit le point d'exploitation choisi.
Spécifier les points d'analyse
Avant de linéariser un modèle, vous devez identifier quels signaux représentent les entrées et sorties pour la fonction de transfert que vous voulez extraire. Pour spécifier la partie du modèle à linéariser, ouvrez d'abord l'onglet Linearization en cliquant sur Linearization Manager dans la galerie Apps dans la fenêtre Simulink.
Pour spécifier un point d'analyse pour un signal, cliquez sur le signal du modèle, puis sur l'onglet Linearisation, dans la galerie Insérez des points d'analyse, sélectionnez le type de point d'analyse. Simulink prend en charge plusieurs types de points d'analyse :
- Perturbation d'entrée:[ Ajoute un petit signal à l'emplacement spécifié pour mesurer la réponse du système
- Mesure de sortie:[ Enregistre la valeur du signal sans affecter la dynamique du système
- Loop Break:[ Ouvre une boucle de rétroaction pour l'analyse en boucle ouverte
- Sortie en boucle ouverte:[ Combine la mesure de sortie avec l'ouverture de boucle
Pour spécifier la partie du modèle à linéariser, créez un tableau d'objets de linéarisation I/O à l'aide de la commande linio, comme la création d'un point d'analyse de perturbation d'entrée à la sortie du bloc contrôleur PID. Cette approche programmatique offre plus de flexibilité que le placement interactif de points, en particulier pour le traitement par lots ou les workflows automatisés.
Utilisation de l'App Linéariseur Modèle
Model Linearizer vous permet d'effectuer une analyse linéaire des modèles non linéaires Simulink. Cette application puissante fournit une interface complète pour les tâches de linéarisation, les spécifications de points d'exploitation et l'analyse des résultats.
Vous pouvez ouvrir l'App Model Linearizer en allant sur la bande d'outils Simulink : Sur l'onglet Apps, sous Systèmes de contrôle, cliquez sur Model Linearizer. Une fois ouverte, l'application affiche les points d'analyse de votre modèle et vous permet de configurer les paramètres de linéarisation.
L'interface de linéarisation du modèle comprend plusieurs sections clés :
- Analyse I/Os: Affiche et gère les configurations des points d'entrée/sortie
- Point d'exploitation:[ Spécifie les valeurs d'état et d'entrée autour desquelles se produit la linéarisation
- Linéarisation Résultats :[ montre les modèles extraits et leurs caractéristiques
- Options de lot:[ Génére des diagrammes de réponse de fréquence et de domaine temporel
Réalisation de la linéarisation
Pour cet exemple, utilisez le point d'exploitation du modèle pour la linéarisation en laissant la condition initiale du modèle sélectionnée dans la liste déroulante du point d'exploitation, et pour linéariser le système et générer un graphique de réponse pour l'analyse, dans la section Linearize, cliquez sur une réponse.
Le processus de linéarisation compile le modèle, l'évalue au point d'exploitation spécifié et calcule l'approximation linéaire. Pour les modèles grands ou complexes, cela peut prendre plusieurs secondes. Le modèle linéaire résultant apparaît dans l'espace de travail d'analyse linéaire, où vous pouvez examiner ses propriétés, générer des placettes et l'exporter vers MATLAB pour une analyse plus approfondie.
Vous pouvez également exporter le modèle linéaire dans l'espace de travail MATLAB en cliquant avec le bouton droit linsys1 dans le navigateur de données et en sélectionnant Exporter vers l'espace de travail MATLAB. Cela permet une analyse supplémentaire en utilisant des fonctions de Control System Toolbox comme bode, step, marge, etc.
Travailler avec les fonctions de transfert de temps-variation
De nombreux systèmes du monde réel ont des paramètres qui changent au fil du temps ou des conditions d'exploitation. Simulink fournit des blocs spécialisés pour la manipulation des fonctions de transfert avec des coefficients variables, permettant une simulation précise des contrôleurs de gain programmés, des systèmes adaptatifs et des usines de variation de paramètres.
Le bloc de fonction de transfert variable
Utilisez ce bloc et les autres blocs de la bibliothèque de variation de paramètres linéaires pour mettre en œuvre des éléments de contrôle communs avec des paramètres ou coefficients variables, pour plus d'informations, voir Model Gain-Scheduled Control Systems dans Simulink.
L'ordre de fonction de transfert N est spécifié comme un entier positif, et ce paramètre détermine le nombre de ports d'entrée de coefficient sur le bloc. Chaque coefficient peut être fourni comme signal variable dans le temps, permettant aux caractéristiques de la fonction de transfert de s'adapter pendant la simulation.
Configuration des coefficients variables
Activer le port d'entrée b0 pour une fonction de transfert avec flux direct et pour une fonction de transfert zéro-feedthrough, effacer cette case, car désactiver le port pour les modèles zéro-feedthrough est numériquement plus fiable que d'alimenter un zéro-constante dans le port.
Lors de la mise en œuvre de fonctions de transfert variant dans le temps, il est essentiel de veiller à la stabilité numérique. Les changements rapides de coefficients peuvent causer des problèmes numériques, surtout si le dénominateur polynôme approche de zéro ou si les pôles se déplacent de façon significative entre les étapes temporelles.
Éviter les boucles algébriques
Évitez de faire dépendre les coefficients de fonction de transfert de la sortie de bloc y, car si vous avez une telle dépendance, la fonction de transfert résultante provoque une boucle algébrique, puisque le calcul de la valeur de sortie de bloc nécessite de connaître la valeur de sortie de bloc, et cette boucle algébrique est sujette à l'instabilité et à la divergence, donc au lieu de la sortie, essayez d'exprimer les coefficients en termes de temps t et de l'entrée de bloc u.
Les boucles algébriques se produisent lorsque Simulink ne peut pas déterminer l'ordre d'exécution des blocs car les sorties dépendent des entrées de façon circulaire. Si Simulink peut parfois résoudre les boucles algébriques itérativement, elles ralentissent significativement la simulation et peuvent ne pas converger, en particulier avec des dépendances non linéaires ou des changements de coefficients discontinus.
Techniques de linéarisation avancées
Au-delà de la linéarisation de base, Simulink propose des techniques avancées pour extraire les fonctions de transfert de systèmes complexes, gérer plusieurs points d'exploitation et analyser le comportement dépendant de la fréquence.
Linéarisation par lots
Si vous souhaitez obtenir plusieurs fonctions de transfert en boucle ouverte ou en boucle fermée du système linéarisé sans recompiler le modèle, vous pouvez spécifier des points d'analyse linéaires à l'aide d'une interface slLinearizer, pour plus d'informations, voir Signal de Mark d'intérêt pour la linéarisation par lots.
L'interface slLinearizer offre une approche programmatique de linéarisation particulièrement utile pour les études paramétriques, l'analyse Monte Carlo ou l'optimisation automatisée de la conception. Vous pouvez définir plusieurs paires entrées-sorties, balayer les plages de paramètres et recueillir des résultats de linéarisation sans intervention manuelle.
Spécification du point d'exploitation
Les conditions d'exploitation sont les valeurs des vecteurs d'état et d'entrée sur lesquels se produit la linéarisation du modèle d'analyse, et les conditions initiales sont les valeurs des vecteurs d'état et d'entrée au temps t=0. Pour les systèmes non linéaires, le choix du point d'exploitation affecte de façon significative la fonction de transfert résultante.
Simulink fournit plusieurs méthodes pour spécifier les points d'exploitation:
- Modèle Conditions initiales:[ Utilise les valeurs initiales d'état et d'entrée définies dans le modèle
- Point d'exploitation de l'état de la température: Calcule les conditions d'équilibre où les dérivés sont égaux à zéro
- Simulation Snapshot: Capture l'état du système à un moment de simulation spécifique
- Point d'exploitation personnalisé:[ Spécifie manuellement les valeurs d'état et d'entrée
Pour la conception du système de contrôle, les points d'exploitation en état d'équilibre fournissent souvent la linéarisation la plus significative, qui représente les conditions autour desquelles le contrôleur règlera le système, rendant le modèle linéaire directement applicable à la synthèse et à l'analyse de stabilité du contrôleur.
Estimation de la réponse de la fréquence
Pour estimer la fonction de transfert d'un système dans Simulink, utilisez le bloc de l'estimation de la fonction de transfert discret, qui implémente la méthode de periodogramme modifié de Welch et utilise les données d'entrée et de sortie mesurées pour l'estimation.
Cette approche diffère de la linéarisation en utilisant des données de simulation réelles plutôt que des dérivés analytiques.
- Le système contient des composants qui ne supportent pas la linéarisation analytique
- Vous voulez valider une linéarisation par rapport aux résultats de simulation
- Le système comprend des éléments stochastiques ou des bruits de mesure
- Vous avez besoin de données de réponse de fréquence à des fréquences spécifiques
La relation entre l'entrée x et la sortie y est modélisée par la fonction de transfert linéaire invariante dans le temps Txy, et la fonction de transfert est le rapport de la densité spectrale de puissance croisée de x et y, Pyx, à la densité spectrale de puissance de x, Pxx. Cette approche de domaine de fréquence fournit des estimations robustes même en présence de bruit et de perturbations.
Simulation et analyse Flux de travail
Une fois que vous avez mis en place ou extrait une fonction de transfert, la prochaine étape consiste à simuler et analyser pour comprendre le comportement du système et valider les performances par rapport aux exigences.
Configuration des paramètres de simulation
Dans la fenêtre du modèle, sélectionnez Paramètres de configuration du modèle dans le menu Simulation, et il existe de nombreuses options de paramètres de simulation, y compris les heures de démarrage et d'arrêt, qui indiquent Simulink sur quelle période pour effectuer la simulation.
Les paramètres clés à prendre en considération sont les suivants :
- Type de solvant: Résolveurs à étapes variables ajustent automatiquement les étapes de temps pour obtenir la précision, tandis que les résolveurs à étapes fixes maintiennent des intervalles constants adaptés aux applications en temps réel
- Tolérance de rotation:[ Contrôle l'erreur acceptable dans les calculs d'état, avec des valeurs plus petites augmentant la précision mais ralentissant la simulation
- Tolérance absolue: Définit le seuil au-dessous duquel les valeurs d'état sont considérées comme négligeables
- Taille maximale de l'étape: Limite la croissance des étapes de temps, empêchant le solveur de manquer la dynamique rapide
Les résolveurs à étapes variables utilisent des tolérances absolues et relatives pour choisir la taille de l'étape afin de déterminer si l'erreur dans les calculs d'état est acceptable et pour hériter de la tolérance absolue du paramètre de configuration de tolérance absolue, spécifiez cette valeur de paramètre en tant qu'auto ou -1.
Visualiser les résultats avec les champs d'application
Le plus compliqué de ces trois blocs est le bloc Scope, et le double-clic sur ce fait fait apparaître un écran oscilloscope vide, et quand une simulation est effectuée, le signal qui se nourrit dans la portée sera affiché dans cette fenêtre.
Les versions modernes de Simulink offrent une fonctionnalité de portée améliorée, notamment :
- Multiples canaux d'entrée avec échelle indépendante
- Mesures du curseur pour une lecture précise des valeurs
- Statistiques des signaux (moyenne, RMS, valeurs maximales)
- Enregistrement des données dans l'espace de travail ou le fichier
- Conditions de déclenchement pour la capture d'événements spécifiques
- Analyse FFT pour l'examen de la fréquence du contenu
Exportation de données vers le MATLAB
Pour une analyse détaillée au-delà de ce que les outils intégrés de Simulink fournissent, exportez des données de simulation dans l'espace de travail MATLAB. Utilisez des blocs d'espace de travail pour capturer des signaux d'intérêt, ou configurer des champs pour enregistrer automatiquement les données. Une fois dans MATLAB, vous pouvez appliquer toute la gamme de fonctions Control System Toolbox pour l'analyse.
Les tâches communes de post-traitement comprennent:
- Calcul des mesures de performance (temps de montée, temps de réglage, dépassement, erreur d'état stationnaire)
- Générer des parcelles de qualité de publication avec formatage personnalisé
- Comparaison de multiples simulations ou variations de paramètres
- Effectuer une analyse statistique des résultats de la simulation Monte Carlo
- Monter les modèles de fonctions de transfert aux données de simulation
Applications pratiques et exemples
Comprendre le calcul de la fonction de transfert dans Simulink devient plus concret grâce à des exemples pratiques qui démontrent des applications communes dans l'ingénierie des systèmes de contrôle.
Conception et analyse du contrôleur
La fonction de transfert des contrôleurs est implémentée en utilisant le bloc de fonction de transfert, qui est ce que nous utilisons pour représenter le moteur et le actionneur, et nous pouvons voir que le modèle est capable de suivre des entrées étape avec un certain dépassement et zéro erreur d'état stable.
Un workflow typique de conception de contrôleur implique:
- Modélisation de l'installation (système à contrôler) comme fonction de transfert
- Spécifier les exigences de performance (bande passante, marge de phase, rejet de perturbation)
- Concevoir une fonction de transfert du contrôleur pour répondre à ces exigences
- Mise en œuvre du système à boucle fermée à Simulink
- Simulation avec divers apports et perturbations
- La conception est itérative sur la base des résultats de simulation
La boîte à outils Simulink Control Design offre la fonctionnalité d'extraire un modèle de Simulink dans l'espace de travail MATLAB, qui est particulièrement utile pour les modèles de simulation complexes ou non linéaires, et est également utile pour générer des modèles à temps discret (échantillonnés).
Identification du système
Lorsque vous avez des données expérimentales ou des résultats de simulation, mais ne connaissez pas la fonction de transfert sous-jacente, les techniques d'identification du système peuvent estimer un modèle de fonction de transfert qui correspond au comportement observé.
- Collecte de données entrées-sorties du système
- Choisir une structure de modèle appropriée (ordre, délais)
- Paramètres d'estimation qui minimisent l'erreur de prédiction
- Validation du modèle par rapport à des ensembles de données indépendants
Le bloc de transfert discret de Simulink automatise une grande partie de ce processus pour l'identification du domaine de la fréquence, tandis que la boîte à outils d'identification du système fournit des capacités complètes pour l'estimation du domaine de temps et du domaine de la fréquence.
Modélisation multi-domaines
Les fonctions de transfert sont excellentes pour représenter des systèmes de différents domaines d'ingénierie (mécanique, électrique, thermique, hydraulique) en utilisant un cadre mathématique unifié. Simulink vous permet de combiner des fonctions de transfert de différents domaines en modèles de systèmes intégrés.
Par exemple, un système de actionneur électromécanique peut comprendre :
- Fonction de transfert électrique liée à la tension au courant
- Fonction de transfert électromécanique relative au courant au couple
- Fonction de transfert mécanique relative au couple à la position
- Fonction de transfert du capteur relative à la position du signal de mesure
En connectant ces blocs de fonctions de transfert en série et en configuration de rétroaction, vous créez un modèle système complet qui capture la dynamique essentielle tout en restant efficace sur le plan informatique.
Dépannage de problèmes communs
Working with transfer functions in Simulink occasionally presents challenges. Understanding common issues and their solutions w