LTspice: Amplitude bei einer Frequenz in der Transient-Analyse?

OP #5912053
Lesenswert?
• ▲
▼
Hallo,

ich möchte in LTspice einen Amplituden-Modulator auf möglichst kleine 
Verzerrungen optimieren.
Dazu moduliere ich auf z.B. 900 kHz ein 1-kHz-Signal.
Idealerweise entstehen dann neben dem Träger die beiden Seitenfrequenzen 
899 und 901 kHz. Real kommen noch als "NF"-Verzerrungen Seitenfrequenzen 
hinzu, und zwar bei 898/902 kHz, 897/903 kHz usw. Die gilt es zu 
minimieren.
Man kann sie sich zwar mit "View / FFT" ansehen und die Amplitude 
händisch ausmessen. Weniger umständlich wäre aber schöner.

Eine Möglichkeit wäre, mit dem .four-Statement die Amplitude der 
Grundwelle auszugeben. Ich habe auf die Weise 2 Frequenzen "gemessen", 
die Faktor 2 auseinander sind. In der Ausgabe sind sie aber 
seltsamerweise fast gleich. Keine Ahnung, warum das so ist. Jedenfalls 
funktioniert es für diesen Zweck nicht.

Eine 2. Möglichkeit: sehr schmalbandige Filter für jede zu messende 
Frequenz mit Gleichrichter, und dann dessen Ausgangsspannung ausgeben.
Ok, kann man machen, aber ...

Gibt es eine Möglichkeit, die Amplituden bestimmter Frequenzen in der 
Transienten-Analyse mit z.B. einem .measure-Statement in die Log-Datei 
zu schreiben?

Tschüs
#5912110
Lesenswert?
• ▲
▼
Ich habe dir mal ein Beispiel mit .MEASURE gemacht. In dem Beispiel 
werden die beiden Seitenbänder und der Träger gemessen, 99kHz, 100kHz, 
101kHz.
Vermutlich muss man den maximalen Zeitschritt noch weiter reduzieren um 
genügend Genauigkeit zu bekommen. Eventuell lohnt es sich auch noch die 
Daten mit double precision zu speichern da .measure mit den 
gsepeicherten Daten verarbeitet.
.options numdgt=10

Kontrolliere bei mehreren Beispielen mit der FFT ob die gewünschte 
Genauigkeit erreicht wurde.

Ergebnis: Beachte die Werte bei v1rms, vcrms und v2rms. Die Werte 
sollten 0,25, 1, und 0,25 sein.

View -> SPICE Error Log

vavg: AVG(v(sig))=9.19984e-010 FROM 0 TO 0.005
v1re: AVG((v(sig)-vavg)*cos(360*99e3*time))=0.176542 FROM 0 TO 0.005
v1im: AVG((v(sig)-vavg)*sin(360i*99e3*time))=-2.14701e-007 FROM 0 TO 
0.005
v1rms: sqrt(2)*hypot(v1re,v1im)=0.249668
vcre: AVG((v(sig)-vavg)*cos(360*100e3*time))=1.87688e-009 FROM 0 TO 
0.005
vcim: AVG((v(sig)-vavg)*sin(360*100e3*time))=0.706176 FROM 0 TO 0.005
vcrms: sqrt(2)*hypot(vcre,vcim)=0.998683
v2re: AVG((v(sig)-vavg)*cos(360*101e3*time))=-0.176546 FROM 0 TO 0.005
v2im: AVG((v(sig)-vavg)*sin(360*101e3*time))=-2.1852e-007 FROM 0 TO 
0.005
v2rms: sqrt(2)*hypot(v2re,v2im)=0.249674
Angehängte Dateien:

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.