mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik RTspice: Analoge Schaltungssimulation in Echtzeit


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.
Autor: Christoph B. (birki2k)
Datum:
Angehängte Dateien:

Bewertung
4 lesenswert
nicht lesenswert

Simulationstools wie SPICE sind aus heutiger Sicht kaum noch wegzudenken. Sie erlauben es, das Verhalten selbst komplexer Schaltungen ohne langwierigen Aufbau abschätzen und anpassen zu können. Dennoch ersetzt dies nicht den Test im Zusammenspiel mit realen Ein- und Ausgangssignalen. Doch was, wenn man den neuen Gitarrenverzerrer ganz ohne Aufbau gleich ausprobieren könnte?



Genau hier setzt RTspice an. Einer am PC erstellten Schaltung können mittels Soundkarte Ein- und Ausgänge hinzugefügt werden, über die sich die Simulation mit physisch vorhandener Elektronik kombinieren lässt. Dies ist insbesondere für den Audiobereich interessant. So könnte man etwa Filter für Frequenzweichen am Computer abstimmen und das Ergebnis im Zusammenspiel mit den Lautsprechern gleich testen.

Doch mit RTspice können nicht nur lineare Netzwerke aufgebaut und überprüft werden. Durch die Modellierung von Dioden und Transistoren sind auch komplexere Simulationen, bei denen neue Frequenzanteile entstehen, realisierbar. Dies wird etwa für Limiter- oder Verzerrungsschaltungen benötigt.

Natürlich beschränkt sich der Anwendungsbereich nicht nur auf die Audiotechnik, jedoch ist der Frequenzbereich aufgrund der Verwendung einer Soundkarte vorgegeben. Weiter schränkt die zur Simulation bereitstehende Rechenleistung die Komplexität der Schaltung ein. Hierbei wird derzeit eine Nvidia Grafikkarte benötigt, da die Implementierung auf den CUDA-Bibliotheken aufbaut.

Die Schaltungseingabe erfolgt durch die Erstellung einer Netzliste, wobei die Syntax der klassischen SPICE-Syntax stark ähnelt. Eine grafische Eingabe ist derzeit nicht vorhanden, findet sich aber als Punkt in der To-Do-Liste auf GitHub. Auch muss RTspice derzeit selbst kompiliert werden. Für Linux gibt es eine Beschreibung für das Vorgehen. Für Windows ist dies nicht getestet, sollte aber ebenfalls funktionieren.


