LTSpice Filter Mittenfrequenz messen

OP #5965597
Lesenswert?

Hallo zusammen,

ich wollte die Mittenfrequenz eines "verstimmten" Doppel-T-Filters im 
Gegenkopplungszweig eines Opamps messen mit LTspice, messen deswegen, 
weil die einzelnen Bauteile nicht den Vorgaben eines "normalen" 
Doppel-T-Filters entsprechen (normal: R1=R2, C1=C2; R3=R1/2; C3=2xC1).
Ein normales Doppel-T-Filter wüßte ich mathematisch zu berechnen, dazu 
gibt es eine einfache Formel; aber bei einem, wo quasi alle Bauteile 
abweichende Werte haben, da fehlen mir die Kennnisse.

In LTspice habe ich die Schaltung simuliert und für die Messung der 
Mittenfrequenz .meas benutzt:

1. die maximale Ausgangsspannung finden (die hat nämlich bei der 
Mittenfrequenz ihr Maximum) mit
.meas vmax MAX mag(v(out)),

2. dann die Stelle finden, wo die Differenz der momentanen 
Ausgangsspannung und vmax Null ist:
.meas freq TRIG mag(v(out))=vmax CROSS=1 TARG mag(v(out))=vmax CROSS=1

Als Ergebnis finden sich in der "SPICE error log" folgende Einträge:

vmax: MAX(mag(v(out)))=(23.9954dB,0°) FROM 20 TO 20000
freq=0 FROM 1410.44 TO 1410.44

Hier sehe ich zwar, dass die Mittenfrequenz 1410Hz beträgt, aber 
eigentlich wollte ich, dass LTspice diesen Wert der Variablen freq 
zuweist. Geht sowas?

Oder auch anders gefragt:
Gibt es eine elegantere Lösung, mit LTspice die Mittenfrequenz eines 
Filters zu messen oder berechnen zu lassen?

Und ja, mir ist bekannt, dass man mittels Cursor im AC-Plot die 
Mittenfrequenz zwar ungefähr, aber schnell und einfach ablesen kann.


Für alle eure Antworten viele Dank im Voraus!

Viele Grüße,
Rüdiger

P.S.: Die Erläuterungen zur .measure-Anweisung in der LTspice Hilfedatei 
sind mir insgesamt ohne Bezug zu einer konkreten Schaltung sehr 
kryptisch. Wenn jemand einen guten Link weiß, der mehr Licht in die 
Sache bringt, wäre ich jedenfalls sehr dankbar!
OP #5965670
Lesenswert?

Hallo Helmut,

danke für die schnelle Antwort, nur... leider funktioniert es bei mir 
nicht. Ich benutze LTspice XVII und habe erst vor wenigen Tagen ein Sync 
Release gemacht.
Ich denke nicht, dass ich mich vertippt habe, Screenshot beigefügt.
In der SPICE error log steht:

.ac oct 100 20hz 20khz
.options meascplxfmt=polar
.end

Direct Newton iteration for .op point succeeded.
vmax: MAX(mag(v(out)))=(20.8139,0°) FROM 20 TO 20000
Measurement "fmax" FAIL'ed

Date: Sun Sep 08 21:01:15 2019
Total elapsed time: 0.133 seconds.

Außerdem ein Screenshot von dem .measure-Editor. Es scheint mir z.B. 
komisch, dass der Ausdruck vmax nicht in der Rubrik "Right hand side" 
gelistet wird.
Oder ist das normalerweise so?

Gruß,
Rüdiger
Angehängte Dateien:
OP #5965748
Lesenswert?

ok, danke für deine Hilfe.

Im Anhang sind die Dateien, das Filter hat zwei Potis, eins für die Güte 
des Filters (beeinflusst auch ein bisschen die Frequenz) und eins für 
die Stärke der Anhebung.

Außerdem die Transistor-mod-Dateien für den Opamp. [Obwohl davon 
abgeraten wird - ich habe die Bauteile, die ich besitze und in der 
Simulation benutze, in die LTspice-Libraries integriert.] Die müsstest 
du noch einbinden.

Vielen Dank schon mal im Voraus.

Heiße Grüße aus dem ferne Japan, 22:30 Uhr und noch immer 33°C!!

Rüdiger
Angehängte Dateien:
#5965784
Lesenswert?

Hallo Rüdiger,

Ich hatte mag() vergessen.

.meas fmax FIND freq WHEN mag(v(out))=vmax

vmax: MAX(mag(v(out)))=(20.814,0°) FROM 20 TO 20000
fmax: freq=(765.649,0°) at 765.649

In der Vergangenheit hatte ich schon mal das Problem, dass ich 
vmax*0.99999 abfragen musste. Nur so als Hinweis falls es mal mit = 
nicht klappt. Vielleicht ist das ja inzwischen behoben und gar kein 
Problem mehr.

In der .lib habe ich den 2N4401 und den BC557B auskommentiert, weil es 
die standardmäßig schon gibt. Im Schaltplan habe die Modelldatei 
hinzugefügt.
.lib R_3Tr_opamp.lib
Jetzt läuft die Simulation auf jedem Rechner direkt mit dem ausgepackten 
zip-File. Bei mir kommt nichts Eigenes in die LTspice-Verzeichnisse.

Gruß
Helmut
Herrenberg, 14°C, Nieselregen


Nachtrag: Ich habe deinen Schaltplan etwas verschönert. Man kann dann 
die Schaltung leichter verstehen und man muss nicht nach den 
Simulationsbefehlen suchen.
Angehängte Dateien:
OP #5965861
Lesenswert?

Hallo Helmut,

wirklich vielen Dank für die Mühe, die du dir gemacht hast.

Ja, natürlich: wenn vmax nur den Realteil enthält, darf(muss) der 
Vergleich bei v(out) auch nur den Realteil enthalten.

Danke auch für das Verschönern der Schaltung. Man selbst achtet nicht 
immer so sorgfältig darauf, gerade bei umfangreichen Schaltplänen fehlt 
mir Platz, die Beschriftung zu klein, um sie mühelos lesen zu können 
etc.

Und ich freue mich, etwas Neues gelernt zu haben, die von dir 
vorgestellte Methode ist elegant und nicht so umständlich wie meine. 
Leider habe ich noch keinen genauen Überblick über die tieferen 
Innereien von LTspice.

Und die .measure-Anweisung, obwohl sehr mächtig, scheinen die wenigsten 
zu benutzen. Das finde ich schade. Es wäre schön, wenn man zu den 
Erläuterungen in der Hilfe-Datei ein paar Beispiele mehr in dem 
Education-Ordner finden könnte, vielleicht kannst du das ja mal anregen. 
Sicherlich würden sich auch andere darüber freuen. Wo LTspice doch ein 
so fantastisches Werkzeug ist.

Mitternacht und immer noch 32.5°C. An erholsamen Schlaf ist nicht zu 
denken. Ich beneide euch um die 14°.

Viele Grüße,
Rüdiger
#5965884
Lesenswert?

Ich habe zumindest die Ursache gefunden.

LTspiceIV verträgt es nicht, wenn ein Plotlabel direkt auf einem 
Kreuzungspunkt zweier Leitungen liegt. Es verbindet dann die kreuzenden 
Leitungen. Plotlabels sind dort wo die ??? stehen.

Mein Rat:
1. Nehmt das aktuelle LTspiceXVII.
2. Vermeidet es Plotlabels direkt auf kreuzende Punkt zu legen damit 
Schaltungen kompatibel zu LTspiceIV bleiben.
#5966004
Lesenswert?

Circuit Checker schrieb:
> Helmut S. schrieb:
>> Ich schau mir das mal genauer an.
>
> Helmut S. schrieb:
>> Mein Rat:
>> 1. Nehmt das aktuelle LTspiceXVII.
>
> Falls es von der Version abhängen sollte:
>
> Hier meine Konstellation.

Ich habe die neueste Version vom 23. August 2019. Auf einem anderen 
Rechner die vom 30. Juli. Beide machen keinen Kurzschluss.

Ich rate dringend das Plotlabel von dem Kreuzungspunkt wegzuschieben. 
Ich werde das gleich auf meinem heruntergeladenen Schaltplan machen.
OP #5966008
Lesenswert?

@circuit checker

Es tut mir schrecklich leid, dieses Chaos verursacht zu haben. Es sind 
die Ströme, deren Bezugspunkt manchmal sehr nahe an diversen Kreuzungen 
liegt.

Bei mir selbst gab es deswegen keine Probleme, wie das bei älteren 
Versionen ist, kann ich nicht beurteilen.

Jedenfalls ist es sicherlich hilfreich, immer die neueste Version zu 
verwenden. Außer dem automatischen Update kann man zumindest bei LTspice 
XVII über den Menüpunkt Sync Release auch zwischenzeitlich 
sicherstellen, über die neueste Version zu verfügen.

Viele Grüße,

Rüdiger
#5966113
Lesenswert?

Rüdiger S. schrieb:
> Und die .measure-Anweisung, obwohl sehr mächtig, scheinen die wenigsten
> zu benutzen. Das finde ich schade. Es wäre schön, wenn man zu den
> Erläuterungen in der Hilfe-Datei ein paar Beispiele mehr in dem
> Education-Ordner finden könnte, vielleicht kannst du das ja mal anregen.
> Sicherlich würden sich auch andere darüber freuen. Wo LTspice doch ein
> so fantastisches Werkzeug ist.

Ein paar brauchbare Beispiele, ja, das wäre mal was! (träum)
#5966131
Lesenswert?

Mark S. schrieb:
> Rüdiger S. schrieb:
>> Und die .measure-Anweisung, obwohl sehr mächtig, scheinen die wenigsten
>> zu benutzen. Das finde ich schade. Es wäre schön, wenn man zu den
>> Erläuterungen in der Hilfe-Datei ein paar Beispiele mehr in dem
>> Education-Ordner finden könnte, vielleicht kannst du das ja mal anregen.
>> Sicherlich würden sich auch andere darüber freuen. Wo LTspice doch ein
>> so fantastisches Werkzeug ist.
>
> Ein paar brauchbare Beispiele, ja, das wäre mal was! (träum)

In der LTspice Yahoo group gibt es Beispiele.
https://groups.yahoo.com/neo/groups/LTspice/files/%20Tut/MEASURE/
Manche würde ich inzwischen etwas anders machen aber zum nachschauen 
sind sie trotzdem hilfreich.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren