ngspice est un simulateur de circuit électronique.

Ce tuto propose une première utilisation dans le cadre d'une étude d'un circuit passe bande dont le schéma est le suivant.

La source d'alimentation est un générateur de signal sinusoïdal. On désire visualiser les diagrammes de Bode de gain et de déphasage pour les fréquences allant de 10 à 1MHz.

Ecriture du fichier décrivant le circuit

Dans un premier temps, il faut décrire le schéma dans un fichier texte. Pour se faire, il faut numéroter les noeuds. Seul le noeud 0 est obligatoire. Les autres peuvent ne pas être des nombres.

La première ligne du fichier sera considérée comme un commentaire. La dernière ligne doit être .end.

Ci-dessous, la transcription du schéma en fichier ngspice que je nomme rlc.cir :

.title Circuit RLC passe bande
V1 1 0 dc 0 ac 0 PULSE(0 5 1u 1u 1 1)
C 1 2 940n
L 2 3 1.08m
R 3 0 10
.end

V1 décrit l'alimentation entre les noeuds 1 et 0. dc est sa composante continu (0 ici) qui peut être utilisée par la commande op qui détermine le point de fonctionnement.

ac est la valeur de Vmax dans la composante alternative (1 ici) utilisée par la commande ac.

PULSE est utilisée par la commande tran dans le régime transitoire.

Utilisation du fichier dans ngspice

la commande permettant de charger le circuit dans ngspice est :

source rlc.cir

Pour générer les points, la commande est :

ac dec 10 10 1meg (10 points par décade pour des fréquences allant de 10 à 1MHz -meg et non M-)

print all permet de voir le résultat de la commande.

Pour tracer le diagramme de Bode du gain en dB, on utilise la commande :

plot vdb(3) ou plot db(v(3)), 3 étant le noeud de la sortie.

Pour tracer le diagramme de Bode du déphasage, on utilise la commande :

plot cph(v(3))

Exporter lers données

Il est possible d'exporter les données pour les utiliser par exemple dans un tableur.

La commande est la suivante pour obtenir les données de ces deux courbes :

wrdata rlc.csv db(v(3)) cph(v(3))

Le fichier rlc.csv pourra ainsi être importé dans un tableur pour exploiter les données de la simulation :