vom Oszi aufgenommenes Signal in LTSpice XVII verwenden

OP #6712562
Lesenswert?

Hallo zusammen,

ich möchte ein mit dem Rigol DS1054Z aufgenommenes Signal als 
Eingangssignal für eine Schaltung in LT Spice verwenden.

Das DS 1054Z bietet u.a das csv und wfm Format an.

1. welches Dateiformat ist die richtige Wahl ?
2. wie bekomme ich die Daten in LTSpice ?

Hier im Forum gabs dazu mal nen Beitrag den ich aber nicht wieder finden 
konnte.


würde mich über Eure Tipps freuen !

Grüsse
#6712590
Lesenswert?

Man muss naturlich aufpassen ob die Anzahl der Digitalisierungsstufen 
für den Zweck ausreichen sind. Die meisten Oszilloskope speichern mit 8 
bit Auflösung. Um die Wirksamkeit von Filter zu überprüfen, um 
Nutzsignale aus dem Rauschen herauszufiltern, könnte es mit 8 bit eng 
werden. Ich habe es mit einem Filter für DCF 77,5 kHz versucht ein 
schwaches Signal gegenüber dem Rauscben anzuheben. Werte von Simulation 
und Praxis (Messung) haben sich, abgesehen von der langen 
Simulationsdauer, stark von einander unterschieden.
#6712597
Lesenswert?

Man kann auch .wav Dateien als Signal für
Transientensimulation in LTspice verwenden:

Bei Spannungs- und Stromquellen läßt sich eine .wav Datei mit dem
Parameter *wavefile=dateiname.wav* einbinden.
Bei Spannungsquellen skaliert Vollaussteuerung (0 dBfs) im Wavefile auf 
+/-1V also 2Vss.

Ich kenne das Rigol .wfm Format nicht, kann mir aber gut vorstellen, daß 
sich das relativ einfach in ein .wav konvertieren läßt.
8-Bit oder 16-Bit Rohdaten ohne Header lassen sich z.B. mit 
Audiosoftware wie Audacity  einlesen und als .wav Datei mit Header 
wieder exportieren.
Die korrekte Abtastrate muß man ermitteln und eintragen.
Gast #6713336
Lesenswert?

Yalu X. schrieb:
> Aber warum möchtest du das, wenn das Rigol auch direkt CSV-Dateien
> liefern kann?

Erstmal vielen Dank für die vielen Antworten !

@ Yalu X.

zum einen lässt sich wfm mit dem Rigol deutlich schneller speichern, zum 
anderen hatte ich noch nen Beitrag hier aus`m Forum im Hinterkopf bei 
dem es darum ging wfm in csv umzuwandeln.

Dabei wurde Notepad++ verwendet - finde ich nur leider nicht mehr...

Aber Ok, werd das mal direkt mit csv probieren !

Grüsse
Gast #6713338
Lesenswert?

Gerald K. schrieb:
> Man muss naturlich aufpassen ob die Anzahl der Digitalisierungsstufen
> für den Zweck ausreichen sind.

Hi Gerald K.

das Signal selbst ist eine per magn Tonabnehmer abgenommene 
Saitenschwingung. Grundfrequenz 30,9 Hz...
Dann würde theoretisch schon 61,8 Hz als Samplefrequenz ausreichen...

Grüsse
#6713351
Lesenswert?

stingray05 schrieb:
> zum einen lässt sich wfm mit dem Rigol deutlich schneller speichern, zum
> anderen hatte ich noch nen Beitrag hier aus`m Forum im Hinterkopf bei
> dem es darum ging wfm in csv umzuwandeln.

könnte aber auch daran liegen, dass die Daten im CSV viel höher 
aufgelöst sind! Das solltest du prüfen. Und Umwandlungen sollten doch zu 
finden sein...
Gruß Rainer
Gast #6713413
Lesenswert?

Gerald K. schrieb:

> Was ist der Zusatznutzen gegenüber einer LtSpice Wechselspannungsquelle
> mit 30,9 Hz, zumal Oberwellen keine Rolle spielen?

Das ist etwas mißverständlich formuliert, trifft aber den Kern. Der ist: 
wenn die Oberwellen keine Rolle spielen, kann man sich das ganze 
Gehampel mit Oszi und unzähligen Formatkonvertierungen komplett sparen 
und gleich eine Sinusquelle benutzen, die ein synthetisches Sinussignal 
erzeugt.

Will man aber simulieren, was mit einem realen Signal (incl. Oberwellen) 
passiert, dann macht man das einfach so: statt Oszi einfach PC benutzen 
und das Signal via Soundkarte als *.wav aufzeichnen. Da passt dann 
sofort die Samplerate und LTSpice kann auch direkt etwas damit anfangen.

Und ja: Brauchbare Capture-Programme können auch eine graphische 
Darstellung des Signals liefern, damit Oszi-Fetischisten ihren Oszi 
nicht allzusehr vermissen...
Gast #6713476
Lesenswert?

Gerald K. schrieb:
> Was ist der Zusatznutzen gegenüber einer LtSpice Wechselspannungsquelle
> mit 30,9 Hz, zumal Oberwellen keine Rolle spielen?

Hi Gerald,

Meine Kenntnisse mit LTSpice gehen noch nicht soweit das ich mit ner 
Wechselspannungsquelle das Tonabnehmersignal (siehe Bilder) so nachbauen 
könnte.

Saite anschlagen, gleichzeitig noch an Potis, auf dem recht vollen und 
damit Störanfälligem Breadboard, drehen ist nicht wirklich ideal...
Die Saitenanschläge auf dem Oszi sind auch recht schwer für einen 
bestimmten Wert reproduzierbar - überhaupt nicht zu vergleichen mit 
Spiel über einen angeschlossenem AMP.

In wieweit Pegelspitzen (LiLa) durch Oberwellen zusätzlich eine Rolle 
spielen ist noch nicht ganz klar, die Spikes sind im Signal aber 
zumindest zu sehen. Ließe sich aber mit entsprechend steilen Filtern in 
LTSpice auch einfacher testen.

Blau ist das Triggersignal vom NE 555 Ausgang.
Das sollte eigentlich ohne Unterbrechung ab dem ersten Spike auf HIGH 
stehen und erst bei ganz niedrigem Pegel auf LOW gehen...

Die Grundlegende Idee war erstmal einzelne Saitenanschläge vernünftig zu 
erkennen und per µC weiterverarbeiten zu können.

Mein bisheriger Ansatz war zumindest für die Signalaufbereitung rein 
Analog:

Verstärken => Gleichrichter / Limiter => Filtern (fehlt noch) => Re 
Trigger (zZ mit NE 555 mit Retrigger funktion)=> µC. Die 
Retriggerschaltung findet sich hier :
http://www.pegons-web.de/555grund.html#ntrig2g

Grundsätzlich funktioniert das Triggern bereits mit Ausgabe von 
MidiNoteON / Off über den µC - wären da nicht die Fehltrigger durch die 
Pegelschwankungen im Signal in Verbindung mit den nur sehr begrenzt 
einstellbaren Triggerschwellen vom NE 555 ...

Nächster Ansatz, wenn das Filtern nicht zum gewünschten Ergebiss führt, 
wäre ein Retrigger Sketch für den µC...

Vielleicht hat ja der eine oder andere noch nen guten Sketch mit dem die 
untere Triggerschwelle bis auf 0 eingestellt werden kann ?


Das Oszisignal als PWL Datei funktioniert inzwischen.
Vielen Dank nochmal für die Tipps !

Grüsse
Angehängte Dateien:
Gast #6713552
Lesenswert?

stingray05 schrieb:
> das Signal selbst ist eine per magn Tonabnehmer abgenommene
> Saitenschwingung. Grundfrequenz 30,9 Hz...
> Dann würde theoretisch schon 61,8 Hz als Samplefrequenz ausreichen...

Wie du schon richtig sagst, liegt die Grundfrequenz bei 30,9 Hz. Da das 
aufgenommene Signal aber genau nicht nur aus der Grundschwingung 
besteht, reicht eben als als Samplefrequenz die 61,8 Hz NICHT aus, auch 
theoretisch nicht.

Und selbst, wenn du ein reines Sinussignal mit einer Frequenz von 30,9 
Hz hättest, reicht als Abtastfrequenz genau 61,8 Hz nicht aus.
Das Abtasttheorem sagt einem, dass die höchste Signalfrequenz echt 
KLEINER als die halbe Abtastfrequenz sein muss (bei ausreichender Länge 
der Zeitserie). Man achte auf die Feinheiten bevor man irgendwelchen 
Unfug schreibt.
Gast #6714024
Lesenswert?

Wolfgang schrieb:
> Und selbst, wenn du ein reines Sinussignal mit einer Frequenz von 30,9
> Hz hättest, reicht als Abtastfrequenz genau 61,8 Hz nicht aus.
> Das Abtasttheorem sagt einem, dass die höchste Signalfrequenz echt
> KLEINER als die halbe Abtastfrequenz sein muss (bei ausreichender Länge
> der Zeitserie). Man achte auf die Feinheiten bevor man irgendwelchen
> Unfug schreibt.

Hi Wolfgang,

schon klar - die 61,8 (9) Hz waren auch nur als rein theoretischer 
`mindest Abtastwert` zu verstehen...
Der µC ist ein Teensy 3.2, läuft mit 72 Mhz. Da sollten einige zig 
Tausend Abtasttungen /s kein Problem sein...



