• .
  • Willkommen im Forum!
  • Alles beim Alten...
  • Du hast kaum etwas verpasst ;-)
  • Jetzt noch sicherer mit HTTPS
Hallo, Gast! Anmelden Registrieren


THD-über-Frequenz Darstellung in LT-Spice mit ltspdisto
#1
Hi,

im LT-Spice Yahoo-Forum ist unter Files/Util eine interessante Applikation ltspdisto zu finden, welche klassische THD-Frequenzgänge darstellen soll.
Arbeitet anscheinend über ein Perl-script.
Als Dau war es mir unmöglich nach der kurzen Anleitung irgend etwas ans Laufen zu bekommen. Da diese Anwendung gerade für Audio interessant ist und sicher weitere Interessenten hat, stelle ich sie hier vor und hoffe, daß mir jemand helfen könnte, die Anwendung ans Laufen zu bekommen.

jauu
Calvin
 
#2
"Members only"
 
#3
??? Hää???
Und auf klardeutsch?
 
#4
er meint vmtl: er ist unfähig oder unwillig, einen account bei yahoo zu erstellen, um zugriff auf die files zu bekommen... Rolleyes

#calvin...lade doch das file hier hoch....dann is einfacher für alle...
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
#5
https://stromrichter.org/d-amp/content/i...pdisto.zip
 
#6
Sieht gut aus! LTspice ferngesteuert, mit Parametern Heart .

Die Beschreibung sieht auch ausreichend aus. Wo klemmt es denn?

 
#7
Zitat:Original geschrieben von kahlo

Sieht gut aus! LTspice ferngesteuert, mit Parametern Heart .

Die Beschreibung sieht auch ausreichend aus. Wo klemmt es denn?
Zwischen den Ohren, hat er doch selbst gesagt Confused
...mit der Lizenz zum Löten!
 
#8
Zitat:Original geschrieben von kahlo
Sieht gut aus! LTspice ferngesteuert, mit Parametern Heart .

Hmmmm.... Batchbetrieb. Naja. misstrau
 
#9
Hab nochmal an potentiellen Stolperstellen einen ergänzenden Kommentar hinzugefügt und so ### gekennzeichnet.


Helmut Sennewald, 09/12/2006
V0.51
This program can plot the THD versus frequency.

You need Perl on your PC to run this application. See the links at the end.
Additionally I recommend the text editor "PSPad" for syntax highlighting.

### Perl installieren => http://www.perl.org/get.html
### Optional Notepad++ installieren => http://notepad-plus-plus.org/download/v5.9.3.html

1.
Before you can run it, you have to set the correct path to the LTspice
executable "scad3.exe". This path has to be set in one of the first lines
of the Perl-script "ltspdisto.pl".

$ltspice = '"C:\Programme\LTC\SwCADIII\scad3.exe" -b' ;

Change it to your installation, e.g. as shown below.

$ltspice = '"D:\programs\LTC\SwCADIII\scad3.exe" -b' ;

### Ist in Zeile 16 zu finden. Wichtig ist, falls der Pfad angepasst werden muss, die einfachen Hochkommata sowie das -b zu erhalten.

2. Generate a netlist from your schematic.
Therefore set the option to keep the netlist.
Control panel Kartenreiter Operation -> set "Automatically delete .net files" to NO.
Run one simulation with the schematic or use the View->SPICE netlist from the
menu to generate the netlist file (.net).


3.
Open a command window (cmd) in XP.

Now run the Perl interpreter with the script.

perl ltspdisto.pl amplifier.net disto.cir DEC 20 20 20000

### Wichtig: Zuvor in das Verzeichnis wechseln, in dem die Simulationsdatien liegen.
### Beispiel:
### cd c:
### cd meinVerzeichnis\meinUnterverzeichnis
### ENTER drücken
### Die Zeile mit dem Aufruf (perl ltspdisto.pl amplifier.net disto.cir DEC 20 20 20000) in die Zwischenablage kopieren und in der CMD-Box mittels rechter Maustaste einfügen und ENTER drücken.


This example will generate 'disto.thd' and 'disto.raw' with the netlist
'amplifier.net', e.g. from the schematic 'amplifier.asc'.
It could be any pure netlist too. The only requirement in the
schematic/netlist is one line exactly written as shown below.

--------------------------------------------------------------


Some more details how the program works.

There is one specific param-line necessary in the netlist.

.param F1=

This line is altered from run to run by the Perl-script.
1. run: .param F1= 1000
2. run .param F1= 1137
3. run ...


DEC 20 20 20000 means sweep from 20Hz to 20000Hz with 20 steps/decade

A source in the schematic should use this parameter F1 as the
frequency and a .FOUR command should use this parameter too.

.FOUR {F1} V(out)

V1 10 0 SINE(0 1 {F1})


