Transiente Lautsprechersimulation

Prometheus

Teil der Gemeinde
Registriert
20. Juni 2020
Beiträge
446
Real Name
Tobi
Hallo zusammen,

da das ganze nun doch einiges an Volumen bekommen hat, habe ich gedacht das Thema rechtfertigt eigentlich einen eigenen Thread, zum Ideen sammeln und weiterentwickeln.

Angeregt durch den Thread "(Klang)unterschiede zwischen Subwoofer Chassis" habe ich mir einige Gedanken zur Simulation von Lautsprecherchassis gemacht, welche Eigenschaften abseits vom Frequenzgang und den "klassischen" Simulationsmodellen (TSP) klanglich noch mitspielen könnten.

Dazu möchte ich kurz zum Thema TSP ausholen, auch wenn vermutlich ohnehin jeder Bescheid weiß:
Die TSP beschreiben letztendlich die mechanischen, elektrischen und akustischen Eigenschaften des Lautsprecherchassis. Sie bieten einen Weg mit wenigen Zahlenwerten den Feder-Masseschwinger "Lautsprecher" ausreichend gut zu beschreiben, um ein Gehäuse dafür entwickeln zu können.
Der Nachteil an der einfachen Beschreibung ist, dass Parameterverschiebungen nicht berücksichtigt werden können.

Dazu kommt dass alle Simulationsprogramme die ich kenne vorwiegend im Frequenzbereich arbeiten. Das liegt daran dass man im Frequenzbereich über die Übertragungsfunktionen der mit Hilfe der TSP modellierten Ersatzschaltbilder sehr schnell und gut zu Ergebnissen kommt, die man auch sehr fein und genau erweitern kann - siehe zum Beispiel Boxsim.
Das impliziert aber leider auch, dass alles was man sieht der eingeschwungene Zustand ist - das bedeutet, die (Amplituden)Frequenzgangkurve an jedem Punkt gilt streng genommen eigentlich nur für den Fall, dass vorher unendlich lang der Ton der entsprechenden Frequenz abgespielt wurde, und danach auch noch unendlich lange bestehen bleibt.
Das ist in der Regel kein Nachteil - in der Praxis ergeben sich dadurch keine relevanten Einbußen, so weit ich das beurteilen kann - aber im Bereich hoher Auslenkungen kann das dazu führen dass der eine oder andere Effekt verdeckt bleibt.

Der Fokus "meines" Projektes richtet sich von da her auf alles was bei den TSP ausgeblendet wird - und zwar das Verhalten des Chassis bei großen Auslenkungen, und den Ein- und Ausschwingvorgang.

Um diese Dinge ansehen zu können, ist die Analyse im Frequenzbereich nicht tauglich.

Deshalb hatte ich die Idee das ganze Konstrukt "Lautsprecher mit Gehäuse" in den Zeitbereich zu ziehen.

Jetzt wirds kurz theoretisch, für die die es interessiert - eigentlich ists aber nicht wichtig, fürs Ergebnis.
Wer mag darf den folgenden Absatz lesen, wer nicht, darf gerne hinter den "===" wieder weitermachen :)

=======================================================

Die Grundidee ist es, die verbundenen Systeme im Zeitbereich über ihre zugehörigen Differentialgleichungen zu beschreiben.
Im Falle des Lautsprechers schaut das so aus:
Die Funktion des Lautsprechers ist, dass die Schwingspule Kraft auf die Membran ausübt, proportional zum Strom der in ihr fliest (der Bxl-Faktor aus den TSP).
Die Kraft auf der Membran resultiert in eine Beschleunigung der selben. Wenn die Membran beschleunigt wird, nimmt ihre Geschwindigkeit zu.
Die Geschwindigkeit der Membran führt dazu dass sich ihr Ort verändert - sie lenkt aus, macht Hub.
Gleichzeitig aber passiert folgendes:
Die Geschwindigkeit der Membran, die ja auch die Geschwindigkeit der Spule ist, induziert eine Gegenspannung in die Spule. Das reduziert die Kraft die auf die Membran wirkt. Das heißt - bei konstanter Spannung an der Schwingspule - je schneller die Membran schon ist, desto geringer wird die Antriebskraft (Back-EMF = u.A. die elektrische Dämpfung).
Gleichzeitig halten einige Kräfte auch gegen die Antriebskraft. Das sind die Federsteifigkeit der Aufhängung (CMS), die proportional zur Auslenkung der Membran ist, die Dämpfung der Aufhängung, die proportional zur Membrangeschwindigkeit ist (QMS), sowie die Masse der Membran, die sich gegen die Beschleunigung wehrt, und von da her eben proportional zur Beschleunigung ist (MMS).
Von da her kann man sagen, die Gegenkraft zum Antrieb (I * Bxl) auf die Membran ist: (Federsteife mal Auslenkung) plus (Dämpfung mal Geschwindigkeit) plus (Masse mal Beschleunigung). Eine Differentialgleichung zweiter Ordnung.

