[Circuit x Python] Comment activer le package d'analyse de circuit linéaire Lcapy

Qu'est-ce que Lcapy?

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.

Comment utiliser

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.

Essayez de bouger

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: image.png

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. $\frac{1}{C_{F} R_{F} s + 1}$

Être capable de créer un schéma de circuit

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.

Essayez de bouger

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é. image.png

Le code ci-dessus est tiré de ce qui suit: https://github.com/mph-/lcapy/tree/master/doc/examples/notebooks

A propos de l'analyse des symboles de circuit

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:

  1. Analyser symboliquement la fonction de transfert du circuit
  2. Développez la fonction de transfert obtenue (trouvez le pôle, etc.)
  3. Calculer numériquement la fonction de transfert obtenue
  4. Affichez le résultat du calcul numérique dans un beau graphique. Python (Lcapy) était le meilleur choix pour cela.

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

[Circuit x Python] Comment activer le package d'analyse de circuit linéaire Lcapy
[Circuit x Python] Comment trouver la fonction de transfert d'un circuit en utilisant Lcapy
[Algorithm x Python] Comment utiliser la liste
[Circuit x Python] Comment développer et calculer les fonctions de transfert à l'aide de Lcapy
Comment obtenir la version Python
Comment empaqueter et distribuer des scripts Python
Comment utiliser la bibliothèque C en Python
[Python] Comment changer le format de la date (format d'affichage)
Excel X Python La technique de travail la plus rapide
Comment effacer les caractères générés par Python
Comment obtenir les fichiers dans le dossier [Python]
Comment utiliser Ruby's PyCall pour activer Pyenv Python
J'ai étudié comment rationaliser le flux de travail avec Excel x Python ②
[Python] Comment supprimer les valeurs en double de la liste
Comment récupérer la nième plus grande valeur en Python
Comment obtenir le nom de la variable lui-même en python
Réfléchissez à la programmation de Python sur votre iPad
Comment obtenir le nombre de chiffres en Python
[Pour les débutants] Comment étudier le test d'analyse de données Python3
[Introduction à Python] Comment itérer avec la fonction range?
Comment connaître le répertoire actuel en Python dans Blender
[Réintroduction à python] Comment importer via le répertoire parent
J'ai essayé de savoir comment rationaliser le flux de travail avec Excel x Python ⑤
Comment utiliser Raspeye Relay Module Python
[Python] Comment spécifier l'emplacement de téléchargement avec youtube-dl
Comment installer python
[Python] Comment utiliser la bibliothèque de création de graphes Altair
Comment créer un package Python à l'aide de VS Code
J'ai étudié comment rationaliser le flux de travail avec Excel x Python ①
[Introduction à Udemy Python3 + Application] 27. Comment utiliser le dictionnaire
[Introduction à Udemy Python3 + Application] 30. Comment utiliser l'ensemble
[Python] Résumé de la façon de spécifier la couleur de la figure
Comment utiliser le modèle appris dans Lobe en Python
[Introduction à Python] Comment arrêter la boucle en utilisant break?
[Python] Comment réécrire le style de table avec python-pptx [python-pptx]
Comment profiter de Python sur Android !! Programmation en déplacement !!
[Python] Comment afficher les valeurs de liste dans l'ordre
J'ai étudié comment rationaliser le flux de travail avec Excel x Python ③
J'ai essayé de simuler la propagation de l'infection avec Python
Essayez d'obtenir la liste des fonctions du paquet Python> os
[python] Comment vérifier si la clé existe dans le dictionnaire
Comment changer le fichier de configuration pour qu'il soit lu par Python
Comment déboguer une bibliothèque Python standard dans Visual Studio
[python] Comment utiliser Matplotlib, une bibliothèque pour dessiner des graphiques
Comment utiliser la méthode __call__ dans la classe Python
[Hyperledger Iroha] Remarques sur l'utilisation du SDK Python
Comment déployer Pybot, le manuel Python le plus simple, sur Heroku
Comment créer un package Python (écrit pour un stagiaire)
Comment obtenir la dernière (dernière) valeur d'une liste en Python
Je ne savais pas comment utiliser l'instruction [python] for
Comment entrer dans l'environnement de développement Python avec Vagrant
Météorologie x Python ~ De l'acquisition de données météorologiques à l'analyse spectrale ~
Performances Ruby vs Python Comment choisir la bonne technologie?
[Introduction à Python] Comment obtenir des données avec la fonction listdir
[2020.8 dernière] Comment installer Python
Comment installer Python [Windows]
python3: Comment utiliser la bouteille (2)