Autor: -gb- (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum geht keine beliebige Quelle wie bei GNURadio? Noch cooler wäre 
dieses RTspice als ein GNURadio Block. Sprich man kann dann irgendwo in 
den GNURadio Signalpfad eine beliebige Schaltung rein hängen. Oder 
vielleicht auch irgendwie als Export dass man eine Schaltung als Block 
für GNURadio exportieren kann. Die Schaltung ist ja eigentlich nur eine 
Übertragungsfunktion.

Autor: Christian (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Christoph B. schrieb:
> Simulationstools wie SPICE sind aus heutiger Sicht kaum noch
> wegzudenken.

Nein. Aber deine Beitrage sind aus heutiger Sicht kaum noch zu ertragen.

Was hat dieses RTSpice mit einer Spice-Simulation zu tun?

NICHTS! Außer der netlist-Syntax.

Man muss nicht das Rad neu erfinden und eine Übertragungsfunktion zum 
x-ten mal in CUDA neu implementieren, bloß weil die Sau noch nicht oft 
genug durchs Dorf gehypet wurde. Transiente Simulation ist außer für 
riesige Schaltungen mit separierbaren Blöcken nicht parallelisierbar, 
also ist CUDA hier Schwachsinn.

Was das Programm kann, schreibe ich dir in 10 Zeilen Python oder Matlab. 
Und muss dabei kein 500W für eine Nvidia-Grafikkarte verbraten, um meine 
CO2-Bilanz zu versauen.

Manchmal ist weniger mehr, vor allem in deiner Rubrik "Neuigkeiten".

Autor: Ihr werdet es nicht glauben was dann geschah (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christoph B. schrieb:
> Doch was, wenn man den neuen Gitarrenverzerrer ganz ohne Aufbau gleich
> ausprobieren könnte?

Kann man.
http://www.google.com/search?q=wav+file+voltage+source+LTspice

Seit wann greift Clickbait in Foren um sich?
Ekelhaft

Autor: rbx (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die "FM- und PD-Synthese" hatten vermutlich Modulsysteme als 
Abhör/Planungshilfe  - so ganz aus dem Stehgreif glaube ich nicht- 
schließe ich aber auch nicht aus:
Youtube-Video "Modular Monthly: Exploring phase distortion synthesis with the WMD PDO"
(dazu gibt es heute auch ganz gute Softsynth-Simulationen)

Hier im Forum würde ich auch 1000 mal lieber nach Röhrenschaltungen 
fragen, Logistik von Röhrenvocoder o.ä.
Die Cudanummer oben kann man aber vielleicht gut für Hallalgos o.ä. 
missbrauchen.

Direkt gedacht hatte ich, ob nicht die Filtertabellen vom TX16w 
Youtube-Video "Yamaha TX16W Pads & Synths - Part 1 of 2"
https://usermanual.wiki/Yamaha/TX16WG.4105885794.pdf

..irgenwdie als Hardwarezusatz/Steckzusatz gingen.

Autor: Sven D. (sven_la)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Ihr werdet es nicht glauben was dann geschah schrieb im Beitrag 
#5926327:
> Christoph B. schrieb:
>> Doch was, wenn man den neuen Gitarrenverzerrer ganz ohne Aufbau gleich
>> ausprobieren könnte?
>
> Kann man.
> http://www.google.com/search?q=wav+file+voltage+source+LTspice
>
> Seit wann greift Clickbait in Foren um sich?
> Ekelhaft

Zwischen dem Verarbeiten von wav-Dateien und dem direkten Verarbeiten 
eines Signal das in die Soundkarte geschickt wird besteht meiner Ansicht 
nach ein Unterschied. Für den im Startbeitrag genannten Anwendungsfall 
der Entwicklung eines Gitarrenpedals ist RTSpice sicher praktischer als 
was dein Googlelink auswirft. Das gleiche kann ich mir auch sehr gut für 
das Testen von Schaltungen für Synthesizern vorstellen.

Autor: römischer motorroller (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Christian schrieb:
> Was das Programm kann, schreibe ich dir in 10 Zeilen Python oder Matlab.

Na dann mal los!

Sorry, ich vergaß, dont feed the troll.

Autor: chris_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Christoph B. (birki2k)
Eine grafische Eingabe ist derzeit nicht vorhanden,

Du könntest die Netzlisten von LtSpice verwenden, dann musst Du für's 
erste keinen eigenen Editor schreiben. LtSpice läuft bei mir ganz gut 
auf Ubuntu mit Wine.
Erzeugt wird das *.net-File so:
http://ltwiki.org/LTspiceHelp/LTspiceHelp/Spice_Netlist.htm

Eine andere gut Möglickeit wäre, die Netzliste von KiCad zu verwenden. 
Dort müsstest Du aber erst noch einen Konverter schreiben, dafür ist der 
Editor deutlich komfortabler als bei LtSpice.

Autor: Christoph B. (birki2k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian schrieb:
> Transiente Simulation ist außer für
> riesige Schaltungen mit separierbaren Blöcken nicht parallelisierbar,
> also ist CUDA hier Schwachsinn.

Parallelisierung lässt sich durchaus sinnvoll für transiente Vorgänge 
nutzen, auch ohne separierbare Blöcke:
https://ieeexplore.ieee.org/abstract/document/6777551

Derartige Implementierungen lassen sich kommerzielle Hersteller von 
Simulationstools übrigens einiges kosten, etwa durch Bedarf einer Lizenz 
pro verwendetem Kern.

> Was das Programm kann, schreibe ich dir in 10 Zeilen Python oder Matlab.
> Und muss dabei kein 500W für eine Nvidia-Grafikkarte verbraten, um meine
> CO2-Bilanz zu versauen.

Das Angebot nehme ich natürlich gerne an und bin gespannt. Selbst würde 
ich mir nicht mal das Einlesen der Netzliste in 10 Zeilen zutrauen, 
denke da kann nicht nur ich einiges lernen.

Autor: Christoph B. (birki2k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ihr werdet es nicht glauben was dann geschah schrieb im Beitrag 
#5926327:
> Kann man.
> http://www.google.com/search?q=wav+file+voltage+source+LTspice
>
> Seit wann greift Clickbait in Foren um sich?
> Ekelhaft

Clickbait zeigt sich üblicherweise durch vorenthaltene oder falsche 
Informationen in der Überschrift. Die wesentliche Information, nämlich 
dass es hier um Echtzeitverarbeitung geht, kann man jedoch schon der 
Überschrift entnehmen. Wie Sven oben geschrieben hat, geht es hier eben 
nicht um das Einlesen von Dateien.

chris_ schrieb:
> Du könntest die Netzlisten von LtSpice verwenden, dann musst Du für's
> erste keinen eigenen Editor schreiben. LtSpice läuft bei mir ganz gut

Danke für den Hinweis, aber das Program stammt nicht von mir ;-)

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.

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