Glücklicherweise ist der SPICE-Algorithmus geeignet um Differentialgleichungen im Zeitbereich durch passende Verfahren zu lösen - nichts anderes passiert in Elektrotechnischen Simulationen auch ständig.

Das funktioniert analog für alles andere auch. Membranverschiebung gibt Druck im Gehäuse, Druck übt über Portfläche Kraft auf das Luftvolumen aus, Luftmasse fängt zu strömen an, übt wiederum Kraft auf Gehäusevolumen aus, etcpp.

Oder auch Compression Drive Slots. Masse wird angekoppelt, Kraft wirkt über Beschleunigung auf die Membran zurück.

=======================================================

Im Endeffekt haben wir also die Möglichkeit nach Eingabe der Parameter anzusehen was genau beim ein- und ausschwingen passiert, wann die Membran wie weit auslenkt, wer wie schnell ist, wer wie viel Luft verschiebt, wie viel Rückstellkraft erzeugt, wie hoch die Strömungsgeschwindigkeit im Port ist, wie hoch die Reynoldszahl ist, etc. pp.

Dazu kommt die Möglichkeit die Nichtlinearitäten des Speakers zu modellieren. Zum Beispiel können wir beim xmax die Spule das Feld verlassen lassen, die elektrische Dämpfung sinkt, die Back-EMF fällt weg, der Spulenstrom steigt, gleichzeitig müssen das Gehäuse und die Aufhängung alleine die beteiligten Massen wieder zurückholen, und so weiter.

Im Moment habe ich folgende Dinge modelliert:
- Lautsprecher mit Dämpfung, nichtlinearer Aufhängung, nichtlinearem Antrieb
- Thermische Kompression der Spule
- Bassreflexgehäuse
- angeschlossener CDS
- KFZ-Innenraum als reines Volumen

Alle Daten stehen, wie gesagt, "in Echtzeit" zur Verfügung.

Das schließt natürlich sämtliche Rückwirkungen mit ein - KFZ auf Gehäuse, Gehäuse auf Lautsprecher, Lautsprecher auf Amp.
Das interessante ist dass sich durch dieses Vorgehen auch viele Parameter von selbst ergeben, ohne sie explizit eingeben zu müssen.
Resonanzstellen entstehen von selbst auf den richtigen Frequenzen, die zugehörigen Impedanzanstiege durch die Rückwirkungen auf die Schwingspule auch, sobald die Spule das Feld verlässt sinkt Qes automatisch ab, sobald die Spule warm wird steigt es mit, die Nullpunktverschiebung entsteht, etc. pp.

Das schöne an dieser Art der Modellierung ist auch, dass alles mögliche mit rein genommen und hinzugefügt werden kann.
Im Moment arbeite ich dran den Übergang von laminarer Strömung zu turbulenter Strömung, mit beteiligtem Anstieg der Strömungsverluste und dadurch im Endeffekt Portkompression zu modellieren.
Die Nichtlinearitäten der Komponenten können beliebig modelliert werden, über eine Beschreibung in Abhängigkeit zur Auslenkung, oder Geschwindigkeit, oder sogar Beschleunigung oder Zeit.
Eigenschaften können erst mal linear oder rudimentär nichtlinear beschrieben, und später feiner ausgestaltet werden.

Hier mal der aktuelle Stand, garniert mit einigen "experimentellen" Teilen:
TimeTSP.jpg

So, langer Sermon, aber wozu das ganze...
Ich erhoffe mir die eine oder andere Erkenntnis darüber was tatsächlich im und am Lautsprecher passiert, wenn Parameter verändert werden.
Am Ende steht vielleicht sogar ein neuer Rückschluss drüber welche Eigenschaften man verfolgen muss, um ein gut klingendes Subwoofergehäuse zu erhalten.

Im Moment baue ich an einigen Stellen, und zwar an folgenden:
- Wie komme ich von den aktuellen Parametern der Membran (Fläche, Geschwindigkeit (t), Beschleunigung (t), ...) auf den Schalldruck im Nahfeld (fürs erste)
- Wie wird der Anstieg der Strömungsverluste im BR-Port modelliert, ohne einen harten Übergang durch die Grenze an einer bestimmten Reynoldszahl zu haben

Die eine oder andere Eigenschaft von Lautsprechern ist mir beim bauen des bisherigen Standes schon klar geworden, die möchte ich aber im folgenden gerne separat diskutieren.

Wer Anregungen, Ideen, Fehlerkorrekturen hat - gerne her damit!

Grüße, Tobi
 
Das sieht natürlich soweit sehr interessant aus. Welche Form der Ausgabe ist denn angedacht? - Also was bekomme ich zum Auswerten raus?
 
Hi,

alle Größen die oben stehen zu jedem Zeitpunkt, darüber hinaus auch den Energiegehalt im Betrachtungszeitraum ("welche Frequenz ist wie lange wie laut").

(Edit: Ein Beispiel: Man speist eine beliebige Waveform mit einem bestimmten Pegel in den Subwoofer ein, durch eine wavefile und sieht was die Membran macht, ob der Woofer seinen linearen Bereiche verlässt, und was dadurch passiert.)

Letztendlich kann man "in Echtzeit zuschauen" wie das ganze einschwingt, welches Teil sich wann bewegt, wo wann welche Kräfte wirken, wie schnell welche Strömungen sind, wie der Strom im Amp gerade ausschaut, wie hoch die Impedanz ist, und so weiter.

Für mich zum Beispiel ists recht überraschend wie hoch die Rückstellkraft des Gehäuses wirklich ist.
Im Fall den ich gerade eingegeben habe, ein Image Dynamics ID8 im 10l CB, ist die Rückstellkraft des Gehäuses größer als die der Aufhängung...

Edit: Hier nur ein kleines Beispiel:
Hier ein 80Hz-Signal auf den angesprochenen ID8 in 10l CB, nach einem 80Hz 12dB TP (1V=1V):
Signal.jpg

Und hier die zugehörige Auslenkung der Membran (1V=1m):
Auslenkung_Lin.jpg

Man sieht, am Anfang lenkt die Membran weiter aus als dann im folgenden. Der Grund dafür ist, dass das System noch nicht eingeschwungen war. Im Eingeschwungenen Zustand hätte es von der halben, negativen Membranauslenkung gestartet. Hier startet es von null - ein Überschwinger muss passieren.

Dazu noch, überlagert die Rückstellkräfte von Gehäuse und Aufhängung auf die Membran (1V=1N):
Rückstellkraft_Lin.jpg
Blau ist das Gehäuse, Grün ist die Aufhängung.

Und hier die Temperatur der Schwingspule (1V=1°C) währenddessen, wobei ich hier aber viiiiiel geraten habe, was die Werte angeht ;):
Temp_Coil.jpg

Grüße, Tobi
 
Zuletzt bearbeitet:
Top, ich denke, dass man das alles verifizieren muss und dann hat man was wirklich interessantes. Magst Du mal. Schauen, ob Du Deltas zwischen Eingang und Membran plotten kannst?
 
Also was bekomme ich zum Auswerten raus?

Ganz vergessen - man kann sich das Ergebnis auch als Wave exportieren, und direkt anhören.
Dazu muss man nur Musik in den modellierten Lautsprecher einspeisen, und die Simulation rechnen lassen.
Ich hab dazu mal angehängt wie sich der Subwoofer anhört, wenn man ihm die Tiefpassgefilterte Kickdrum einspeist - bei ordentlicher Übersteuerung, 16mm Hub bei 13mm linear. ;)

