Utilisez LTspice pour simuler des systèmes mixtes continus et échantillonnés

Utilisez LTspice pour simuler des systèmes mixtes continus et échantillonnés


Saviez-vous que vous pouvez utiliser LTspice pour faire du traitement numérique du signal (DSP)? En fait, je dois dire qu'il est utile pour valider le fonctionnement d'un algorithme de traitement du signal en cours de développement. Cet article résume comment utiliser LTspice pour simuler le fonctionnement d'un continu mixte et systèmes échantillonnés.

LTspice se comporte comme un simulateur de systèmes à temps continu. Sous le capot, le simulateur choisit le pas de temps de simulation en fonction de l'activité. Plus il y a d'activité, plus l'intervalle de temps est petit. De même, il augmente le pas de temps lorsqu'il rencontre relativement peu d'activité. Chaque pas de temps est marqué avec le temps de simulation actuel afin qu'il puisse être tracé au bon point. Vous pouvez le voir en cliquant avec le bouton droit dans votre fenêtre de tracé LTspice et en sélectionnant Affichage → Marquer les points de données. En un mot, LTspice se comporte comme un ordinateur analogique historique. C'est cette caractéristique qui rend LTspice si utile pour simuler des circuits analogiques.

[Download the associated LTspice files (zip file)]

LTspice comprend un ensemble de fonctions spéciales exclusives / dispositifs de simulation en mode mixte généralement utilisés pour créer des modèles de simulation. Voir Fonctions spéciales de l'aide de LTspice. Le Sample Device est l'un des membres sans papiers de cette famille. Dans le contexte de LTspice, l'élément Sample n'est pas seulement un amplificateur d'échantillonnage et de maintien analogique. Si vous y réfléchissez, l'exemple de composant est un convertisseur analogique-numérique (ADC) qui se comporte également comme un registre cadencé. Dans LTspice, tout est numérique, et donc le composant Sample gèle ou stocke simplement la représentation numérique du signal «analogique» à son entrée, le transférant à sa sortie. C'est exactement un ADC. Étant donné que l'élément Sample stocke des données, il se comporte comme un registre.

Par exemple, supposons que vous vouliez réimplémenter une fonction analogique complexe dans un DSP. Comme le circuit qui est montré dans Figure 1.

Figure 1 Ce circuit analogique sert de point de départ pour utiliser la simulation LTspice.

La première étape consiste à déterminer sa fonction de transfert à l'aide de la transformée de Laplace. Cela peut être difficile ou facile selon ce que vous vous souvenez de la classe et la complexité du circuit. Pour moi, c'est un gros problème car je n'ai pas utilisé de transformée Laplace depuis plus de 35 ans. J'ai trouvé un programme astucieux appelé SapWin4 qui peut calculer la fonction de transfert Laplace résultante directement à partir d'un schéma.

Figure 2 montre le résultat de SapWin.

Figure 2 La fonction de transfert S-Plane résultant de l'utilisation de SapWin.

Ensuite, convertissez le plan s (système de temps continu) en plan z (système de temps échantillonné). Pour ce faire, j'ai utilisé Scilab, un équivalent open-source de Matlab.

figure 3 montre les étapes que j'ai utilisées dans Scilab – créez les variables «s» et «z»; entrer dans la fonction de transfert du plan s; appliquer la transformation bilinéaire pour convertir en système échantillonné (notez que 1 / échantillonneur = 22,6757 µs pour 44,1 kHz). Une erreur typographique est également incluse, illustrant que chaque frappe est importante dans ce processus.

figure 3 Ce processus utilise Scilab pour appliquer la transformation bilinéaire.

Pour plus d'informations sur la transformation bilinéaire, voir: Chapitre 33 de Guide du scientifique et de l'ingénieur sur le traitement numérique du signal.

L'équation de la figure 3 contient directement les cinq coefficients nécessaires d'un filtre Biquad de second ordre.

Nous passons maintenant à LTspice. L'étape suivante consiste à vérifier la fonction de transfert de Laplace en utilisant une source de tension à tension contrôlée ou une source de tension comportementale configurée avec l'équation de transformation de Laplace provenant de SapWin (Figure 4).

Figure 4 Utilisez ce circuit pour vérifier la fonction de transfert du plan S.

Vous pouvez voir les résultats si vous exécutez le fichier de simulation LTspice «testBiquad RevA2.asc» sur la figure 4. Vous pouvez remarquer qu'il y a un certain retard ou latence entre la sortie du filtre analogique et la sortie de notre source de tension à temps continu filtre. J'ai examiné cela et découvert dans LTspice Help que la mise en œuvre de la transformée de Laplace implique une somme de la tension instantanée et une convolution de la tension historique avec la réponse impulsionnelle qui est trouvée en prenant la FFT d'un ensemble de données. Il s'agit d'une méthode complexe et vous pouvez la lire vous-même dans l'aide sous la section Sources de tension et de courant comportementales arbitraires.

Nous pouvons maintenant construire le filtre numérique équivalent. Vous pouvez voir dans le schéma LTspice dans Figure 5 que j'ai créé un composant Z-1.

Figure 5 Ce circuit affiche le contenu à l'intérieur du composant Z-1. Le registre de capture d'entrée suivi du registre de transfert.

Vous pouvez regarder à l'intérieur en ouvrant son schéma et son symbole (clic droit sur le composant Z-1). Le Z-1 est construit à partir de deux exemples de composants fonctionnant sur deux horloges distinctes. Le composant échantillon transfère les données de l'entrée à la sortie instantanément sans pas de temps de simulation. Cela provoque tout composant échantillon suivant pour capturer de manière incorrecte les nouvelles données plutôt que les données retardées. Il a un problème de temps d'attente. Pour résoudre ce problème, j'ai déplacé la sortie du registre de capture (premier échantillon) vers un registre de transfert cadencé sur une horloge retardée ou inversée. Le circuit du composant Z-1 est représenté sur la figure 5.

Ensuite, nous pouvons configurer les registres de retard d'échantillonnage nécessaires et créer la sortie à l'aide d'une source de tension comportementale. La source de tension pondère chacun des registres de retard d'échantillonnage avec les coefficients stockés de la transformation Scilab ci-dessus. Enfin, nous ajoutons les horloges d'échantillonnage qui fonctionnent à la fréquence d'échantillonnage. Figure 6 montre le filtre.

Figure 6 Ce filtre numérique est équivalent au circuit analogique d'origine.

Ce filtre numérique est une représentation exacte du filtre réel, soit intégré dans un processeur DSP / ARM, soit intégré dans le matériel. Vous pouvez voir en exécutant la simulation et en traçant la sortie que les résultats réels d'une analyse transitoire montrent que la sortie du filtre numérique ressemble très étroitement à la sortie du filtre analogique dans Figure 7.

Figure 7 La sortie des trois filtres équivalents montre comment le nouveau filtre numérique a le même comportement que le circuit analogique d'origine. Il y a un décalage évident entre ceux-ci et la mise en œuvre de LTspice Laplace.

Quelques points supplémentaires:

  • Vous pouvez constater qu'une simulation du système échantillonné s'exécute beaucoup plus lentement que le système de temps continu d'origine. Utilisez-le comme outil de validation ou prenez des mesures pour accélérer la simulation. Ces étapes peuvent inclure l'utilisation d'une instruction Save pour limiter les données enregistrées aux seuls nœuds d'intérêt; éliminer toute composante temporelle continue de la simulation – même un simple RC provoquera de nombreux pas de temps pendant chaque période d'échantillonnage. Une horloge sinusoïdale a permis au processus d'échantillonnage de fonctionner plus avantageusement et il fonctionne beaucoup plus rapidement qu'avec une source basée sur l'impulsion. Le but de cet effort est de minimiser le nombre de pas de temps nécessaires par période d'échantillonnage. Idéalement, ce ne serait qu'un, mais en réalité, c'est à peu près 8-10. Il est également important de rester conscient de la gigue de l'échantillon lors de la configuration de l'horloge d'échantillonnage.
  • Il devrait être possible d'utiliser cette méthode pour simuler le fonctionnement de toutes sortes de systèmes échantillonnés, y compris les systèmes de contrôle, les PID ou même les réseaux neuronaux.
  • Certes, une application réelle et utile pour cela consiste à simuler où les entrées analogiques des capteurs et des actionneurs rencontrent le numériseur et le contrôleur.
  • LTspice inclut la possibilité d'utiliser directement les fichiers WAV. Cela peut être très utile pour stimuler le système avec une forme d'onde arbitraire ou pour enregistrer de longs flux de résultats de simulation.
  • La stabilité du système peut être testée à l'aide de techniques décrites dans le sous-répertoire FRA du répertoire d'installation de LTspice – Frequency Response Analysis.

En résumé, le dispositif de fonction spéciale LTspice appelé Sample peut être utilisé comme convertisseur analogique-numérique ou registre cadencé. Il stocke la représentation numérique de la tension analogique à son entrée. L'utilisation du composant Sample dans votre simulation est un bloc de construction simple et efficace permettant à LTspice de vérifier le comportement des systèmes échantillonnés ou des systèmes mixtes continus / échantillonnés.

Articles Liés

    • Utilisez LT SPICE pour analyser les filtres d'entrée
    • Simulez des filtres numériques avec PSpice
    • Valider les modèles Spice avant utilisation
    • Utilisez Spice pour analyser DRL dans un frontal ECG
    • Une nouvelle trilogie de circuits LTSpice avec thermistances NTC, PARTIE III: Un dernier éclat de simulations LTSpice pour les circuits de contrôle de température (LTC1040, LT8391 et plus)
    • 2021: une odyssée de simulation pour les thermistances
    • Conception du filtre à l'aide de la «méthode des millions de singes»

Le post Use LTspice pour simuler des systèmes mixtes continus et échantillonnés est apparu en premier sur EDN.



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *