-
Die
vorliegende Erfindung bezieht sich auf Computerprogramme zum Modellieren
elektronischer Schaltungen an einem Computer.
-
Die
Komplexität
moderner integrierter Schaltungen und die hohen Kosten zum Herstellen
von Prototypen hat zu der Entwicklung einer Klasse von Computerprogrammen
geführt,
die den Betrieb einer Schaltung simulieren. Diese Simulatoren unterstützen den
Entwickler beim Bestimmen der richtigen Vorspannungsspannungen,
die an die verschiedenen Komponenten angelegt werden sollen, und
beim Verifizieren des Betriebs der Schaltung, bevor Ressourcen für die Herstellung
von Prototypen verbraucht werden.
-
Die
Schaltung, die simuliert werden soll, wird typischerweise bezüglich einer
Liste von Knoten und der Komponenten, die mit jedem Knoten verbunden
sind, beschrieben. Der Benutzer kann tatsächlich eine Netzliste oder
eine graphische Darstellung der Schaltung liefern, von der das Programm
die Netzliste ableitet. Jede Komponente kann als ein Bauelement
betrachtet werden, das einen Strom ausgibt oder aufnimmt, dessen
Amplitude und Phase durch die Spannung an dem Knoten bestimmt werden,
mit dem dasselbe verbunden ist, und möglicherweise durch die vorhergehenden
Spannungen an dem betreffenden Knoten.
-
Das
Simulationsprogramm findet den Satz von Knotenspannungen, die zu
einer Schaltung führen,
bei der die Summe der Ströme
an jedem Knoten Null ist. Dies ist die Spannung, bei der die Ströme, die
durch die Komponente geliefert werden, die Quelle von Strömen sind,
die genau mit den Strömen übereinstimmt,
die durch die verbleibenden Komponenten aufgenommen werden. Jede
Komponente wird durch eine Subrou tine beschrieben, die den Strom
liefert, der ansprechend auf eine Eingangsspannung durch die Komponente
aufgenommen oder ausgegeben wird. Wie es nachfolgend näher erläutert wird,
können
die Komponentensubroutinen auch die ersten Ableitungen des Stroms
bezüglich
der Knotenspannungen liefern. Außerdem kann der Ausgang einer
Komponentensubroutine von der Historie des Knotens abhängen, mit
dem die entsprechende Komponente verbunden ist. Falls die Komponente
beispielsweise Induktoren oder Kondensatoren enthält, hängt der
Strom von der Knotenspannung und der Änderungsrate der Knotenspannung
im Verlauf der Zeit ab. Die Änderungsrate
der Knotenspannung kann von den vorhergehenden Werten der Knotenspannungen
berechnet werden, d. h. der „Historie
der Knoten".
-
Leider
sind moderne integrierte Schaltungen und Systeme zu komplex geworden,
um eine vollständige
Simulation des nicht-linearen Verhaltens auf der Transistorebene
der Beschreibung zu ermöglichen.
Die Anzahl nicht-linearer Funktionen, die gleichzeitig gelöst werden
müssen,
ist zu groß für den Simulator
zum Bestimmen einer konvergenten Lösung innerhalb einer vernünftigen
Zeit, falls überhaupt.
Dieses Problem stellt einen wesentlichen Produktivitätsengpass
für Konstrukteure
dar. Eine Lösung
dieses Problems ist das Entwerfen eines höheren Abstraktionspegels unter
Verwendung von Verhaltensmodellen der nicht-linearen Komponenten
oder ICs in der Schaltung oder dem System. Im Prinzip können die
Verhaltensmodelle das relevante nicht-lineare elektrische Verhalten
der Komponenten mit ausreichender Genauigkeit darstellen, dennoch
sind dieselben einfach genug, um eine schnelle Simulation zu ermöglichen.
-
Das
Verhaltensmodell ist eine Beschreibung des elektrischen Verhaltens
des Bauelements, der Schaltung oder des Teilsystems, die es der
Schaltungssimulation ermöglicht,
auf eine Weise zu arbeiten, die das tatsächliche Schaltungsverhalten
auf ordnungsgemäße Weise
bei den gegebenen Simulationsbedingungen darstellt. Die Simulationsumgebung
legt häufig Beschränkungen
auf das, was die Schaltungssimulation vorhersagen kann. Beispielsweise
ist ein einfaches lineares Modell einer realen nicht-linearen Komponente
in der Lage, das tatsächliche
Verhalten der Komponente in einer Kleinsignalsimulation zu imitieren,
ist aber nicht in der Lage, das Verhalten der Komponente unter Bedingungen
vorherzusagen, wo das Antriebssignal zu der Komponente groß genug
ist, um das nicht-lineare Verhalten anzuregen. Dennoch wird es das
lineare Modell der Kleinsignalsimulation ermöglichen, schnell zu laufen.
Das lineare Modell ist daher eine genaue Beschreibung der Komponente
innerhalb der Beschränkungen
von Kleinsignalbedingungen und für
solche Simulationen am geeignetsten.
-
Modelle
nicht-linearer Komponenten, wie z. B. Transistoren, umfassen allgemein
mehrere Gleichungen, die die Physik oder elektrischen Anschlusseigenschaften
des Transistors beschreiben. Diese Gleichungen umfassen nicht-lineare
Differenzialgleichungen, die die reaktiven Elemente in den Bauelementen
oder Schaltungen berücksichtigen.
Historisch werden diese Gleichungen als Zeitbereichsgleichungen
geschrieben. Die Simulatoren lösen
die nicht-linearen Gleichungen durch Iteration bei jedem Zeitschritt
in der Lösung,
konvergieren zu einer Antwort, die die Gesetze der elektrischen
Schaltung erfüllt,
bevor sich dieselben zu dem nächsten
Zeitschritt bewegen und die Lösungsaufgabe
wiederholen, während
die Schaltungsspannungen mit der Zeit fortschreiten. Die Zeitschritte
müssen
klein genug sein, damit die Änderungen
bei den Spannungen und Strömen
in der Schaltung klein sind, um genaue Näherungen der Zeitableitungen
berechnen zu können, um
die Differenzialgleichungen zu lösen.
-
Obwohl
diese Zeitbereichsmodelle bei ihrer Beschreibung des Bauelementverhaltens
genau sein können,
liefern dieselben in einer Schaltung dem Simulator viele nicht-lineare
Gleichungen zum Lösen.
Dies kann bei komplexeren Schaltungen oder Systemen von Komponenten
zu den zeitaufwendigen Kon vergenzschwierigkeiten führen, die
bereits angesprochen wurden. Effizientere Schaltungslösungstechniken
wurden entwickelt, um spezifische Schaltungs- und Systementwurfsprobleme
zu handhaben. Beispielsweise kann das Zeitbereichslösungsverfahren
für Hochfrequenzsignale
ineffizient sein, die Zeitschritte müssen ein winziger Bruchteil
des Signalzyklus sein, um es dem Simulator zu ermöglichen,
zu konvergieren. Dies gilt insbesondere für Großsignalanalyse, wo Harmonische
höherer
Ordnung des Antriebsignals durch die nicht-linearen Bauelemente
und Teilschaltungen erzeugt werden. Der Simulatorzeitschritt muss
ein kleiner Bruchteil der höchsten betrachteten
Frequenzkomponente sein. Dies kann zu sehr langen Simulationszeiten
führen.
-
Ein
alternatives Verfahren, das als harmonische Balance (HB) bezeichnet
wird, wird häufig
für Simulationen
von Mikrowellen- und drahtlosen Schaltungen und Systemen in dem
Frequenzbereich verwendet. Bei diesem Verfahren werden Spannungen
und Ströme
in der Schaltung bei jeder Frequenzkomponente des Signals berechnet
und für
jede Frequenzkomponente, die vorliegt, gelöst. Dies ist ein wirklich nichtlinearer
Simulator, da die nicht-linearen Bauelemente und Komponenten harmonische
und Intermodulationssignalkomponenten erzeugen und die Effekte derselben
bei jeder Frequenz gelöst
werden. Da im allgemeinen die Anzahl von Frequenzkomponenten ziemlich
klein ist, kann dieses Lösungsverfahren
Einsparungen bei der Zeitdauer bieten, die benötigt wird, um die nicht-linearen
Gleichungen zu lösen,
die die Schaltung beschreiben. Dieses Verfahren löst jedoch
nur Dauerbetriebsbedingungen und somit periodisch oder quasiperiodische
Signale auf.
-
Moderne
Kommunikationssysteme verwenden komplizierte Schaltungen, die durch
komplexe Signale simuliert werden. Diese Signale sind typischerweise
ein Hochfrequenz-„Träger"-Signal, das durch ein komplexes Informationssignal
moduliert wird. Solche Signalkombinationen sind unter Verwendung
von entweder Zeitbereichs- oder HB-Techniken allein schwierig zu
lösen.
Der Träger
ist am besten geeignet für
HB, und das Informationssignal oder die Hüllkurve ist zugänglich für eine Lösung in
dem Zeitbereich, da die Modulationsfrequenzen relativ niedrig sind:
die beiden Signale sollen sehr unterschiedliche Zeitskalen haben.
-
Eine
Klasse von Simulatoren, die als „Transienten-Hüllkurve-" Simulatoren bekannt sind, wurde entwickelt,
um diese Probleme zu lösen,
im wesentlichen durch Aufteilen des Signals in Träger- und
Modulationssignale, und Lösen
der Schaltungsgleichungen für
jedes auf geeignete Weise, wie es oben angezeigt ist, und Kuppeln
der Lösungen
zum Sicherstellen einer Konvergenz der Gesamtlösung. Beispielsweise lehrt
das U.S.-Patent 5,588,142 einen Simulator zum Simulieren von Schaltungen,
die mit einem Signal simuliert werden, das als eine Mehrzahl von
Trägern
dargestellt ist, die durch langsam variierende Signale moduliert
werden.
-
Transienten-Hüllkurven-Simulatoren
nehmen an, dass für
jede Schaltungskomponente in der Schaltung, die simuliert wird,
ein Modell verfügbar
ist. Dies ist wahr, falls die Schaltungskomponente eine der Elementarkomponenten,
d. h. Widerstände,
Kondensatoren, Dioden, usw. in der Simulatorkomponentenbibliothek ist.
Falls die Komponente aus einer relativ kleinen Anzahl von Elementarkomponenten
aufgebaut ist, die Modelle in der Simulatorbibliothek aufweisen,
kann diese Bedingung auch erfüllt
werden durch Ersetzen der Schaltungskomponente durch eine Beschreibung,
die die Schaltungskomponente in den Elementarkomponenten der Bibliothek
definiert, und dann Auffordern des Simulators sowohl die betreffende
Schaltungskomponente als auch die größere Schaltung, in der dieselbe
ausgeführt
wird, zu simulieren, als ob die Kombination eine große Schaltung
wäre, die
aus den Bibliothekskomponenten aufgebaut ist.
-
Leider
ist diese Lösung
nicht immer möglich.
Für eine
komplexe Schaltung kann die Anzahl von elementären Komponenten zu groß sein,
um es dem Simulator zu ermöglichen, eine
Lösung
zu berechnen. Diesbezüglich
sollte angemerkt werden, dass der Simulator einen iterativen Prozess
verwendet, um die Schaltung zu simulieren, und somit kann die Anzahl
von Simulationen des Schaltungselements, die benötigt wird, um diesen Lösungsansatz
zu verwenden, untragbar groß sein,
falls das Schaltungselement eine große Anzahl von Komponenten enthält und bei
jeder Iteration von neuem simuliert werden soll.
-
Außerdem gibt
es Fälle,
bei denen die Schaltung, die simuliert wird, von einem Hersteller
als eine „Blackbox" geliefert wird,
oder die elementaren Komponenten, aus denen die Schaltung aufgebaut
ist, in einem Bereich betrieben werden, für den gültige Modelle nicht verfügbar sind.
In jedem Fall muss ein Modell für
die Komponente, das für
die Verwendung in dem Schaltungssimulator angepasst ist, für den Benutzer
geliefert werden.
-
Es
ist die Aufgabe der vorliegenden Erfindung, ein Verfahren zum Erzeugen
eines Modells einer Schaltung mit einem Eingangstor und einem Ausgangstor
und ein Verfahren zum Erzeugen eines Modells einer Schaltung mit
einem Eingangstor und P Ausgangstoren mit verbesserten Charakteristika
zu schaffen.
-
Diese
Aufgabe wird durch ein Verfahren gemäß Anspruch 1 sowie ein Verfahren
gemäß Anspruch
11 gelöst.
-
Die
vorliegende Erfindung umfasst ein Verfahren zum Erzeugen eines Modells
einer Schaltung mit einem Eingangstor und einem Ausgangstor. Das
Verfahren bestimmt eine Amplitude für Strom, der das Ausgangstor
bei einer Frequenz ω
k verlässt,
wenn ein Signal, das einen Träger
bei ω
j umfasst, moduliert durch ein Signal V
j(t) in das Eingangstor eingegeben wird,
wobei ω
k eine Harmonische von ω
j ist.
Die bestimmte Amplitude wird verwendet, um die Werte für einen
Satz von Konstanten a
k zu bestimmen, so
dass eine Funktion f
k(V,a
k)
eine Schätzung
des Stroms I
k(t) liefert, und das Ausgangstor
bei einer Frequenz ω
k lässt,
wenn ein Signal, das die Form
aufweist, in das Eingangstor
eingegeben wird. Hier ist V
k(t) eine Komponente
eines Satzes von Werten V. Die f
k(V,a
k) werden verwendet, um eine Simulatorkomponente
zu liefern, die für
die Verwendung in einem Schaltungssimulator angepasst ist. Die Simulatorkomponente
weist ein erstes Simulatoreingangstor und ein Simulatorausgangstor
auf, wobei die Komponente einen Wert f
k(V,a
k) über
das Simulatorausgangstor zurücksendet, wenn
der Simulator Werte für
V an dem ersten Simulatoreingangstor für zumindest einen Wert von
k liefert. Bei einem Ausführungsbeispiel
wird die Amplitude bestimmt durch Anlegen eines elektrischen Signals
an die Schaltung und Messen eines Signals an dem Ausgangstor. Bei
einem anderen Ausführungsbeispiel
wird die Amplitude in einem Schaltungssimulator bestimmt durch Simulieren
eines elektrischen Signals, das an die Schaltung angelegt wird.
Das Modell kann bei einem Transienten-Hüllkurven-Simulator verwendet werden. Die Funktionen
f
k(V,a
k) werden
durch ein neurales Netzwerk bewertet, das mit einem Trainingssatz
trainiert wurde, der die bestimmte Amplitude bei einem anderen Ausführungsbeispiel
der Erfindung umfasst. Bei einem weiteren Ausführungsbeispiel umfassen die
Funktionen f
k(V,a
k)
gewichtete Summen von Basisfunktionen. Bei einem Ausführungsbeispiel,
bei dem die Funktionen f
k(V,a
k)
ferner von Eingangssignalen abhängen,
die von V abgeleitet werden, die nicht direkt durch den Simulator
geliefert werden, in dem das Modell funktionieren soll, umfasst
die Simulatorkomponente ferner ein zweites Simulatoreingangstor
und eine Rechenkomponente mit einem Komponenteneingangstor und einem
Komponentenausgangstor, wobei das Komponenteneingangstor mit dem
ersten Simulatoreingangstor und/oder dem Simulatorausgangstor verbunden
ist, und der Komponentenaus gang mit dem zweiten Simulatoreingangstor
verbunden ist, wobei die Rechenkomponente die Eingangssignale erzeugt,
die von V und/oder dem I
k(t) an dem Komponentenausgangstor
abgeleitet werden, wenn das Eingangstor ein Signal empfängt, das
V spezifiziert. Die Rechenkomponente kann als eine Schaltungskomponente
von einer Simulatorkomponentenbibliothek implementiert sein.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf
beiliegende Zeichnungen näher
erläutert.
Es zeigen:
-
1 den
experimentellen Aufbau, der verwendet wird, um die Testdaten zu
erzeugen, die bei einem Ausführungsbeispiel
der vorliegenden Erfindung verwendet werden; und
-
2 ein
Modell, das vergrößert ist,
um berechnete Eingangssignale zu liefern.
-
Die
vorliegende Erfindung liefert ein Verfahren zum Definieren eines
Modells und zum Extrahieren von Parametern, die in dem Modell verwendet
werden, von einer Schaltung von den Ausgängen dieser Schaltung, wenn
die Schaltung mit bestimmten Signalen simuliert wird. Im allgemeinen
erstrecken sich die Testsignale über
eine ausreichende Zeitperiode zum Messen von Effekten an sowohl
der langen als auch der kurzen Zeitskala, die der Schaltung zugeordnet
sind. Das Modell ist gut angepasst für die Verwendung bei einem
Transienten-Hüllkurven-Simulator,
da derselbe als Eingangssignale die Mengen annimmt, die natürlicherweise
durch einen solchen Simulator geliefert werden. Sobald das Modell
fertiggestellt ist, kann das Modell in dem Simulator verwendet werden,
um die Schaltung und anderen Eingangssignalbedingungen zu simulieren,
als denjenigen, die verwendet wurden, um das Modell zu bauen. Außerdem kann
der Transienten-Hüllkurven-Simulator größere Schaltungen
simulieren, die das Modell als eine Komponente derselben umfassen.
-
Die
vorliegende Erfindung ist besser verständlich, indem zunächst die
Art und Weise betrachtet wird, wie ein Transienten-Hüllkurven-Simulator
arbeitet. Eine Schaltung, die simuliert werden soll, wird durch
Knoten beschrieben, die die verschiedenen Schaltungselemente verbinden.
Der Simulator löst
die Schaltungsgleichungen zum Liefern der Spannungen und Ströme in jedem
Knoten als eine Zeitfunktion. Bei einem Transienten-Umhüllungskurven-Simulator
werden die Signale, die an ein Schaltungselement an einem bestimmten
Tor dieses Elements angelegt werden, bezüglich der allgemein zeitvariierenden
komplexen Amplitude jeder einer Anzahl von Harmonischen beschrieben.
Das Schaltungselement ist durch eine Subroutine dargestellt, die
diese Amplituden als Eingangssignale annimmt und den Strom zurücksendet,
der durch das Schaltungselement an jeder der betreffenden Harmonischen
an jedem der Tore der Schaltung erzeugt wird.
-
Ein
Verhaltensmodell gemäß der vorliegenden
Erfindung ist eine Subroutine, die die Amplituden an jeder einer
Anzahl von Harmonischen annimmt und die Ströme erzeugt, die die Schaltung
an jeder dieser harmonischen Frequenzen an jedem der Schaltungstore
verlassen. Die Art und Weise, wie das Modell aufgebaut ist, ist
leichter verständlich
mit Bezugnahme auf eine einfache Schaltung, die ein Eingangstor
und ein Ausgangstor aufweist. Die Verallgemeinerung des Verfahrens
der vorliegenden Erfindung auf Schaltungen mit mehreren Eingangs-
und Ausgangstoren wird nachfolgend näher erörtert. Es wird nun auf
1 Bezug
genommen, die einen experimentellen Aufbau darstellt, der verwendet
werden kann, um die Daten zu erzeugen, auf denen das Modell basiert.
Das Schaltungselement
12, das modelliert werden soll, empfängt ein
Testsignal V(t) von einem Signalgenerator
10. Das Ausgangssignal
der Schaltung, I(t), wenn die Schaltung durch V(t) simuliert wird,
wird durch einen Analysator
14 aufgezeichnet. Es wird angenommen,
dass V(t) und I(t) in der folgenden Form geschrieben werden können:
wobei
V
k(t) und I
k(t)
langsam variierende Funktionen von t sind. Anders ausgedrückt, die
Eingangs- und Ausgangssignale sind aus langsam modulierten Trägern aufgebaut.
-
Mit
dem beobachteten I(t) können
die langsam variierenden Komponenten Ik(t)
beispielsweise durch Filtern I(t) mit Schmalbandfilterzentren um ωk für
jeden Wert von k erhalten werden. Um den Messprozess zu vereinfachen,
wird bei einem Ausführungsbeispiel
der vorliegenden Erfindung eine Anzahl von einfachen V(t) Signalen
verwendet, um die Komponente zu simulieren. Jeder Eingang hat einen
einzigen Träger,
der durch ein langsam variierendes Signal moduliert wird. Das heißt, nur
eine der Vk(t) Funktionen unterscheidet
sich von Null. Es sollte jedoch angemerkt werden, dass ein einziger
Träger
Ausgangsströme
bei der Eingangsfrequenz und bei Frequenzen, die sich von dieser
Frequenz unterscheiden, angeregt werden kann. Somit müssen die Ik(t) Funktionen für jede Harmonische erhalten
werden, selbst wenn der Eingang nur eine Harmonische aufweist.
-
Mit
den beobachteten Werten für
Ik(t) und den bekannten Vk(t)
baut der Modellgenerator 16 ein Modell auf, das für die Verwendung
bei einem Schaltungshüllsimulator
geeignet ist. Das heißt,
mit einem neuen Eingangssignal, das durch Modulationsamplituden
V'k(t)
gekennzeichnet ist, liefert das Modell eine Näherung an die Amplituden I'k(t)
des Ausgangssignals, das mit diesem neuen Eingang bei jeder Harmonischen
erzeugt werden würde.
Es sollte angemerkt werden, dass sich die Trägerfrequenzen, die den neuen
Eingangs- und Ausgangssignalen zugeordnet sind, von denjenigen unterscheiden
können,
die verwendet werden, um die Schaltungskomponente zu analysieren.
-
Da
solche Simulatoren in der Technik bekannt sind, werden dieselben
hier nicht näher
erörtert.
Für eine
nähere
Beschreibung eines solchen Simulators wird der Leser auf das U.S.-Patent
5,588,142 verwiesen, das hierin durch Bezugnahme aufgenommen ist.
Für die
Zwecke der vorliegenden Erörterung
reicht es aus, anzumerken, dass ein Schaltungshüllkurvensimulator mit einem
Code versehen ist, der das Verhalten jeder Schaltungskomponente
beschreibt, die mit jedem der Knoten in der Schaltung, die simuliert
wird, verbunden ist. Der Code, der die Schaltungselemente beschreibt,
muss den Beitrag Ik(t) dieses Schaltungselements
an jeder der Trägerfrequenzen
in dem Ausgangssignal von Daten liefern, die durch den Simulator
geliefert werden, der Vj(t) an dem Eingang
zu dem Element für
j, k = 1 bis H spezifiziert. Hier ist H die Anzahl von Harmonischen
in den Eingangs- und Ausgangssignalen. Im allgemeinen Fall kann
Ik(t) auch von anderen Werten abhängen als
den aktuellen Vj(t) Werten, wie z. B. vorher
berechnete Werte von Ij(t) oder vorherige
Werte von Vj(t). Das heißt, das Modell kann Werte Ij(t-d) oder Vj(t-d)
verwenden, wenn Ij(t) von Vj(t)
berechnet wird. Beispielsweise kann Ik(t)
von der ersten Zeitableitung von Vj(t) abhängen, das
wiederum von vorher empfangenen Werten von Vj(t)
berechnet wird. Gleichartig dazu kann Ik(t)
von vorher berechneten Werten von Ij(t)
oder den Ableitungen desselben berechnet werden, einschließlich Zeitableitungen
höherer
Ordnung. Die Art und Weise, wie die vorliegende Erfindung diese
anderen Signalwerte liefert, wird nachfolgend näher erörtert.
-
Folglich
liefert die vorliegende Erfindung die Funktionen Ik(t)
in einer Form, die mit derjenigen übereinstimmt, die durch den
Schaltungshüllkurvensimulator
erforderlich ist. Das heißt,
ein Modell gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung empfängt
als Eingangssignale die Vj(t) für j = 1
bis H an einem Eingangstor. Die vorliegende Erfindung verwendet
dann diese Eingangssignale zum Liefern von Ij(t)
für j =
1 bis H als Ausgangssignale.
-
Die
vorliegende Erfindung baut das betreffende Modell auf durch Spezifizieren
einer expliziten oder impliziten funktionalen Beziehung für jeden
Ik(t), der eine Anzahl von Konstanten, die
von den beobachteten Werten von Ij(t) und
Vj(t) bestimmt werden, die von den Testdaten
erhalten werden, und verschiedene andere Parameter umfasst, wie
z. B. die Ableitungen, die oben erwähnt wurden, von jeder der Harmonischen.
Um die folgende Erörterung
zu vereinfachen, wird jeder Parameter, von dem Ik(t)
abhängen
kann, durch die Komponente eines Satzes oder Vektors x bezeichnet.
Beispielsweise können
die ersten H Komponenten von x die Werte von Vj(t)
für j =
1 bis H sein, die nächsten
H Komponenten von x könnten
die ersten Ableitungen bezüglich
der Zeit von Vj(t) sein, usw. Bei dieser
Notation ist Ik(t) = fk(x,ak), wobei ak ein
Satz von Konstanten ist, die von den in der oben erörterten
Testphase experimentell beobachteten Werten Ij(t)
und Vj(t) bestimmt werden. Es sollte angemerkt
werden, dass fk(x,ak)
eine komplexwertige Funktion ist. Man bezeichnet die Anzahl von Komponenten
in den Vektoren ak mit M.
-
Für einen
gegebenen Wert von t liefern die gemessenen Werte von Ik(t)
und die anderen Parameter in x einen „Trainingsabtastwert". Das heißt, die
Messungen zu einer Zeit liefern jedes Mal einen Trainingspunkt, der
daraus besteht, einen Wert von x mit einem Satz von Ik Werten
zu verbinden, der diesem Wert von x zugeordnet ist. Jedes Testsignal
liefert eine Anzahl solcher Trainingspunkte. Außerdem können zusätzliche Testsignale verwendet
werden, um die Anzahl von Trainingspunkten zu erhöhen.
-
Bei
einem Ausführungsbeispiel
der vorliegenden Erfindung wird der Satz von Trainingspunkten verwendet,
um ein neurales Netzwerk zu trainieren. Da neurale Netzwerke in
der Technik bekannt sind, werden dieselben hier nicht näher erörtert. Für die Zwecke
der vorliegenden Erörterung
ist es ausreichend, anzumerken, dass der Trainingsprozess Werte für eine Anzahl
von Gewichtsparametern innerhalb des neuralen Netzwerks definiert.
Diese Parameter sind Beispiele des oben erörterten Vektors ak.
Sobald das neurale Netzwerk trainiert ist, kann dasselbe mit zusätzlichen
Trainingspunkten getestet werden, um zu verifizieren, dass das neurale
Netzwerk die korrekten Ik Werte für jeden
Eingangsvektor x liefert.
-
Bei
einem weiteren Ausführungsbeispiel
der vorliegenden Erfindung wird für f
k(x,a
k) eine verallgemeinerte Funktion verwendet.
Es gibt viele allgemeine Funktionen, die bezüglich solcher konstanter Vektoren
geschrieben werden können,
und somit verwendet werden können,
um die Funktionen f
k(x,a
k)
zu modellieren. Beispielsweise kann f
k(x,a
k) als eine Erweiterung in einer orthonormalen
Basis der Formel
geschrieben werden.
-
Hier
sind die Funktionen Bi(x) die Orthonormalbasisfunktionen.
Der Parameter ai k ist
die i-te Komponente des Vektors ak und wird
von den gemessenen Werten für
Ik(t) bestimmt durch Einsetzen des beobachteten
Satzes von Werten von der Testphase in die in den Gleichungen (3)
gezeigte Funktion. Jeder einer Anzahl von Basisfunktionssätzen kann
für die
in Gleichungen (3) gezeigte Erweiterung verwendet werden.
Ferner können
unterschiedliche Basisfunktionen für unterschiedliche Werte von
k verwendet werden. Da solche Dateneinsetzprozeduren in der Technik
bekannt sind, werden sie hier nicht näher erörtert.
-
Die
oben beschriebenen Ausführungsbeispiele
der vorliegenden Erfindung nehmen an, dass die Parameter bekannt
sind, von denen Ik(t) abhängt. Das
heißt,
die Parameter, die in den Vektor x aufgenommen werden sollen, sind
bekannt. Falls eine gewisse Kenntnis der Schaltungselemente, die
die Komponente, die modelliert wird, bilden, vorhanden ist, sind
Verfahren zum Vorhersagen, welche Parameter aufgenommen werden sollen,
in der Technik bekannt.
-
Falls
eine solche Kenntnis nicht verfügbar
ist, können
die Parameter, die zusätzlich
zu den Vk(t) aufgenommen werden sollen,
experimentell bestimmt werden durch Verwenden eines überinklusiven
Satzes von Parametern und Beobachten der Qualität des Modells beim Vorhersagen
von Ik(t), wenn neue Testsignale angelegt
werden. Falls eine zufriedenstellende Einsetzung erhalten wird,
kann die Liste von Parametern selektiv reduziert werden und der
Prozess wiederholt werden, um zu bestimmen, welche Parameter nicht
wirklich benötigt
werden. Falls keine zufriedenstellende Einsetzung erhalten wird,
können
zusätzliche
Parameter hinzugefügt
werden oder eine andere Basis kann verwendet werden.
-
Wie
es oben angemerkt wurde, liefern Transienten-Hüllkurven-Simulatoren
normalerweise die Vk Werte an das Modell
an jedem Zeitpunkt, der durch den Simulator verarbeitet wird. Die
Liste von potentiellen Parametern für x umfasst jedoch viele zusätzliche
Parameter. Beispielsweise können
die Zeitableitungen von Vk(t) ebenfalls
erforderlich sein. Das heißt,
fk(x,ak) kann in
der Form von fk(V,y,ak)
geschrieben werden, wobei y ein Satz von Eingangssignalen ist, die
nicht direkt durch den Simulator geliefert werden. In diesen Fällen muss
ein Verfahren zum Erhalten der Parameter, die nicht direkt durch
den Simulator geliefert werden, aufgenommen werden. Die Eingangsvariablen,
die nicht direkt durch den Simulator geliefert werden, werden bei
der folgenden Erörterung
als die „berechneten
Eingangssignale" bezeichnet.
Die Eingangsvariablen, die direkt durch den Simulator geliefert
werden, werden als die „gelieferten
Eingangssignale" bezeichnet.
Das Liefern zusätzlicher
Routinen, die die berechneten Eingangssignale von Vk erzeugen,
können
die berechneten Eingangssignale innerhalb des Modells liefern.
-
Alternativ
können
die Modellelmentarkomponentenroutinen, die in der Bibliothek des
Simulators enthalten sind, verwendet werden, um die Berechnungen
durchzuführen.
Bei einem Ausführungsbeispiel
der vorliegenden Erfindung werden diese berechneten Eingangssignale
durch Hinzufügen
von Schaltungskomponenten geliefert, die die gelieferten Eingangssignale
in die berechneten Eingangssignale umwandeln. Die berechneten Eingangssignale
werden dann durch ein oder mehrere interne Tore an das Modell geliefert.
Der oben erörterte
Satz von Funktionen fk(x,ak)
wird als das Kernmodell bezeichnet.
-
Nachfolgend
wird auf 2 Bezug genommen, die die Art
und Weise darstellt, wie das Kernmodell vergrößert wird, um die berechneten
Eingangssignale zu liefern. Für
die Zwecke dieses Beispiels wird angenommen, dass die berechneten
Eingangssignale aus den Zeitableitungen von Vk oder
Ik bestehen. Das Kernmodell 55 ist
definiert, um zwei Eingangstore, die bei 50 und 51 gezeigt
sind, und ein Ausgangstor 60 aufzuweisen. Der Eingangsvektor
x ist aufgeteilt in die gelieferten Eingangssignale und die berechneten
Eingangssignale. Die gelieferten Eingangssignale werden durch das
Tor 50 an das Kernmodell gesendet. Das Tor 50 ist auch
an dem Knoten 71 mit einem Schaltungselement 72 verbunden,
das eines oder mehrere der gelieferten Eingangssignale zu ein oder
mehreren der berechneten Eingangssignale umwandelt, die durch das
Kernmodell auf dem Tor 51 empfangen werden. Beispielsweise
könnte
das Schaltungselement 72 in dem Fall, in dem die berechneten
Eingangssignale die Zeitableitungen von Vk(t)
sind, ein Kondensator in Reihe mit dem Tor 51 sein. Gleichartig
dazu kann das Schaltungselement 72 einen Induktor zum Erzeugen
der Zeitableitungen von Ik(t) umfassen,
die das Ausgangstor verlassen. Da Kondensatoren bekanntlich ein
Signal differenzieren, sind die Ausgangssignale des Kondensators
bei den verschiedenen Harmonischen die benötigten Zeitableitungen.
-
Bei
diesem Beispiel simuliert der Simulator eine vergrößerte Schaltung,
wobei die vergrößerten Elemente
Elemente sind, die in der Bibliothek des Simulators definiert sind.
Gleichartig dazu können
Verzögerungselemente
verwendet werden, um vorhergehende Werte von sowohl den Vk abhängigen
Größen als
auch den Ik Werten und deren Ableitungen
für vorhergehende
Zeitpunkte zu liefern. Falls eine spezifische Funktion benötigt wird,
die nicht ohne weiteres unter Verwendung der elementaren Funktionen
in der Bibliothek des Simulators berechnet wird, kann ein Modell
für diese
Funktion erzeugt werden und in die Bibliothek platziert werden.
-
Der
in 1 gezeigte Analysator kann im Prinzip das Modell
der Komponente erzeugen. Bei der Rechenkomplexität des Einsetzprozesses werden
jedoch die Daten, die durch den Analysator gesammelt werden, normalerweise
zu einem Universaldatenverarbeitungssystem befördert, um die Daten einzusetzen.
-
Die
oben beschriebenen Ausführungsbeispiele
haben experimentelle Messungen der Eigenschaften der Schaltung verwendet,
die modelliert werden soll. Falls jedoch die betreffende Schaltung
aus bekannten Komponenten besteht, die Modelle in einem Schaltungssimulator
aufweisen, kann der Messprozess simuliert werden, um die Daten zu
liefern, auf denen das Modell basiert. Solche Simulationen sind
besonders sinnvoll zum Erzeugen eines rechentechnisch effizienteren
Modells für
die Schaltung, wenn die Schaltung als ein Element in komplizierteren
Schaltungen verwendet wird. Sobald die Parameter, die die vorliegende
Erfindung definieren, berechnet wurden, kann die Zeit, die die vorliegende
Erfindung benötigt,
um ein Ausgangssignal von einem spezifizierten Eingangssignal zu
liefern, sehr viel schneller sein als die Zeit, die ein Simulator
benötigt, um
das Problem von Anfang an zu lösen.
Somit können
nachfolgend die Simulationen rechentechnisch sehr viel effizienter
sein.
-
Außerdem liefert
die vorliegende Erfindung ein praktisches Verfahren zum Liefern
eines Modells einer Schaltung, ohne die Einzelheiten der Schaltung
zu offenbaren. Dieses Merkmal liefert eine Einrichtung für einen
Hersteller zum Schützen
von Handelsgeheimnissen, während
er nach wie vor gehäuste
Komponenten verkaufen kann, die die Schaltung enthalten. In diesem
Fall muss der Hersteller dem Benutzer nur die Modellparameter und
die Basisfunktionen oder das neurale Netzwerk, das in dem Modell
verwendet wird, liefern. Der Benutzer kann dann Schaltungen, die
die gehäuste
Komponente umfassen, auf einem Transienten-Hüllkurven-Simulator simulieren, um die Entwürfe dieser
Schaltungen zu vollenden. Da der Schaltungsentwurf nicht ohne weiteres
von dem Modell abgeleitet werden kann, gefährdet das verteilte Modell
den gesetzlich geschützten
Entwurf des Herstellers nicht.
-
Die
oben beschriebenen Ausführungsbeispiele
der vorliegenden Erfindung wurden bezüglich einer einfachen Schaltung
beschrieben, die ein einziges Eingangstor und ein einziges Ausgangstor
aufweist; die vorliegende Erfindung kann jedoch an Schaltungen angelegt
werden, die mehrere Eingangs- und Ausgangstore aufweisen. In diesem
Fall sind die oben beschriebenen Funktionen Ik(t)
und Vk(t) ersetzt durch Vp k(t) und Ip k(t), wobei p die Torzahl ist. Eine Funktion
fp k(t) wird dann
für jedes
Ausgangstor auf eine Weise abgeleitet, die analog zu der oben beschriebenen
ist. In solchen Fällen
umfasst der Vektor x allgemein Vp k(t) und Ip k(t) Terme für alle die Tore.
-
Die
obige Beschreibung bezog sich auf Eingangssignale, die Spannungen
sind, und auf Ausgangssignale, die Ströme sind. Obwohl dies eine übliche Formulierung
des Simulationsproblems ist, sollte angemerkt werden, dass die Eingangssignale
Ströme,
Spannungen oder Mischungen von Strömen und Spannungen sein können, die
für die
verschiedenen Tore unterschiedlich sind. Gleichartig dazu kann ein
gegebenes Tor ein Ausgangssignal und ein Eingangssignal aufweisen.
Somit sind die Begriffe Eingangs- und Ausgangssignal nicht auf Spannungen
bzw. Ströme
begrenzt.
-
Nachdem
eine Anzahl vereinfachter Beispiele des Verfahrens der vorliegenden
Erfindung geliefert wurde, wird nun eine allgemeinere Beschreibung
des Verfahrens geliefert. Man betrachte eine Vorrichtung, die simuliert
werden soll. Es wird angenommen, dass die Vorrichtung eine Anzahl
von Toren aufweist, an denen dieselbe Stimuli empfangen kann und
Ausgangssignale liefern kann. Der erste Schritt bei dem Modellierprozess
ist das Verwenden entweder einer physikalischen Ausrüstung, wie
z. B. Signalgeneratoren und Analysatoren, oder einer Simulationsumgebung
zum Messen des Ansprechverhaltens der Vorrichtung, wenn ein Satz von
Signalen an ein oder mehrere Tore der Vorrichtung angelegt wird.
Diese Signale könnten
ein Einzelfrequenzträger
mit Analog- oder Digital-Modulation sein, oder Mehrfachtonträger, die
eine Mehrzahl von Sinuskurven umfassen. In der Praxis sind die tatsächlichen
Signale höchstwahrscheinlich „einfallende" und „reflektierte" Leistungswellen,
die durch das HF-Mikrowellentestgerät gemessen werden. Die Leistungswellen
werden linear zu Torspannungen und Strömen transformiert. Falls die „Messungen" in einem Simulator
durchgeführt
werden, können
die Spannungen und der Strom direkt durch den Simulator geliefert
werden.
-
Für die Zwecke
des Analysierens der Signale ist der Stimulus definiert als die
Spannung an jedem Tor und die Antwort ist definiert als der Strom.
Der Stimulus und die Antwort können
Signale bei den ursprünglichen Simulationsfrequenzen
und auch Harmonische und Intermodulationskomponenten dieser Frequenzen
umfassen. Die gemessenen Signalamplituden werden als Funktionen
ausgedrückt,
die zeitlich variieren, d. h. die oben beschriebenen Vp k(t) und Ip k(t). Hier ist p die Toranzahl und k identifiziert
die Harmonische, bei der die Amplitude gemessen wird.
-
Nachfolgend
wird ein Kernmodell definiert, das von den beobachteten Größen und
einer Anzahl von Konstanten abhängt,
die von den gemessenen Daten bestimmt werden. Beispielsweise kann
jeder Ip k eine Funktion
von einem oder mehreren Vp j(t)
sein, wobei t jeden Torwert annehmen kann und j jeden der harmonischen
Werte annehmen kann.
-
Außerdem kann
jeder Ip k eine Funktion
der Zeitableitungen erster und höherer
Ordnung von Ip k sein, wobei
p und k jeden der Werte annehmen kann, für den diese Größen definiert
sind. Es sollte angemerkt werden, dass andere Transformierte der
Eingangs- und Ausgangsvariablen, wie z. B. Zeitverzögerungen,
anstatt den Ableitungen verwendet werden können.
-
Die
erforderlichen Eingangssignale werden dann in gelieferte Eingangssignale
und berechnete Eingangssignale getrennt, wie es oben beschrieben
ist. Ein oder mehrere zusätzliche
Tore sind vorgesehen zum Empfangen der berechneten Eingangssignale.
Schaltungselemente, die die vorgesehenen Eingangssignale in die
berechneten Eingangssignale umwandeln, werden dann zwischen dem
ursprünglichen
Eingangstor an dem die gelieferten Eingangssignale empfangen wurden,
und den zusätzlichen
Toren hinzugefügt.
Diese Vergrößerung des
Kernmodells bildet dann das Modell, das dem Transienten-Hüllkurven-Simulator
gegeben wird.