Forum: Analoge Elektronik und Schaltungstechnik LTSpice, Oszillator Schaltung, mit .meas Befehlen im FFT plot messen (lassen)


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von martin (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich soll eine Oszillatorschaltung mit LTSpice durchsimulieren. Es ist 
eine gewöhnliche Pierce Schaltung vorgegeben: 
https://de.wikipedia.org/wiki/Pierce-Schaltung

Ich dachte, ich plotte die ersten paar Millisekunden im eingeschwungenen 
Zustand am Ausgang der Schaltung und erzeuge mir daraus die FFT. 
Anschließend lasse ich mir ein paar selbst definierte Parameter 
berechnen.

So etwa die "-n dB Bandbreite", also jene Bandbreite der 
Resonanzfrequenz welche das Signal n dB unterhalb des peaks hat. Je 
schmalbandiger desto höher die Güte der Schwingung und desto "stabiler" 
nun also die Schwingung selbst.
Mit dem .meas lässt sich das bequem realisieren:

.MEAS x1 max mag(V(out));
.MEAS 3dB_Bandwidth trig mag(V(out))=x1/sqrt(2) rise=1
+ targ mag(V(out))=x1/sqrt(2) fall=last;

V(out) ist die Spannung am Ausgang der Schaltung, das Label dort heißt 
also einfach out.

Ich möchte mir nun ganz einfach den Wert des Peaks ausgeben lassen, 
schaffs aber nicht.
Die Beispiele aus der LTSpice Hilfe beziehen sich zumeist auf 
Zeitsignale hier möchte ich aber im Frequenzbereich messen.
so sieht mein skript aus:

.MEAS x1 max mag(V(out));
.MEAS Bandwidth trig mag(V(out))=x1*0.25 rise=1
+ targ mag(V(out))=x1*0.25 fall=last;
.MEAS y1 FIND V(out) AT=10k;
.MEAS y2 FIND V(out) AT=x1;
.MEAS y3 FIND V(out) WHEN V(out)=x1

// Faktor 0,25 ist einfach willkührlich gewählt

die Ausgabe dazu:

x1: MAX(mag(V(out)))=(-6.08048dB,0°) FROM 0 TO 438365
Bandwidth=29.8039 FROM 22340.9 TO 22370.7
y1: V(out)=(-81.52dB,-108.221°) at 10000
y2: V(out)=(-7.47613dB,0.0652501°) at 0.496565
y3: V(out)=(-6.08048dB,0°) at 0


Der Wert bei 10kHz, also y1 stimmt soweit. y3, also der Wert bei x1, die 
Frequenz beim Peak stimmt nicht. Obwohl die Bandbreite richtig erkannt 
wurde.

Bitte um Rat.
Ist der Ansatz überhaupt brauchbar oder ist das sowieso bödsinn was ich 
da vorhabe?

Toll wäre ja die Änderung der absoluten Schwingfrequenz in abhängigkeit 
der Temperatur und der Widerstände.

von Helmut S. (helmuts)


Angehängte Dateien:
  • preview image for AC.PNG
    AC.PNG
    69,4 KB, 448 Downloads

Bewertung
2 lesenswert
nicht lesenswert
Hallo Martin,

schau dir mal meine Simulation an.

Der Oszillator schwingt bei der Frequenz bei der die Phase der 
"loopgain" bei 0° ist.

Der Plot ganz rechts zeigt Abhängigkeit der Schwingfrequenz von der 
Größe der Kapazität von C1 und C2. Um den Plot zu bekommen musst du die 
Zeile ".step ..." aktivieren. Im log-file stehen dann die Ergebnisse. 
Die kann man aus dem log-file heraus plotten. Rechtsklick -> Plot ...

Um im Zeitbereich genauer die Frequenz zu bekommen, habe ich reltol=1e-5 
gesetzt. Dann passt auch die Frequenz aus der FFT besser zur 
AC-Simulation.

Als Güte für den Schwingkreis habe ich mal 100000 angenommen. 
Wahrscheinlich etwas zu hoch gegriffen. Wenn du 50000 nehmen willst, 
dann L halbieren und C verdoppeln. Siehe auch die Formeln in den 
Kommentaren.

Beachte auch diese Zeile.
.options meascplxfmt=polar
Damit bekommst im log-file diese verflixten dB weg.

Gruß
Helmut

Zum Nachlesen
http://www.axtal.com/Deutsch/TechnInfo/Quarzkochbuch/

: Bearbeitet durch User
von martin (Gast)


Bewertung
0 lesenswert
nicht lesenswert
danke, das hat mir sehr weitergeholfen! :)
Das Buch ist übrigens Top! Habe ich vorher schon gekannt aber noch nicht 
(im Detail) studiert.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.