Dans Live Editor, la tâche Convert Model Rate vous permet de convertir de manière interactive un modèle à temps continu en un modèle à temps discret et inversement. Testez différents tracés de réponse, options et méthodes. La tâche génère automatiquement un code sur la base de vos sélections. Ouvrez cet exemple afin d’afficher un script préconfiguré contenant la tâche Convert Model Rate.
Créez un modèle de fonction de transfert à temps continu.
Pour discrétiser ce modèle, ouvrez la tâche Convert Model Rate dans Live Editor. Dans l’onglet Live Editor, sélectionnez Task > Convert Model Rate. Dans la tâche, sélectionnez G en tant que modèle à convertir.
La tâche discrétise automatiquement le modèle en appliquant le pas d’échantillonnage par défaut, à savoir 0,2 s, et la méthode de conversion par défaut, Zero-order hold. Elle crée également un diagramme de Bode qui vous permet de comparer les réponses du modèle d’origine et du modèle converti.
La ligne verticale sur le tracé indique la fréquence de Nyquist associée au pas d’échantillonnage par défaut. Supposons que vous souhaitiez utiliser un pas d’échantillonnage de 0,15 s. Modifiez le pas d’échantillonnage en saisissant la nouvelle valeur dans le champ Sample Time. Le tracé de la réponse se met automatiquement à jour avec le nouveau pas d’échantillonnage.
Si la dynamique précise de la résonance est importante dans votre contexte d’utilisation, vous pouvez améliorer la correspondance du domaine fréquentielle en utilisant une autre méthode de conversion. Dans la tâche, testez différentes méthodes et observez leur incidence sur le tracé de réponse.
La méthode Tustin permet d’obtenir une meilleure correspondance dans le domaine fréquentiel que la méthode par défaut, zero-order hold. (Consultez Continuous-Discrete Conversion Methods.) Dans Select Conversion Method, sélectionnez Bilinear (Tustin) approximation. Au départ, la correspondance obtenue dans le domaine fréquentiel est plus médiocre qu’avec la méthode zero-order hold.
Vous pouvez améliorer la correspondance en utilisant un préwarping de fréquence. Cette option fait en sorte que la réponse à temps discret corresponde à la fréquence que vous définissez. La résonance des pics G est d’env. 14 rad/s. Saisissez cette valeur pour le préwarping de fréquence. La correspondance s’améliore autour de la résonance. Pour autant, la résonance est très proche de la fréquence de Nyquist pour le pas d’échantillonnage de 0,15 s qui limite l’exactitude de la correspondance.
La tâche Convert Model Rate peut générer d'autres types de tracés de réponse. Par exemple, pour comparer les réponses dans le domaine temporel du modèle d’origine et du modèle converti, dans Output Plot, sélectionnez step ou impulse.
La tâche génère un code dans votre live script. Le code généré reflète les paramètres et options que vous sélectionnez, et comprend le code permettant de générer le tracé de réponse que vous indiquez. Pour consulter le code généré, cliquez sur
Show code au bas de la zone des paramètres de la tâche. La tâche s’agrandit afin de pouvoir afficher le code généré.
Par défaut, le code généré utilise sysConverted en tant que nom de la variable de sortie, qui correspond au modèle converti. Pour indiquer un autre nom de variable de sortie, saisissez le nouveau nom dans la ligne de résumé située en haut de la tâche. Par exemple, changez son nom en sys_d.
La tâche met à jour le code généré afin de refléter le nouveau nom de variable et le nouveau modèle converti sys_d apparaît dans l’espace de travail MATLAB. Vous pouvez utiliser le modèle pour une analyse ultérieure ou pour le design de contrôle, comme vous le feriez avec n’importe quel autre objet de modèle. Par exemple, simulez la réponse du système converti à une saisie d’onde carrée. Appliquez le pas d’échantillonnage que vous avez défini dans la tâche.
[u,t] = gensig('square',4,10,0.15);
lsim(sys_d,u,t)