Forum: Analoge Elektronik und Schaltungstechnik LTspice: wie unübersichtliche Gleichungen als Quelle darstellen?


von Louis (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

angefügt ist ein Ltspice Beispiel für einen PID Compensator.

Beispielsweise berechne ich mir die Impedanz Zi mit einer bv-Quelle und 
der Gleichung Laplace = {R1}*(1+s*{C1}*{R2})/((1+s*{C1}*({R1}+{R2}))).

Und die Impedanz Zf über Laplace = 
(1+s*{C2}*{R3})/((1+s*{C1}*{C3}*{R3}/({C2}+{C3}))*s*({C2}+{C3}))

G00 ist dann das Verhältnis -Zf/Zi. Eine weitere bv-Quelle hätte dann 
folgende Gleichung: Laplace 
=-1*((1+s*{C2}*{R3})/((1+s*{C1}*{C3}*{R3}/({C2}+{C3}))*s*({C2}+{C3})))/( 
{R1}*(1+s*{C1}*{R2})/((1+s*{C1}*({R1}+{R2}))))

Man sieht schon, dass die Gleichungen sehr schnell unübersichtlich 
werden. Für G00 hätte ich gerne so etwas in der Art: -V(zf)/V(zi). So 
funktioniert das aber leider nicht.

Warum brauche ich das? Ich möchte durch wenige Klicks die Funktionen 
plotten und gleichzeitig die Ausdrücke klein halten. Wenn ich 
beispielsweise für die Übertragungsfunktion G alle Teilgleichungen 
einsetze, dann kommt man schnell auf über 300 Zeichen - das wird dann 
schnell hässlich. Die einzige Lösung die ich bisher gefunden habe ist, 
dass ich mir die benötigten Gleichungen als Text (z.B. V(G0) * V(Tn) / 
V(G00)) zurechtlege, und diese dann in das Plottfenster per "Add Traces" 
einfüge.

Ich denke da an so etwas in der Art wie in C das "define" um Gleichungen 
als einsetzbare Variablen darzustellen. Bitte nicht wortwörtlich nehmen, 
ich weiß dass es in Ltspice kein "define" gibt! Und ich weiß, dass 
Ltspice kostenlos ist und dass man da wohl nicht allzuviel verlangen 
darf.

Grüße Louis

: Verschoben durch Moderator
von Klaus R. (klara)


Lesenswert?

Hallo Louis,
falls Du hier keine Antwort erhältst, dann probiere es in der 
internationalen LTspice Usergroup. Aber ich würde ruhig noch etwas 
warten.

https://groups.io/g/LTspice

: Bearbeitet durch User
von John B. (craftsman)


Lesenswert?

Hallo,

ich bin nicht sicher, ob ich deine Wünsche an eine Lösung vollständig 
verstanden habe.

Ähnliches löse ich in lts mit .function() . Die Hilfefunktion enthält 
das.  Hoffe, das hilft.

john

von Carlo (Gast)


Lesenswert?

John B. schrieb:
> .function()

so wie hier gezeigt ..
http://www.simonbramble.co.uk/lt_spice/ltspice_lt_spice_tutorial_5.htm
https://www.analog.com/en/technical-articles/ltspice-importing-exporting-pwl-data.html

kann in extra Datei angelegt werden
zB.
_______________________________________________________
Compl_Sources.meas

.param a1   1m  für die Definition der festen Werte    und
.param b1   7
....
.func 1_ComplexSource(a1,b1,c1) {(4*a*b)/(const*c**9)}
.func 2_ComplexSource(a2,b2,c2) {(4*a*b)/(const*c**16)}
_________________________________________________________


Aufruf im Arbeitssheet
__________________________________________________________
.inc Compl_Sources.meas ; Aufruf der Funktion
.param 1_ComplexSource(a1,b1,c1)
.param c1=10, ....
___________________________________________________________

von Carlo (Gast)


Lesenswert?


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.