In Ltpice kann man eine Rechteckspannungsquelle mit variablen Parameter
wie Spannung, T_on, Tperiod einfügen.
Wie aber kann man einen Pulsfrequenzsweep damit erzeugen?
Also so, dass Tperiod von 10ms bis 100ms in Schritten erhöht wird?
Hier mal eine Beispiel mit dem ".step" Befehl.
Damit führt LTspice 9 Simulationen durch.
.step param T_on 1u 9u 1u
Die V-Quelle:
PULSE(0 5 0 5n 5n {T_on} 10u)
Parameter müssen in eine geschweifte Klammer gesetzt werden.
>Damit führt LTspice 9 Simulationen durch.
Danke für den Hinweis.
Was ich brauche, ist eher ein Rechteckfrequenzchirp. Bei deinem Beispiel
werden 9 Simulation nacheinander durchgeführt und gezeichnet.
Ich brauche aber ein einzelnes Signal, welches über die Dauer
hochfrequenter oder tieffrequenter wird.
Hans schrieb:>>Damit führt LTspice 9 Simulationen durch.>> Danke für den Hinweis.>> Was ich brauche, ist eher ein Rechteckfrequenzchirp. Bei deinem Beispiel> werden 9 Simulation nacheinander durchgeführt und gezeichnet.> Ich brauche aber ein einzelnes Signal, welches über die Dauer> hochfrequenter oder tieffrequenter wird.
Du musst halt gleich genauer sagen was du machen willst. Wenn es nur
eine begrenzte Anzahl ist, dann könntest du einfach N Quellen mit
jeweils einer bestmmten Pulsbreite überlagern. Dazu benutzt man einen
zusätzlichen Parameter der V-Quelle.
PULSE(0 5 0 5n 5n 1u 10u 100)
PULSE(0 5 1000u 5n 5n 2u 10u 100)
....
Wenn du kontinuierlich die Pulsbreite ansteigen lassen willst, dann
bietet sich ein PWM Generatur basierend auf dem Vergleich mit einer
dreieckförmigen Spannung an.
>Wenn du kontinuierlich die Pulsbreite ansteigen lassen willst, dann>bietet sich ein PWM Generatur basierend auf dem Vergleich mit einer>dreieckförmigen Spannung an.
Das Ergebnis aus dieser Operation wäre das gesuchte, allerdings will ich
die Pulsbreite konstant halten. Klingt aber insgesamt ein wenig
schwierig.
Hans schrieb:> Bsp.:>> on: 1ms> off: 1ms> on: 1ms> off: 1.5ms> on: 1ms> off: 2ms> on: 1ms> off: 2.5ms> on: 1ms> off: 3ms> on: 1ms> off: 3.5ms>> usw.
Bist du dir bewusst, dass das eine ansteigende Periodendauer bedeutet?
Wie soll die letzte Periode aussehen?
> on: 1ms> off: ???
>Wähle bei der Art der Spannungsquelle PWL.
Wenn ich es richtig sehe, würde die ein File abspielen.
Mir scheint es aber sinnvoll, das ganze generisch zu halten.
Hans schrieb:>>Wähle bei der Art der Spannungsquelle PWL.>> Wenn ich es richtig sehe, würde die ein File abspielen.
Nein, das gibts auch, aber es gibt auch direkt angegebene Werte.
> Mir scheint es aber sinnvoll, das ganze generisch zu halten.
Dann machs mit PWL.
Hans schrieb:>>Wie soll die letzte Periode aussehen?>> Ist egal.> 1ms oder irgend was.
Bist du dir sicher, dass du eine PWM mit konstantem T-on aber
ansteigender Auszeit haben willst?
Das bewirkt nämlich eine ansteigende Periodendauer.
Normalerweise macht man PWM mit konstanter Periodendauer bzw. konstanter
Frequenz.
>Normalerweise macht man PWM mit konstanter Periodendauer bzw. konstanter>Frequenz.
Das weiß ich, aber ich möchte nicht die Periodendauer konstant halten,
sondern die ON-Zeit.
Wobei ich gerade einen Denkfehler entdeckt habe. Wenn man die Zeit
Linear erhöht, dann verringert sich die Frequenz nicht linear.
Im Anhang habe ich den Versuch mit linearer Offzeit mit Octave erzeugt.
Unter klanglichen Aspekten würde ich sagen: Ausbaufähig ;-)
Für dein ursprüngliches Problem s. Anhang.
Hans schrieb:> Wobei ich gerade einen Denkfehler entdeckt habe. Wenn man die Zeit> Linear erhöht, dann verringert sich die Frequenz nicht linear.
Wenn du (am besten anhand eines Beispiels) genau erklärst, wie das
Signal genau aussehen soll und welche Parameter du dabei verändern
möchtest, kann ich versuchen, das ebenfalls in eine Formel zu fassen.
Ich bin jetzt aber erst einmal für ein paar Stunden unterwegs.
Hans schrieb:> Wobei ich gerade einen Denkfehler entdeckt habe. Wenn man die Zeit> Linear erhöht, dann verringert sich die Frequenz nicht linear.
Das liegt daran, dass die Frequenz sich mit 1/Periodendauer ändert.
Yalu X. (yalu) (Moderator)
>Für dein ursprüngliches Problem s. Anhang
Danke für den Beitrag. Das mit der Variablen "time" hatte ich auch schon
in Forenbeiträgen entdeckt. Bei mir hatte LtSpice aber immer
angemeckert, dass es "time" nicht kennt.
Dein File funktioniert aber bei mir. Was gibt es denn für
Voraussetzungen, dass "time" bekannt ist und verwendet werden kann?
>Wenn du (am besten anhand eines Beispiels) genau erklärst, wie das>Signal genau aussehen soll und welche Parameter du dabei verändern>möchtest, kann ich versuchen, das ebenfalls in eine Formel zu fassen.
Linerarer Up-Sweep bezüglich der Frequenz ( 1/Periodendauer ). Also von
z.B. von 20Hz nach 400Hz.
Ich habe mal meinen Lösungsvorschlag angehängt.
Es gibt einen FM/AM Modulator den man auch für Sweeps benutzen kann. Das
Symbol dafür heißt modulate bzw. modulate2.
Zu deiner Frage mit "time".
Die Variable time geht nur in den Formeln mit Bv- und Bi-Quellen und bei
R-Formeln an Widerständen.
Hans schrieb:> Wie aber kann man einen Pulsfrequenzsweep damit erzeugen?> Also so, dass Tperiod von 10ms bis 100ms in Schritten erhöht wird?
Mit vielen Audioeditoren kann man einen kontinuierlichen Sweep (als
Sinus) erzeugen.
Und man kann in LTSpice einen WAV-File als Quelle verwenden.
Jetzt brauchst du nur noch den generischen Komparator, den es unter den
digitalen Bauelementen gibt.
Nicht ganz elegant, weil man zur Anpassung jeweils einen neuen Sweep mit
der DAW erzeugen muss.
Hier ist zum Spaß noch der zeitlich lineare Frequenzanstieg als
B-Quelle. Folgende Parameter sind einstellbar:
f0: Startfrequenz in Hz
fdot: Frequenzanstieg in Hz/s
tp: Pulsbreite in s