Gast
#4967584
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.

