Lcapy est un package Python pour analyser les circuits linéaires et utilise sympy pour l'analyse des symboles.
Documentation officielle: Bienvenue dans la documentation de Lcapy!
Lcapy peut effectuer une analyse numérique et symbolique des circuits. L'analyse numérique exprime le résultat de l'analyse numériquement, comme le résultat généré par le simulateur SPICE. L'analyse des symboles consiste à exprimer la fonction de transfert et l'impédance d'un circuit avec des symboles (formules mathématiques). En utilisant cette fonction, vous pouvez laisser l'ordinateur faire le travail de résolution d'équations de circuit gênantes.
Lcapy a également la capacité de dessiner des schémas de circuit de qualité manuel sur une base de commande [^ 1].
Au 31 octobre 2020, il n'y avait aucune information sur Lcapy à Qiita. Quand je l'ai recherché sur Google, il n'y avait presque pas de succès dans les pays anglophones, et encore moins dans les pays japonais.
Que pouvez-vous faire avec Lcapy? Je pense que vous devriez lire Aperçu de la documentation officielle. Enfin, mon article sur Lcapy peut vous aider à comprendre les fonctionnalités de Lcapy.
Cet article décrit comment activer Lcapy. Nous espérons que le nombre d'utilisateurs de Lcapy augmentera et que nous pourrons échanger des informations utiles.
Selon l 'Installation de la documentation officielle, les packages python suivants sont requis, alors installons-les en utilisant pip. lcapy, sympy, numpy, matplotlib, networkx
Si vous n'utilisez pas la fonction de dessin schématique, c'est la fin de l'installation.
Après l'installation, vérifions le fonctionnement sur Jupyter-notebook. Dans Lcapy, la fonction de transfert du circuit peut être obtenue par différentes méthodes, et un exemple est présenté ci-dessous.
Circuit de recherche de la fonction de transfert:
Trouver symboliquement la fonction de transfert
from lcapy import Circuit, s
cct = Circuit("""
Vi 1 0
R 1 2 RF
C 2 0 CF
""")
H = (cct.C.V(s) / cct.Vi.V(s)).simplify()
H
Le résultat de l'exécution est le suivant, et la fonction de transfert du circuit pourrait être analysée symboliquement.
Si vous souhaitez utiliser la fonction de dessin schématique, vous devez installer TeX.
Selon l 'Installation de la documentation officielle, vous avez besoin de pdflatex, circuitikz et ghostscript. Après examen, pdflatex est distribué en tant que W32TeX [^ 2], et le paquet circuitikz semble être installé en standard sur ce W32TeX [^ 3]. Il semble que ghostscript puisse être installé en utilisant l'installateur W32TeX. En d'autres termes, si vous installez uniquement W32TeX, vous aurez tout ce dont vous avez besoin. W32TeX peut être facilement installé en utilisant TeX Installer 3.
Dessinez un schéma de circuit
from lcapy import Circuit
cct = Circuit("""
Vi 1 0_1 step; down
R 1 2; right, size=1.5
C 2 0; down
W 0_1 0; right
W 0 0_2; right, size=0.5
P1 2_2 0_2; down
W 2 2_2;right, size=0.5""")
cct.draw()
Le résultat de l'exécution est le suivant et un beau schéma de circuit est dessiné.
Le code ci-dessus est tiré de ce qui suit: https://github.com/mph-/lcapy/tree/master/doc/examples/notebooks
Je suis impliqué dans des travaux liés à la conception de circuits depuis plusieurs années, mais jusqu'à récemment, je ne connaissais pas l'existence d'un outil permettant d'analyser les symboles de circuits.
Les thèses de doctorat suivantes seront utiles pour les types et les outils d'analyse de circuit. À propos du comportement mathématique des circuits électriques et de leurs calculs symboliques
Dans le tableau 1.1 de l'article, SAPWIN, SCAM sont utilisés comme outils d'analyse des symboles de circuit. 3443-scam-a-tool-for-symbolically-resolution-circuit-equations), WASABI sont introduits, mais en plus de ceux-ci, [QSapecNG] Il semble y avoir des outils tels que (http://qsapecng.sourceforge.net/) et CircuitNAVI. Je pense qu'il est préférable de choisir le meilleur outil pour ce que vous voulez faire.
Dans mon cas, ce que je voulais faire était:
J'ai écrit l'article suivant sur Lcapy, alors jetez-y également un œil. [Circuit x Python] Comment trouver la fonction de transfert d'un circuit en utilisant Lcapy [Circuit x Python] Comment développer et calculer les fonctions de transfert à l'aide de Lcapy [^ 1]: Lcapy ne peut pas analyser les dispositifs non linéaires tels que les diodes et les MOS, mais il peut être dessiné sous forme de schéma de circuit.
Recommended Posts