Anhang anzeigen Signals.zip

Top, ich denke, dass man das alles verifizieren muss und dann hat man was wirklich interessantes.
Ja, das ist ein großes Thema. Im Moment vergleiche ich mit Ergebnissen aus WinISD, das passt schon mal sehr gut zusammen, alles.

Die Frage ist halt, wie im Subwoofer-Klang-Thread schon angeschnitten - woher bekommt man die Daten zur Simulation?
Selber messen? Das erfordert einiges an Equipment. Vom Hersteller wird mans auch eher nicht erhalten...

Magst Du mal. Schauen, ob Du Deltas zwischen Eingang und Membran plotten kannst?
Klar, jede Größe kann man plotten, auch in Abhängigkeiten, oder skaliert. Ich vermute du willst auf eine Art "Unterschied zum idealen Subwoofer" hinaus.
Das ist in so fern schwer, weil man sich dazu erst mal einen idealen Subwoofer ausdenken muss.

Hier sieht man mal die Differenz zwischen Signal, und der Volume Velocity als Metrik für den Schalloutput. Rot ist CB, Türkis ist BR.

Signal_Output_Difference.jpg

Null-Differenz geht halt nicht, weil eine Phasenverschiebung zwischen Ein- und Ausgang da ist, die man nicht ignorieren kann.

(Edit: In der Zwischenzeit habe ich auch mal eine dynamische Aufweichung der Aufhängung unter Hub eingefügt, nach einem Gespräch mit dem sehr kompetenten Kontakt den mir komet zukommen hat lassen. Danke nochmal dafür!)
 
Hallo zusammen,

hier mal ein kleiner Vergleich Spice <-> WinISD, mit zwei Gehäusen mit, soweit ich das beurteilen kann, 1:1 identischen Paramtern.
Chassis ist ein ARC8 D2, ein mal in 10l closed, und einmal in 20l BR @ 30Hz, Schwingspulen in Serie, 35V Signalpegel.

Hub über Frequenz, 1mV = 1mm:

Hub_vs_f_TSIM.jpg Hub_vs_f_WinISD.png

Impedanz über Frequenz:

Imp_vs_f_TSIM.jpg Imp_vs_f_WinISD.PNG

Luftgeschwindigkeit Port über Frequenz, 1V = 1m/s:

Portspeed_vs_f_TSIM.jpg Portspeed_vs_f_WinISD.png

Kleine Abweichungen gibt es in jedem Punkt, hier bin ich mir aber nicht sicher was WinISD alles berechnet und mitnimmt - meine Modelle sind sehr grundlegend. Kann sein dass WinISd hier mit Korrekturfaktoren, zusätzlichen Luftlasten, etc. rechnet, die ich noch nicht im Modell habe. (Edit: den ersten Unterschied habe ich gerade gefunden - WinISD rechnet mit einer anderen Luftdichte als ich.)

Beim Frequenzgang dagegen sind wir uns nicht wirklich einig, da die verschobene Luft vom Port aber stimmt, und die von der Membran auch ungefähr, habe ich vermutlich einen Fehler in der Pegelberechnung.

Fg_TSIM.jpg Fg_WinISD.png
(Edit: Win-ISD Frequenzgang durch SPL-Output ersetzt, Form gleich, Absolutpegel sichtbar.)


Inzwischen habe ich auch einen Fehler bei der Berechnung des CDS ausgebügelt, und auch mal das Auto-Volumen als Druckkammer reingenommen.
Hier ist was rauskommt wenn der Innenraum 1000l (reines Volumen, keine Reso) hat:

Fg_Car_TSIM.jpg


Als nächstes möchte ich mal an der Port-Aerodynamik arbeiten um hier ein wenig weiterzukommen, und versuchen die Pegel-Berechnung hinzubekommen.
Falls hier jemand Input geben kann würde ich mich freuen!

Die Simulation als Bild anzuhängen wird langsam unübersichtlich, wer LTSpice hat und sie haben will kann mich gerne kontaktieren!
 

Anhänge

  • Fg_WinISD.png
    Fg_WinISD.png
    21,1 KB · Aufrufe: 9
Zuletzt bearbeitet:
Ein kleines Update,

ich habe nach ein wenig Gestöber in verschiedenen Papers und Klippel-Resultaten KMS über Hub mit ihrem Creep, sowie den BxL-Drop ein wenig schöner modelliert.
Die Annäherung erfolgt jetzt nicht mehr abschnittsweise, sondern über ein Polynom, das sich bei vorhandenen Daten auch recht schön aus der Mitte schieben liese:

KMS-Shift.jpg

Je mehr Hub da war, desto weicher wird die Suspension, nachdem der Hub vorbei ist kriecht sie wieder zurück zur initialen Steifigkeit - sieht man in der Mitte des Graph.
In Punkto Aerodynamik und Pegelrechnung erhoffe ich mir Zeitnah neue Infos, mal sehen was rauskommt.

Hier mal wieder der übersteuerte Einschwingvorgang als Reaktion auf die Kickdrum von oben, man sieht schön wie die Nichtlinaritäten die Membran aus der neutralen Position wandern lassen.
1mV = 1mm Hub
Overdriven_Exc.jpg

Hier mal der Spektrale Gehalt des anregenden Signals in grün, und das der resultierende Pegel im Auto in türkis:

Spectral.jpg

Es wundert mich ein wenig dass so wenig Resonanz auf das Thema da ist, an was liegts?
 
Zuletzt bearbeitet:
Mal wieder was neues, ich habe das ganze auf mehrere Treiber erweitert, der Port hat jetzt lineare Strömungsverluste, das Gehäuse kann Undichtigkeiten bekommen und auch bedämpft werden.

Hier zum Beispiel sieht man wie der Hub auf der Abstimmfrequenz ansteigt, wenn die Portverluste ansteigen:

Exc_Q-Port.jpg

Hier mal die Step-Response des aktuellen Standes, einmal CB 10l, einmal BR 20l, Einheit ist Schalldruck in Pascal. Welches welches ist dürfte klar sein ;)

Step.jpg

Die zugehörige Membranauslenkung, wieder 1mV=1mm:

Step_Excursion.jpg

Hat jemand Themen die ihn speziell interessieren?
 
Du fischst schon die interessanten Dinger raus. Wäre es denn drin, das Ganze in eine GUI zu packen, so, dass der Anwender es einfach parametrisieren kann, idealerweise mit einer kleinen Treiber-Datenbank? 'ne Menge Holz, ich weiß...
 
Ja, GUI hab ich schon im Hinterkopf...wäre natürlich schön. Gehen tuts, Spice ist Script-Steuerbar, die Ergebnisse sind einlesbar, aber dann wirds halt richtig aufwändig - mit welcher Software programmiert man sowas?
Ich kann C, C++, hab auch mal eine entwicklungsinterne GUI für ein Gerät in Delphi gebastelt...gibts da was einfaches, WYSIWYG-mäßiges vielleicht?

Hier mal ganz was anderes, ein serieller Bandpass achter Ordnung, weils geht :liebe:
Die Abstimmung krieg ich nicht richtig hin, auch weil der Treiber nicht dazu passt, aber funktionieren tuts:

Seri_BP_8Th.jpg

Hier die Struktur dazu:

Seri_BP_8Th_Mech.png

Kaskadierte BR wären vielleicht auch mal interessant....
 
Als Ergänzung ein Bandpass 8.Ordnung in Parallel-Serieller Anordnung:

Par_BP_8Th.jpg Par_BP_8Th_Mech.png

Der Wirkungsgrad ist schon beachtlich...mal sehen, vielleicht wird sowas mal ein Bastelprojekt.
Zusätzlich gibt's jetzt auch eine Entfernung zwischen Bassreflexrohr und Treiber, die die Phase und damit die Addition zwischen den beiden verschiebt.

Hier ist was passiert wenn der Abstand zwischen Treiber und BR-Rohr 0.2m, 1m, 2m und 3m groß ist:

BR_Dist_0.2_1_2_3m.jpg
 
Zurück
Oben Unten