Forum: Analoge Elektronik und Schaltungstechnik LTSpice Monte Carlo Simulation, einzelne Werte auslesen


von Christian (Gast)


Lesenswert?

Hallo,

ich simuliere momentan einen Bandpassfilter mit LTSpice. Um zu sehen wie 
sich die Bauteiltoleranzen auf den Verlauf des Filters auswirken, kommt 
die Monte Carlo Simulation in LTSpice zum Einsatz.

Mit .step run werden 50 Durchläufe simuliert. Das funktioniert soweit 
auch alles ganz gut.

Im Frequenzgang ist jetzt der ein oder andere extreme Verlauf zu sehen. 
Ich weiß zwar welche Step das ist, aber was ich eigentlich in Erfahrung 
bringen möchte ist, welche Bauteilwerte hat die MC Simulation in diesem 
Step eingestellt?

Über die Option "Generate expanded Listig" erhält man im Spice Error Log 
zwar eine Netlist mit konkreten Werten, aber leider nur für einen Step 
(erster oder letzter, weiß ich nicht) und nicht für alle Steps bzw das 
man einen bestimmten vorgeben kann.


Also hat jemand eine Idee wie ich an die Bauteilwerte (ca 15 stk.) zu 
jeden Step dran komme?

Über .meas und .param geht es evtl. aber dann müsste ich für jedes 
Bauteil erstmal einen Parameter erstellen und den dann zuweisen. Man 
kommt ja scheinbar nicht direkt an Value des Bauteils.


LG
Chris

von Helmut S. (helmuts)



Lesenswert?

Hallo Chris,

mir fallen im Prinzip zwei Möglichkeiten ein.

1. Werte im log-file

Angenommen du hast im Schaltplan {R1} und {C1} an einem Widerstand bzw. 
Kondensator.
Mit .meas kann man die Werte zu jedem Schritt im log-file bekommen und 
sogar plotten. Dazu einfach einen Rechtsklick mit der Maus im log-file 
machen.

.meas R1_  param R1
.meas C1_  param C1


2.
V-Quellen in den Schaltplan einfügen die statt einem Spannungswert 
einfach {R1} bzw. {C1} haben.


Ich finde die 1. Löung eleganter.
Siehe params_from_step_with_gauss_100.asc im Anhang.

Tipp: Im zweiten Beispiel habe ich eine Worst-case Funktion definiert. 
Die benutzt nur zufällige Werte mit +/-Toleranz. Mann könnte das noch 
weiter treiben und nur jede Kombination exakt einmal simulieren.

: Bearbeitet durch User
von Christian (Gast)


Lesenswert?

Ja habe es jetzt über .meas param gelöst.
Etwas umständlich da so für jedes Bauteil ein Parameter für Value 
angelegt werden muss. Aber naja es funktioniert.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.