By the way:
Vielleicht hat ja noch jemand anhand der Signal Screenshots (Saite ist 
dabei nur 1 x angeschlagen) andere / bessere Vorschläge für eine
Anschlagserkennung ?

Grüsse
Gast #6716575
Lesenswert?

stingray05 schrieb:
> Das Oszisignal als PWL Datei funktioniert inzwischen.

Da hatte ich mich dann doch zu früh gefreut...

Mir ist aufgefallen das der Pegel den LTSpice anzeigt nicht mit dem 
Oszisignal (getestet mit 2ms  5ms  10ms  20ms  50ms) überein 
stimmt...
Mir ist nicht klar woran das liegt. - Fehlen noch weitere Parameter / 
Fehler beim Umwandeln in txt Datei ?

Das Oszisignal wurde als .csv Datei gespeichert und mittels Notepad 
(nicht Notepad++) in .txt umgewandelt (siehe Anhang), dann in Spice als 
PWL File eingefügt (wie in der Anleitung von Analog Devices).

Um das Signal derzeit mit dem richtigen Pegel angezeigt zu bekommen muss 
.tran schon auf etwa 1000 stehen - dann passt der zeitliche Verlauf 
natürlich nicht mehr...

Wav Datei als Alternative scheidet leider aus, da der Pegel bei etwa 3 V 
liegt.

Würde mich über weitere Tipps freuen !


Grüsse
Gast #6716732
Lesenswert?

Ralf F. schrieb:
> Gibts ne Lösung damit nicht alle 1199 Einträge per Hand geändert werden
> müssen?
Lerne und verwende eine Skriptsprache Deiner Wahl und Du hast es 
leichter im Leben.

Ich hätte das auf die Schnelle in Python so gelöst:
1
#! /usr/bin/env python3
2

3
import sys
4

5
timestep = 1e-3
6

7
with open( sys.argv[ 1], 'rt') as file:
8
    for line in file:
9
        data = line.strip().split( ',')
10
        try:
11
            x = float( data[ 0]) * timestep
12
            y = data[ 1]
13
            print( "%s, %s" % (x, y))
14
        except TypeError:
15
            print( 'ERROR:', line)
Gast #6719738
Lesenswert?

Bernd schrieb:
> Die X-Achse ist die Zeit.
> In der Datei 'H_einzelner_Anschlag_2ms.txt' stehen dort ganzzahlige
> Werte, die von LTSpice als Sekunden interpretiert werden.

Hi Bernd,

wie müsste denn dann das Zahlen Format in der text Datei aussehen damit 
mir LSpice zb statt mit .tran 1000, mit .tran 1 die richtigen Werte 
anzeigt ?

zB Anstelle von 0 bis 1199 dann 0.000000 - 0.001199 ?

Grüsse
Angehängte Dateien:
Gast #6719928
Lesenswert?

stingray05 schrieb:

> Wav Datei als Alternative scheidet leider aus, da der Pegel bei etwa 3 V
> liegt.

3V Spitze-Spitze würde doch schon (fast) wunderbar passen. Und selbst 
wenn nicht: zwei Widerständen können daraus mit Sicherheit einen 
vollkommen normgerechten Line-Pegel erzeugen.

Und falls es 3V effektiv sein sollten: auch dann klappt der Trick mit 
dem Spannungsteiler ganz hervorragend.

Sprich: mit der Verwendung des PC zur Aufnahme kannst du dir Unmengen 
Arbeit sparen und es kostet nur maximal zwei lächerliche Widerstände...

Es geht noch weiter: du kannst die Aufnahme problemlos auch gleich noch 
passend beschneiden. Dadurch hast du das, was dich primär interessiert, 
nämlich die Attack-Phase vollständig und nicht erst ab dem Moment, wo 
irgendein halbdämlicher Oszi-Trigger endlich triggert.
Gast #6726521
Lesenswert?

Hi c-hater,

Danke für die Tipps !

Hab das mal mit .wav versucht und erhalte in LTSpice XVII die 
Fehlermeldung:
"Missing Time Points in PWL Source V3"...
Woran kann das liegen ?

Signalformat: 16 Bit (Integer), 44.1Khz - aufgenommen als .wav Datei

Aufgenommen wurde das Signal mit Cantabile Performer 3.0 (DAW) da in 
Audition 1.5 oder Audacity 3.xxx kein ASIO4all ausgewählt werden kann 
obwohl in beiden mein Audiointerface (iRig HD-A) angezeigt wird...

Habe als Wave File Format in Cantabile auch die übrigen Optionen
wav, wave64 und automatisch ausprobiert - der Fehler beim simulieren in 
LTSpice bleibt trotzdem...

Vielleicht hat dazu jemand "die" Idee ?


Grüsse
Angehängte Dateien:
Gast #6726688
Lesenswert?

H. H. schrieb:
> Funktioniert doch bestens.

