Ich möchte einen sich wiederholenden Sinc-Impuls in LTSPICE modellieren, kann ihn jedoch nur einmal zum Auslösen bringen. Ich möchte es um x viele ms verzögern und den Impuls erneut auslösen.
Ist das mit LTSPICE möglich?
Ähnlich wie ich in dieser Antwort geschrieben habe , können Sie fast alles wiederholen, indem Sie die Zeitvariable und einen Modulus verwenden. Lassen Sie uns dies also Schritt für Schritt einrichten. Zuerst nur eine sinc-Funktion der Einfachheit halber:
.function sinc(x) { sin(x)/x }
Wenn wir dies zusammen mit der time
Variablen und einer kleinen Skalierung verwenden, können wir diese b-Quelle erhalten:
V=sinc(time*100)
um das hier zu produzieren:
Dies wiederholt sich nicht, also erstellen wir eine Modulo-Funktion und verwenden diese, um den Parameter wieder in den Bereich zu bringen:
.function mod(x,y) { (x/y)-int(x/y) }
V=sinc(mod(time,1)*100)
Besser, aber nicht ganz schön, da der "Puls" wieder bei 0 des Sinc beginnt. Es wäre besser, wenn es etwas niedriger beginnen würde, also lass es uns ein bisschen schöner verschieben und ausrichten:
V=sinc(mod(time,pi/3)*100-pi)
Sie sollten dies nun als Ausgangspunkt nehmen können, um eine Wellenform zu berechnen, die Ihren Anforderungen entspricht.
Ich bin mir nicht sicher, ob dies im Kontext Ihrer Simulation hilfreich ist, aber Sie können eine Annäherung an eine Reihe von Sinc-Impulsen mit einer leichten negativen DC-Vorspannung erzeugen, indem Sie einfach eine Reihe von Kosinuswellen summieren. Beginnen Sie mit einer bei der Impulswiederholungsfrequenz und fügen Sie ganzzahlige Harmonische dieser Frequenz hinzu, alle mit derselben Amplitude:
Der Wert, den Sie für N wählen, bestimmt die Breite der einzelnen Impulse; ein höherer Wert erzeugt schmalere Pulse. Wenn N zunimmt, nimmt auch die Spitzenamplitude der Impulse linear zu; skalieren um wenn gewünscht.
Sehen Sie sich ein Beispiel auf Wolfram Alpha an
Spehro Pefhany
efox29
Löffel
efox29
Löffel
rdtsc