The Perl-program performs multiple simulation runs while
incrementing the parameter F1(normally frequency) from run to run.
After every run, the result of the FOUR-analysis is read from the
log-file and written to a text-file and at the end to a raw-file
too. The advantage of this method is that you will get the full
accuracy of the FOUR-analysis. The output text-file can be used
with any other program like MS-Excel or OpenOffice-Calc.
Another big feature is the raw-file. It allows you to use the
waveform viewer to view the magnitude (and the phase) of the
distortion.
I have uploaded a screenshot to the 'Photos' section of this group.
"Distortion plots with 'ltspdisto.pl'"
There is also a screenshot for a short time frame available.
Files > Temp > disto.raw

The zipped version of this program together with an example is
available from the Files section.

Files > Util > ltspdisto.zip

I am a novice with Perl. So please no bad comments about my
Perl-style. Just improve the program by yourself. lachend

There are free of charge Perl interpreters.
I have used Perl 5.8.8. Msi(x86) from the next link.
http://www.activestate.com/Products/Down...ActivePerl
A smaller Perl.
http://tinyperl.sourceforge.net/


This THD-meter is not limited to step only the frequency. The
parameter 'F1' can be used to vary any parameter in your circuit
to plot e.g. THD versus some bias current, but then at a constant
frequency.

A detailed specifiaction can be found in the header of the Perl-
program 'ltspdisto.pl'.

Best regards,
Helmut

PS:
The waveform viewer can format the result.
Plot V(THD)/1V to remove the unit V.
Plot I(k2)/1A*1deg to get the unit degree for the phase of k2


Und so sieht das Ergebnis dann aus: [Bild: 920_perl_batch.PNG]
 
#10
Zitat:Original geschrieben von e83cc
Und so sieht das Ergebnis dann aus: ....

Sieht gut aus! Heart
 
#11
Hi,

immer noch nix Angry
Nach Installation von TinyPerl in C:Programmetinyperl blendet nach dem Start von TinyPerl.exe nur kurz ein Fenster auf mit "can´t find file" oder ähnlichem.

Das Installationsverzeichnis von scad3.exe ist das in der Anleitung angegebene, muss demnach also nicht verändert werden.
Der Ordner ltspdisto mit den Simufiles amplifier.asc, ~.net, etc. und der ltspdisto.pl befindet sich im Unterordner ...SwCADIIIltspdisto
Der cmd-Aufruf "perl ltspdisto.pl amplifier.net disto.cir DEC 20 20 20000" liefert die Antwort "Der Befehl ´perl´ ist entweder falsch geschrieben oder konnte nicht gefunden werden.

Liegt das Problem in der perl-Installation?? motz

jauu
Calvin

ps. ahh. der cmd-Aufruf muss hier offenbar mit c:\Programme\tinyperl\tinyperl.exe beginnen.
 
#12
Schreib dir mal den folgenden Text in die eine Datei z.B. "hallo.pl"

#!/usr/bin/perl -w
print("Hallo Calvin\n")

Das Flag -w sorgt dafür, das perl ein wenig gesprachiger wird. Dies solltest du vielleich noch im Skript von Sennewald ergänzen.

Dann öffnest du eine CMD-Box und navigierst in das Unterverzeichnis, in dem du die Datei gespeichert hast. Anschließend gibst du folgendes ein und drückst dann Enter:

perl hallo.pl

die Kurzform

hallo.pl

sollte auch funktionieren wenn die Installation soweit ok ist.

Auf dem Bilschirm sollte dann "Hallo Calvin" zu lesen sein. Wenn dies der Fall ist, funktioniewrt deine Perl installation und der Fehler ist wo anders zu suchen.

Was für ein Windows hast du denn? Wenns W7 ist liegt es vermutlich am UNC.
 
#13
Hi,

mit der Pfadangabe von Tinyperl läuft das Beispiel, aber ....
Mist.... mit eigener Datei des IV-converters funzt es wieder nicht richtig. Keine V(k2)-V(k9)Kurven in der .raw Datei
Im Gegensatz zum amplifier-Beispiel wird im cmd-Fenster beim Start der Durchläufe anscheinend F1=xxx nicht gesetzt.

jauu
Calvin
 
#14
So nochmal gaaaaanz laaangsam. Die Installion ist also jetzt ok, Hallo Kalvin wird ausgegeben? Das Amplifier Beispiel funktioniert auch? Mit einer eigen Datein funktionierts nicht?

Du weist ich bin blond und deswegen muss man mit mir langsam, deutlich und ausführlich sprechen Wink
 
#15
Hi,

es funzt. endlich bunte Kurven Smile
Die Simu-Datei muss sich ebenfalls im ltspdisto-Ordner befinden (oder vielleicht extra-Pfadangabe im cmd? mal probieren).

jauu
Calvin