Hi H.H,

funktioniert so leider nur dann wenn ich Draft1.asc direkt mit LTSpice 
öffne.
Sobald ich die vorher speichere und dann öffne kommt "V1: could not open 
wavefile: h_Saite_002.wav"...
Das gleiche passiert wenn ich Draft1 in einer vorhandenen Schaltung 
verwende (siehe Anhang).

In welchem Ordner muss die Draft1.asc liegen ?

Wenn ich anstelle von "wavefile=H_Saite_002.wav" dann den direkten Pfad
PWL:"F:\Arduino + Elektronik\LTspiceXVII\PWL Daten\H_Saite_002.wav" 
verwende, bekomme ich in der Draft 1 und in meiner Schaltung wieder 
"missing time points in PWL source V1 bzw V3"...

Dasselbe passiet auch wenn ich nicht die Draft1.asc verwende, sondern 
nur eine Spannungsquelle (zB V3) und dort meine H_Saite_002.wav als PWL 
Datei
einbinde...

wer kann helfen ?

Grüsse
Angehängte Dateien:
Gast #6726961
Lesenswert?

Gerald K. schrieb:
> Wenn wave= keinen Pfad enthält, dann sollte die WAV-Datei im gleichen
> Verzeichnis wie die ASC-Datei liegen.

Danke Gerald K.,

das war genau der richtige Tipp !
Scheint soweit zu funktionieren...- allerdings dauert die Simulation 
ewig.

Gibts ne möglichkeit die deutlich zu beschleunigen ?

Grüsse
#6726992
Lesenswert?

Das Problem kenne ich, es liegt an den vielen Abtastpunkten (~ 477000 
Samples).

Am besten nur kürzere interessante Teilstücke simulieren.

Welches Zeitintervall wird simuliert?

Man könnte auch die Samplerate von 44,1KHz vierteln. Bei 11kHz kann die 
höchste erfassbare Oberwelle bei 5kHz liegen. Oder einen kürzeren 
Ausschnitt.

Die 477000 Samples müssten etwas mehr als 10s sein. Man könnte schauen 
wie lange die Simulation von 1s dauert. Dann könnte man hochrechnen wie 
lange 10s dauern.
#6727060
Lesenswert?

Überlegungen zur Geschwindigkeit: wenn für jeden Knoten ein 
Spannungswert pro Sample gespeichert muss, kommt man auf rund 1/2 
million Werte pro Knoten. Aus wie vielen Knoten besteht das Projekt? 
Wieviel RAM stellt der PC zur Verfügung. Ist zu wenig an RAM, dann muss 
auf die Festplatte ausgelagert werden und das kostet viel Zeit. Zeit 
neben der eigentlichen Simulationsarbeit. Ein PC mit Windows 64 und viel 
RAM ist sicher ein Vorteil.
Gast #6729294
Lesenswert?

Gerald K. schrieb:
> Das Problem kenne ich, es liegt an den vielen Abtastpunkten (~ 477000
> Samples).
>
> Am besten nur kürzere interessante Teilstücke simulieren.

Hallo Gerald K.

danke nochmal für die Tipps - funktioniert !
ich hab die Samplerate jetzt mal auf 11 KHz umgestellt - läuft so 
erheblich schneller.

Wie kann ich das Signal mit LTSpice über die Soundkarte ausgeben ?
Was muss wie eingestellt werden, und in welchem Ordner muss die so 
erzeugte .wav Datei dann liegen ?

Grüsse
#6729309
Lesenswert?

Gast #6732945
Lesenswert?

Michel M. schrieb:
> Mischen und direkte Weiterverarbeiten der Daten per Formel
> oder OP geht auch :-)
> 
https://www.allaboutcircuits.com/technical-articles/ltspice-simulation-using-wav-files/

Hallo Michel M.

ein paar Fragen zur Schaltung "General Purpose WAV Recorder" im obigen 
Link von Dir:


Das würde ich jetzt so verstehen das sich damit .wav Dateien direkt in 
LTSpice aufnehmen und abspielen lassen - ?
Wo und wie wähle ich da meinen Audio Treiber aus ?


Grüsse
#6734891
Lesenswert?

stingray05 schrieb:
>
> Das würde ich jetzt so verstehen das sich damit .wav Dateien direkt in
> LTSpice aufnehmen und abspielen lassen - ?

>  Wo und wie wähle ich da meinen Audio Treiber aus ?
keine, zum Glück :-)

Abdul K. schrieb:
> Samplerate ca. 5x Grenzfrequenz des
> Signals
gute Anmerkung

https://www.youtube.com/watch?v=42II_0r4evo



https://www.youtube.com/watch?v=mdJm-TzrBsA

https://www.youtube.com/watch?v=9aXq_24W1wk

https://www.youtube.com/watch?v=-EGzZHhiGw0

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