DE69913582T2 - Vielseitiger Signalgenerator - Google Patents

Vielseitiger Signalgenerator Download PDF

Info

Publication number
DE69913582T2
DE69913582T2 DE69913582T DE69913582T DE69913582T2 DE 69913582 T2 DE69913582 T2 DE 69913582T2 DE 69913582 T DE69913582 T DE 69913582T DE 69913582 T DE69913582 T DE 69913582T DE 69913582 T2 DE69913582 T2 DE 69913582T2
Authority
DE
Germany
Prior art keywords
output
input
coupled
complex
symbol
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69913582T
Other languages
English (en)
Other versions
DE69913582D1 (de
Inventor
Howard E. Hilton
John H. Guilford
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Agilent Technologies Inc
Original Assignee
Agilent Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Agilent Technologies Inc filed Critical Agilent Technologies Inc
Application granted granted Critical
Publication of DE69913582D1 publication Critical patent/DE69913582D1/de
Publication of DE69913582T2 publication Critical patent/DE69913582T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/24Testing correct operation
    • H04L1/242Testing correct operation by comparing a transmitted test signal with a locally generated replica
    • H04L1/244Testing correct operation by comparing a transmitted test signal with a locally generated replica test sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/0008Modulated-carrier systems arrangements for allowing a transmitter or receiver to use more than one type of modulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Monitoring And Testing Of Transmission In General (AREA)

Description

  • Hintergrund der Erfindung
  • Diese Erfindung, wie sie in den angehängten Ansprüchen definiert ist, bezieht sich allgemein auf Signalgeneratoren und insbesondere auf einen Signalgenerator mit einer flexiblen Architektur zum Erzeugen von Testsignalen.
  • Drahtlose Kommunikation, einschließlich digitalen Zellulartelefonen und PCS-Telefonen (PCS = Personal Communications Service = Personal-Kommunikationsdienst) werden schnell zu einem Hauptsektor der Kommunikationsindustrie. Aufstrebende drahtlose Kommunikationstechnologien sind eine treibende Kraft hinter der sich schnell ausdehnenden Anzahl komplexer Signale, wie z. B. digitalmodulierte Signale, die nun durch den Signalgenerator sowohl in der Entwurfs- als auch der Herstellungsumgebung untergebracht werden müssen. Der Entwickler des drahtlosen Systems, der eine bestimmte digitale Modulation auswählen muß, steht einer Anzahl von Herausforderungen gegenüber. Das drahtlose System muß Signalstärken ermöglichen, die im Verlauf der Zeit und an verschiedenen Orten variieren, mit Mehrweg, Fading bzw. Schwund und Störung. Drahtlose Handapparate werden zunehmend kleiner und weisen eine zunehmend begrenzte Batteriekapazität auf. Gleichzeitig steigen die Benutzeranforderungen nach höheren Datenraten, besserer Sprachqualität, weniger abgebrochenen Anrufen und längeren Sprechzeiten. Das Entwerfen, Herstellen und die Wartung von drahtlosen Geräten erfordert somit geeignete Testausrüstungen, wie z. B. Signalgeneratoren, die in der Lage sind, Testsignale zum genauen Simulieren von echten Bedingungen sowie bekannte Signale, die Industriestandards entsprechen, zu erzeugen. Eine Erörterung verschiedener digitalmodulierter Signaltypen, die es gibt, sind zu finden in „Digital Communication, Second Edition", Lee, Edward, A. und Messerschmitt, David G., Kluwer Academic Publishers, Massachusetts, 1994.
  • Signalgeneratoren müssen vielseitig einsetzbar und leistungsfähig genug sein, um sowohl bestehende als auch neu erzeugte Modulationstypen handzuhaben. Während der Entwicklung eines neuen drahtlosen Systems können Entwickler dem Problem gegenüberstehen, keinen Empfänger zu haben, um den Betrieb des Signalgenerators zu verifizieren, und keinen Signalgenerator zu haben, der in der Lage ist, den Betrieb des Empfängers zu verifizieren. Eine vielseitige Signalquelle trägt dazu bei, dieses Dilemma zu vermeiden, durch Liefern eines bekannten Testsignals, durch das die Leistungsfähigkeit des neuen Empfängers bestimmt werden kann, ohne spezialisierte Prototypen zu entwickeln.
  • Signalgeneratoren können verwendet werden, um drahtlose Kommunikationsgeräte auf eine Vielzahl von Weisen zu testen. Beispielsweise kann es sinnvoll sein, die Antwort des Gerätes auf nicht ideale Signale zu untersuchen, durch Liefern eines Testsignals, das auf bekannte Weise von einem idealen Signal abweicht. Als ein weiteres Beispiel müssen drahtlose Kommunikationsgeräte in überfüllten spektralen Umgebungen neben anderen Kommunikationssystemen arbeiten. Eine Anzahl von Signalgeneratoren kann parallel kombiniert werden, um auf gesteuerte Weise eine vollständige spektrale Umgebung zu simulieren, durch Erzeugen einer Mehrzahl von Störsignalen mit einer Vielzahl von Signalstärken, Frequenzen und Modulationstypen.
  • Bei der Herstellungs-Umgebung muß die gleiche Teststation häufig unterschiedliche Typen von drahtlosen Geräten handhaben, die eine Vielzahl von Modulationstypen aufweisen. Eine vielseitige Signalquelle reduziert den Bedarf an zusätzlicher Ausrüstung und vereinfacht Testsystemanforderungen. Funktionsgeneratoren sind für ihre Vielseitigkeit beim Bereitstellen von Testsignalen gut bekannt, die über Frequenzbereiche die typischerweise Gleichstrom bis zu etwa 20 Megahertz (MHz) umfassen, amplituden-, frequenz- oder phasenmoduliert sind. Funktionsgeneratoren sind gut geeig net zum Testen analoger Geräte und Simulieren traditioneller analoger Modulationstypen und haben den Vorteil, in der Lage zu sein, ein Eingangssignal anzunehmen und ansprechend auf das Eingangssignal ein Testsignal mit Echtzeitmodulation zu erzeugen. Die Fähigkeit des Funktionsgenerators zum Erzeugen komplexerer digitaler Modulationstypen ist jedoch aufgrund der hauptsächlich analogen Architektur desselben sehr beschränkt.
  • Signalverlaufgeneratoren für beliebige Signalverläufe (AWG = Arbitrary waveform generators) sind ein aktuellerer Entwurf, der Digitalsignalverlaufspeicher und Digital/Analog-Wandler (DAC = Digital to Analog Converter) verwendet, um Testsignale mit größerer Komplexität zu erzeugen. Bei einer angemessenen Speichergröße und maximalen Abtastrate können AWGs beim Simulieren einer Vielzahl von Testsignalen sehr vielseitig sein. AWGs haben im allgemeinen jedoch keine Fähigkeit, digitale Eingangssignale anzunehmen, um Echtzeitsignale zu erzeugen, die tatsächliche Informationen kommunizieren. Das Testsignal, das durch den AWG erzeugt wird, muß zeitlich vorher als vorberechnete Abtastwerte berechnet und in dem Digitalsignalverlaufspeicher gespeichert werden. Weil vorberechnete Abtastwerte bezüglich Spannungswerten gespeichert werden, die bei einer ausgewählten Abtastrate abgespielt werden sollen, können die Berechnungen, die notwendig sind, um ein gewünschtes Testsignal zu erzeugen, beträchtlich sein.
  • Die Fähigkeit des AWG, komplexe Signale zu erzeugen, ist weiter begrenzt durch die Größe des Digitalsignalverlaufspeichers und der maximalen Abtastrate, was häufig Kompromisse zwischen Frequenzinhalt und Signalverlaufkomplexität erfordert. Weil der Digitalsignalverlaufspeicher häufig verwendet wird, um das Testsignal durch fortlaufendes Wiederholen der Inhalte des Digitalsignalverlaufsspeichers zu erzeugen, muß darauf geachtet werden, eine Diskontinuität zwischen vorberechneten Abtastwerten, die am Anfang und am Ende des digitalen Signalverlaufsspeichers gespeichert werden, zu vermeiden. Diese potentielle Diskontinuität begrenzt weiter die Fähigkeit des AWG, die gewünschten Testsignale zu erzeugen.
  • Es ist allgemein klar, daß herkömmliche digitale Signalverarbeitungschips (DSP-Chips; DSP = Digital Signal Processing), die im wesentlichen Mikroprozessoren sind, die für Signalverarbeitungsanwendungen optimiert sind, in der Lage sind, Testsignale zu erzeugen, wenn dieselben ordnungsgemäß programmiert sind und mit einem geeigneten DAC und unterstützenden Hardware-Vorrichtungen gekoppelt sind. Der DSP-Chip kann ein Echtzeiteingangssignal annehmen, typischerweise in der Form eines digitalen Datenstroms, um ein in Echtzeit digitalmoduliertes Signal zu erzeugen, wobei die Signalverarbeitungsberechnungen durch den DSP-Chip in Echtzeit gehandhabt werden. Aufgrund der relativ hohen Komplexität, die erforderlich ist, um jeden Ausgangsabtastwert des digitalmodulierten Signals in Echtzeit zu berechnen, ist die Signalbandbreite, die erhalten werden kann, durch den Durchsatz des DSP-Chips und der umgebenden Hardware begrenzt. Ferner ist das Neukonfigurieren eines Signalgenerators, der unter Verwendung eines DSP-Chips implementiert ist, um mit einer Vielzahl von digitalen Modulationstypen zu arbeiten, schwierig und zeitaufwendig.
  • Daher wäre es wünschenswert, einen vielseitigen Signalgenerator zum Erzeugen einer Vielzahl von Testsignalen zu schaffen, einschließlich digitalmodulierter Signale mit Echtzeitmodulation. Es wäre ferner wünschenswert, daß der vielseitige Signalgenerator nur unter Verwendung von speziell zugewiesenen, in Hardware integrierten Schaltungen und Speichern implementiert wird, die ohne weiteres für unterschiedliche Testsignale konfiguriert werden können.
  • Zusammenfassung der Erfindung
  • Gemäß der vorliegenden Erfindung und wie es in den nachfolgenden Ansprüchen 1 und 8 definiert ist, ist ein flexibler Signalgenerator zum Erzeugen komplexer Signale, die in Echtzeit berechnet werden, vorgesehen. Ein Datenmultiplexer (MUX) wählt die Quelle der Eingangsdaten für verschiedene Felder in der übertragenen Datensequenz. Ein Codierer, der mit dem MUX gekoppelt ist, erzeugt eine Sequenz von Symbolcodes gemäß einer Symboltabelle, die dann an eine Abbildungsfunktion geliefert werden, die jeden Symbolcode in eine Sequenz von Signalabtastwerten umwandelt, einschließlich echten Abtastwerten, komplexen Eingangswerten und I/Q (gleichphasige/Quadratur) Abtastwerte. Die Signalabtastwerte werden an einen Filter geliefert, das eine ausgewählte Frequenzantwort liefert, um gefilterte Signalabtastwerte zu erhalten.
  • Die gefilterten Signalabtastwerte werden an einen Neu-Abtaster geliefert, der die Signalabtastwerte interpoliert, um eine höhere Abtastrate zu erhalten, die mit der Grenzfrequenz von analogen Rekonstruktionsfiltern an der Ausgangsstufe übereinstimmt. Ein Modulator empfängt das Ausgangssignal des Neu-Abtasters und verschiebt dessen Frequenz unter Verwendung eines komplexen lokalen Oszillators, um eine komplexe Abtastsequenz zu erhalten. Das Ausgangssignal des Modulators wird an Digital-Analog-Wandler geliefert, die die komplexe Abtastwertsequenz in analoge Ausgangssignale umwandeln, die durch die analogen Glättungsfilter gefiltert werden, die als Tiefpaßfilter implementiert sind.
  • Jeder der Blöcke der Signalquelle, einschließlich dem MUX, Codierer, Abbildung, Filter, Neu-Abtaster und Modulator sind in ausreichend flexibler Weise implementiert, um eine fertige Konfiguration zu ermöglichen, um jedes von einer Vielzahl von digitalmodulierten Signale und auch qualitativ hochwertige analoge modulierte Signale zu erzeugen. Jeder der Blöcke kann in Hardware oder Software implementiert werden.
  • Bei dem bevorzugten Ausführungsbeispiel werden die Blöcke unter Verwendung von anwendungsspezifischen integrierten Schaltungen (ASIC) und Direktzugriffspeicher (RAM) implementiert, um hohe Symbolraten und Ausgangssignale mit der gewünschten Bandbreite zu erhalten. Gleichzeitig können die Blöcke nach Bedarf neu konfiguriert werden für unterschiedliche Testsignale, einfach durch Ändern der Inhalte des RAM. Kein Mikroprozessor oder keine DSP-Hardware wird verwendet, um die Gerätanforderungen zu vereinfachen und Schaltungsplatinenplatz einzusparen.
  • Ein handelsübliches Ausführungsbeispiel der vorliegenden Erfindung liefert die vielseitige Signalquelle als Schaltungsplatinenmodul, das zusammen mit anderen vielseitigen Signalquellen auf einer Trägerplatine befestigt werden kann, um eine Mehrfachkanalsignalquelle in einem kompakten physikalischen Gehäuse zu erzeugen. Jede der vielseitigen Signalquellen kann synchronisiert mit der anderen sein, um weitere Vielseitigkeit zu erhalten, wie z. B. das Simulieren von Mehrwegsignalen, die eine ausgewählte Amplitude und Phasenbeziehungen zueinander haben. Die vielseitige Signalquelle gemäß der vorliegenden Erfindung ist in der Lage, Echtzeitdaten an dem MUX anzunehmen und ein komplexeres Signal zu erzeugen, das gemäß den Echtzeitdaten moduliert wird.
  • Jeder der Blöcke der Signalquelle, einschließlich dem MUX, dem Codierer, der Abbildung, dem Filter, dem Neu-Abtaster und dem Modulator, kann gemäß einem Satz von Parametern gesteuert werden, die in der Technik für Signalverarbeitung bekannt ist, einschließlich Modulationstyp, Abtastrate und Anzahl von Symbolbits, ohne die Notwendigkeit, vorberechnete Abtastwerte zu liefern oder die Signalparameter in einer niederen Programmiersprache zu programmieren. Der Satz von Parametern kann unter Verwendung von Software-GUIs (GUI = Graphical User Interface = graphische Benutzeroberfläche), die allgemein in der Industrie erhältlich sind, und eines Satzes von Software-Bibliotheksfunktionen für die Verwendung beim Programmieren von Umgebungen programmiert werden.
  • Ein Merkmal der vorliegenden Erfindung ist es, eine vielseitige Signalquelle zu liefern. Ein weiteres Merkmal der vorliegenden Erfindung ist es, eine Signalquelle zu liefern, die eine vielseitige Architektur aufweist, die ohne weiteres für unterschiedliche Testsignaltypen angepaßt werden kann.
  • Ein weiteres Merkmal der vorliegenden Erfindung ist es, eine Signalquelle zu liefern, die eine vielseitige Architektur aufweist, die durch Einstellen von Signalparametern für unterschiedliche Typen von Testsignalen angepaßt werden kann.
  • Es ist ein zusätzliches Merkmal der vorliegenden Erfindung, eine Signalquelle zu liefern, die eine Echtzeiteingabe zum Empfangen von Eingangsdaten aufweist, um ein Ausgangssignal in Echtzeit zu modulieren.
  • Andere Merkmale, Fertigkeiten und Vorteile werden für einen Fachmann auf diesem Gebiet beim Lesen der folgenden Beschreibungen in Verbindung mit den beiliegenden Zeichnungen offensichtlich werden.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Blockdiagramm eines Signalverlaufgenerators für beliebige Signalverläufe gemäß dem Stand der Technik;
  • 2 ist ein Blockdiagramm eines vielseitigen Signalgenerators gemäß der vorliegenden Erfindung;
  • 3 ist ein Blockdiagramm eines Komplexsignal-Generators, der Teil des vielseitigen Signalgenerators von 2 bildet;
  • 4 ist ein Blockdiagramm eines Codierers, der Teil des Komplexsignal-Generators von 3 bildet;
  • 5 ist ein Blockdiagramm eines ersten Ausführungsbeispiels einer Abbildung und eines Filters, die Teil des Komplexsignal-Generators von 3 bilden;
  • 6 ist ein Blockdiagramm eines zweiten Ausführungsbeispiels der Abbildung und des Filters, die Teil des Komplexsignal-Generators von 3 bilden;
  • 7 ist eine detaillierte Ansicht der in 6 gezeigten RAM-Adresse;
  • 8 ist ein Hardware-Blockdiagramm des vielseitigen Signalgenerators, der das zweite Ausführungsbeispiel der Abbildung und des Filters gemäß 6 verwendet; und
  • 9 ist ein Beispiel eines Benutzerschnittstellenbildschirms zum Programmieren des vielseitigen Signalgenerators gemäß der vorliegenden Erfindung.
  • Detaillierte Beschreibung der Erfindung
  • In 1 ist ein Blockdiagramm eines Signalverlaufgenerators für beliebige Signalverläufe (AWG) 10 gemäß dem Stand der Technik gezeigt. Ein Akkumulator 12 wirkt als ein binärer Zähler durch Inkrementieren durch eine Serie von Adressen mit einer Rate, die durch einen Abtasttakt 14 bestimmt wird, wobei die Adresse um einen Inkrementwert 16 inkrementiert wird. Die Adresse von dem Akkumulator 12 wird über einen Satz von Adreßleitungen 18 an einen Signalverlaufspeicher 20 geliefert. Der Signalverlaufspeicher 20 enthält einen Satz von vorberechneten Abtastwerten, die ein komplexes Signal darstellen. Vorberechnete Abtastwerte werden gemäß der Adresse von dem Akkumulator 12 an einen DAC 22 geliefert. Der DAC 22 erzeugt Spannungen gemäß den Werten der vorberechneten Abtastwerte bei einer Abtastrate, die dann an ein Tiefpaßfilter 24 geliefert werden. Das Tiefpaßfilter 24 weist eine Frequenzcharakteristika auf, die mit dem Abtasttakt übereinstimmt, so daß Abtastfrequenzkomponenten von dem Ausgangssignal entfernt sind.
  • Das Ausgangssignal enthält keine Echtzeitinformationen, weil der Satz von vorberechneten Abtastwerten geladen werden muß, bevor der AWG 10 damit beginnt, ein Ausgangssignal zu erzeugen. Es müssen Kompromisse geschlossen werden zwischen Signalkomplexität und Bandbreite, weil die Länge des Signalverlaufspeichers 20 begrenzt ist. Das Ausgangssignal ist bezüglich Abtastwerten und Abtastraten streng definiert, die gemäß den vorberechneten Abtastwerten und der Abtasttaktrate eingestellt sind. Komplexe Signale sind jedoch eher bezüglich Datenströmen und Symbolen definiert anstatt bezüglich Abtastzerten und Spannungspegeln, und erfordern somit, daß an den vorberechneten Abtastwerten mühsame Berechnungen durchgeführt werden, um das Testsignal zu erhalten.
  • In 2 ist ein Blockdiagramm eines vielseitigen Signalgenerators 100 gemäß der vorliegenden Erfindung gezeigt. Ein Komplexsignal-Generator 102 erzeugt ein komplexes Ausgangssignal, das eine Sequenz von digitalisierten Abtastwerten ist, die das gewünschte Testsignal darstellen. Die Sequenz von digitalisierten Abtastwerten kann aus verschachtelten echten und imaginären Ausgangssignalen bestehen. Alternativ kann das komplexe Ausgangssignal als ein echtes Ausgangssignal ohne ein verschachteltes imaginäres Ausgangssignal ausgewählt werden, oder mit einem imagi nären Ausgangssignal, wobei die digitalisierten Abtastwerte auf Nullwerte gesetzt sind.
  • Ein Neu-Abtaster 104 nimmt das komplexe Ausgangssignal von dem Komplexsignal-Generator 102 bei einer Eingangsabtastrate an. Der Neu-Abtaster 104 wandelt das komplexe Ausgangssignal zu einer Ausgangssignalabtastrate um, die typischerweise gemäß einer gewünschten Abtastrate und Signalbandbreite des Ausgangssignals fest ist. Das Verhältnis zwischen der Eingangsabtastrate und der Ausgangsabtastrate ist ein programmierbarer Gleitkommaparameter. Bei dem bevorzugten Ausführungsbeispiel ist die Ausgangssignalabtastrate bei 15 Mega-Abtastwerten pro Sekunde (MS/s) fest, um mit einer festen 15 MS/s Abtastrate des Ausgangssignals übereinzustimmen. Die Eingangssignalabtastrate ist typischerweise weniger als 15 MS/s. Neuabtasttechniken zum effektiven Ändern der Abtastrate nach oben oder unten, während die Frequenzinformationen beibehalten werden, werden erörtert in dem U.S.-Patent 5,235,534 „METHOD AND APPARATUS FOR INTERPOLATING BETWEEN DATA SAMPLES", erteilt am 10. August 1993 an Ronald W. Potter und übertragen an die Hewlett Packard Company.
  • Der Komplexsignal-Generator 102 weist einen Echtzeiteingang 106 zum Empfangen von digitalen Daten auf, die zum Modulieren des komplexen Signals verwendet werden können. Auf diese Weise können die Informationen von den digitalen Daten verwendet werden, um das Ausgangssignal zu modulieren, das durch den vielseitigen Signalgenerator 100 in Echtzeit erzeugt wird.
  • Der Neu-Abtaster 104 fordert ein komplexes Ausgangssignal von dem Komplexsignal-Generator 102 an, wenn es benötigt wird. Der Komplexsignal-Generator 102 wiederum fordert Eingangsdaten von dem Echtzeiteingang 106 an, wenn diese benötigt werden. Ruf diese Weise implementiert der vielseitige Signalgenerator 100 einen „Daten-Zieh"-Flußsteuermechanismus, der Signalzeitgebungsanforderungen für die Eingangsdaten vereinfacht, die an dem Echtzeiteingang 106 ankommen.
  • Ein Puffer 108 nimmt das neu abgetastete Ausgangssignal von dem Neu-Abtaster 104 und teilt die verschachtelten echten und imaginären Teile in getrennte echte und imaginäre Datenströme. Der Puffer 108 ist bei dem bevorzugten Ausführungsbeispiel als eine getrennte ASIC implementiert, um höhere Durchsatzgeschwindigkeiten zu erreichen. Die echten und imaginären Datenströme, die durch den Puffer 108 erzeugt werden, werden dann an einen komplexen Modulator 110 geliefert. Die Funktion des Puffers 108 kann ohne weiteres in den komplexen Modulator 110 eingebaut werden, falls Leistungsfähigkeitbetrachtungen dies ermöglichen, so daß der komplexe Modulator 110 das neu abgetastete Ausgangssignal direkt von dem Neu-Abtaster 104 annehmen kann. Der Puffer 108 kann von dem vielseitigen Signalgenerator 100 ausgelassen werden, falls nur echte Ausgangssignale erzeugt werden sollen, wodurch der Komponentenzählwert reduziert wird, aber bei einem dazugehörigen Verlust der Vielseitigkeit.
  • Der komplexe Modulator 110 nimmt die imaginären und echten bzw. realen Datenströme von dem Puffer 108 an I- (echt) und Q- (imaginär) Eingängen an und behandelt die I- und Q-Eingangssignale als eine komplexe Zahl, die mit dem Ausgangssignal eines komplexen lokalen Oszillators multipliziert wird, der in dem komplexen Modulator 110 (nicht gezeigt) vorliegt, um das komplexe Signal hochzuwandeln, um ein neu abgetastetes Signal bei einer gewünschten Trägerfrequenz zu erhalten. Das neu abgetastete Signal kann ohne Aufwärtswandlung direkt erhalten werden durch Auswählen einer Null-Hz-Trägerfrequenz für den komplexen lokalen Oszillator. Alternativ kann der komplexe Modulator 110 als ein Frequenzmodulator arbeiten, um ein Ausgangssignal zu erzeugen, mit der Größe die durch das I-Eingangssignal bestimmt wird und die Frequenzabweichung, die durch das Q-Eingangssignal bestimmt wird.
  • Der komplexe Modulator 110 erzeugt das abgetastete Signal als Ströme von echten Abtastwerten und imaginären Abtastwerten, die für die Umwandlung zu echten und imaginären Ausgangssignalen an Digital/Analog-Wandler (DACs) 112 bzw. 114 geliefert werden. Tiefpaßfilter 116 und 118 filtern die echten und imaginären Ausgangssignale, die durch die DACs 112 und 114 geliefert werden, um Frequenzrollcharakteristika zu erhalten, die mit der ausgewählten Abtastrate von 15 MS/s übereinstimmen. Bei dem bevorzugten Ausführungsbeispiel hat jedes der Tiefpaßfilter 116 und 118 eine Frequenzübertragungsfunktion, die ausgewählt ist, um eine flache Amplitude über einer Frequenzantwort bis zu 6.3 MHz zu liefern, während die höheren Frequenzkomponenten eliminiert werden, die Artefakte des Abtastprozesses sind. Die Tiefpaßfilter 116 und 118 liefern die echten und imaginären Ausgangssignale mit den gewünschten Frequenzcharakteristika an den Ausgangssignalanschlüssen 120 bzw. 122. Falls nur ein echtes Ausgangssignal gewünscht wird, kann der komplexe Modulator 110 ohne weiteres konfiguriert werden, um nur Echtzeitabtastwerte zu erzeugen.
  • In 3 ist ein Blockdiagramm des Komplexsignal-Generators 102 (in 2 gezeigt) gezeigt, um den Betrieb desselben näher darzustellen. Ein Multiplexer (MUX) 200 wählt zwischen verschiedenen Eingängen aus, die mit verschiedenen Quellen von Eingangsdaten verbunden sind, einschließlich dem Echtzeiteingang 106, einem Rauscheingang 130, einem Daten-RAM-Eingang 132 und einem Registereingang 134 zum Modulieren des komplexen Ausgangssignals. Der Rauscheingang 130 kann mit einem Zufallsdatengenerator gekoppelt sein, um Pseudozufallsdaten zu empfangen, um Zufallsdatenverkehr zu simulieren, oder um Rauschen mit den gewünschten Charakteristika für Test- und Auswertungsprozesse zu erhalten. Der Daten-RAM-Eingang 132 kann mit einem RAM auf der Leiterplatte verbunden sein, der eine vorher gespeicherte Datensequenz enthält, auf die für Test- und Auswertungszwecke zugegriffen werden kann, um feste Daten strukturen für die Synchronisation einzurichten und um vorbestimmte Typen von Datenverkehr zu simulieren. Der Registereingang 134 liefert eine kleine Datenmenge für die Verwendung bei ausgewählten Feldern, typischerweise diejenigen, die ein Null-Wert-Datenwort erfordern.
  • Die meisten digitalen Kommunikationsprotokolle definieren Felder in einer Übertragungssequenz. Felder sind Zeitblöcke, die spezifischen Informationstypen zugeordnet sind, die das komplexe Signal bilden. Ein Feld kann eine feste Datenstruktur enthalten, die für Synchronisation verwendet wird. Ein weiteres Feld kann eine bestimmte Anzahl von Verkehrsdatenwörtern enthalten. Noch andere Felder können Schutzfelder mit einer festen Datenstruktur am Anfang und am Ende einer Übertragung sein. Bei TDMA-Zellulartelefonsystemen (TDMA = Time Division Multiple Access = Mehrfachzugriff im Zeitmultiplex) beispielsweise, kann der Zwischenraum zwischen Datenstößen bzw. Datenbursts als weiteres Feld betrachtet werden, das aus speziellen Datenwörtern besteht, die ein Null-Signal-Ausgangssignal erzeugen. Es ist wünschenswert, daß der vielseitige Signalgenerator 100 die Fähigkeit aufweist, eine ausreichende Felderzeugungsflexibilität zu liefern, durch die Verwendung des MUX 200, des Rauscheingangs 130, des Daten-RAM-Eingangs 132, des Registereingangs 134 und des Echtzeiteingangs 106. Die Zeitgebung und Sequenz der Felder kann an einem Feldzählereingang auf dem MUX 200 gesteuert werden, der durch den Benutzer als ein Parameter eingestellt werden kann oder unter Softwaresteuerung programmiert werden kann. Zusätzliche MUXs und Eingänge können nach Bedarf hinzugefügt werden, um zusätzliche Felder zu unterstützen.
  • Der MUX 200 liefert Datenwörter an einen Codierer 202, der Symbolcodes aus den Datenwörtern erzeugt. Die Symbolcodes, die derzeit erzeugt werden, können eine definierte Abhängigkeit auf der Basis vergangener Symbolcodes und Datenwörtern aufweisen, die zum Implementieren von Fehlercodier- und Differentialcodierfunktionen sinnvoll ist. Die Aus gangssymbolcodes, die durch den Codierer 202 geliefert werden, können eine andere Anzahl von Bits aufweisen als die Eingangsdatencodes oder Mehrfachsymbolcodes, die für jeden Eingangsdatencode erzeugt werden können. Der Codierer 202 ist unter Verwendung einer Codierertabelle programmiert, die durch den Benutzer spezifiziert ist und in dem RAM in dem Codierer 202 gespeichert ist, um Symbolcodes an eine Abbildung 204 zu liefern. Der Betrieb des Codierers 202 ist nachfolgend näher erläutert.
  • Die Abbildung 204 liefert eine Möglichkeit zum Abbilden von Symbolcodes von dem Codierer 202 in Symbolwerte. Bei dem bevorzugten Ausführungsbeispiel weisen die Symbolwerte eine Amplitudenauflösung von 16 Bits auf, um mit der verfügbaren Auflösung der DACs 112 und 114 übereinzustimmen. Das Abbilden von Symbolcodes auf Symbolwerte kann durch Bezugnehmen auf eine benutzerspezifizierte Nachschlagetabelle erreicht werden, die in dem Speicher gespeichert ist. Eine benutzerspezifizierte Phasenrotation kann auch von einem Symbol zum nächsten spezifiziert werden. Die Symbolwerte, die durch die Abbildung 204 erzeugt werden, werden dann an ein Filter 206 geliefert.
  • Das Filter 206 filtert die Sequenz von Symbolwerten, die durch die Abbildung 204 geliefert werden, unter Verwendung eines finiten Impulsantwortfilters (FIR-Filter; FIR = Finite Impulse Response = finite Impulsantwort) zum Erzeugen eines komplexen Ausgangssignals mit einer gewünschten Frequenzantwort. Das Filter 206 muß in der Lage sein, echte Signale, komplexe Signale oder verschachtelte I/Q- (echte und imaginäre) Signale handzuhaben. Für komplexe Signale können die Filterkoeffizienten des FIR-Filters komplexe Werte sein, um das Erzeugen asymmetrischer Frequenzantworten zu ermöglichen, die beim Simulieren bestimmter Signalübertragungsbeeinträchtigungen nützlich sind. Für eine Versatzmodulation ist es notwendig, Filter mit unterschiedlichen Verzögerungsmengen in dem echten (Ein-Phase „I") und imaginären (Quadratur „Q") Ausgangssignal zu erzeugen. Das Filter 206 ermöglicht es, daß die Sequenz von Symbolwerten hochgetastet wird, was bedeutet, daß die Anzahl von Ausgangsabtastwerten für jeden Eingangsabtastwert erhöht wird, typischerweise durch Einfügen von Nullen in die Eingangsdaten. Der Betrieb des Filters 206 wird nachfolgend näher erläutert.
  • In 4 ist ein Blockdiagramm des Codierers 202 (in 3 gezeigt) näher gezeigt. Ein Eingangsdatenregister 210 weist einen Datenausgang und einen Dateneingang auf, wobei der Dateneingang die Datenwörter von dem MUX 200 empfängt (in 3 gezeigt). Das Datenausgangssignal des Eingangsdatenregisters 210 und das Rückkopplungsausgangssignal eines Rückkopplungsregisters 216 sind zu dem Adreßeingangssignal eines Direktzugriffsspeichers (RAM) 212 gekoppelt, die eine Codiererdatentabelle 214 enthält, der eine Nachschlagtabelle zum Abbilden der Datenwörter auf Symbolcodes gemäß dem Adreßeingangssignal ist. Das Symbolausgangssignal des RAM 212, das die Symbolcodes enthält, wird an die Abbildung 204 und auch an den Eingang des Rückkopplungsregisters 216 geliefert.
  • Weil die Kombination des Datenausgangssignals des Eingangsdatenregisters 210 und des Rückkopplungsausgangssignals des Rückkopplungsregisters 216 die RAM-Adresse bildet, die dem RAM 212 präsentiert wird, können die Symbolcodes, die durch den Codierer 202 erzeugt werden, von vorher erzeugten Symbolcodes abhängen. Diese Abhängigkeit des aktuellen Symbolcodes von vergangenen Symbolcodes und auch den Datenwörtern, die an dem Dateneingang des Eingangsdatenregisters 210 vorliegen, kann in der Codierertabelle 214 bestimmt werden, unter Verwendung gut bekannter Zustandsmaschinenkonzepte zum Implementieren gewünschter Modulationstypen, wie z. B. Differentialcodieren und auch verschiedene Fehlercodierschemata.
  • Eine ausgewählte Anzahl von Bits von dem Ausgangssignal des RAM 212 wird an das Rückkopplungsregister 216 geliefert, um die RAM-basierte Zustandsmaschine zu implementieren. Die Anzahl von Adreßbits, die von dem Eingangsdatenregister 210 und von dem Rückkopplungsregister 216 genommen werden, um die RAM-Adresse zu bilden, kann durch den Benutzer ausgewählt werden. Alternativ kann das Rückkopplungsregister 216 deaktiviert werden, wodurch es dem Codierer 202 ermöglicht wird, einfach Datenwörter auf Symbolcodes abzubilden, ohne Abhängigkeiten von vorhergehenden Symbolcodes.
  • Die Verwendung der allgemeinen RAM-basierten Zustandsmaschine zum Implementieren der Codiererfunktion in dem Codierer 202 erzeugt einen unerwarteten Vielseitigkeitspegel bei der Umwandlung von Datenwörtern zu Symbolen. Der internationale Morsecode dient als ein einfaches Beispiel der Vielseitigkeit, die mit dem Codierer 202 gemäß der vorliegenden Erfindung erhalten werden kann. Als eine Sammlung von Symbolen, die aus verschiedenen Kombinationen der Punkte und Striche besteht, ist der Morsecode ein Satz von Symbolen für die Buchstaben des Alphabets und für Zahlen. Dieser Satz von Symbolen kann ohne weiteres unter Verwendung einer Kombination von Zuständen definiert werden, die in der Codiererdatentabelle 214 erzeugt werden. Durch Verwenden einer allgemeinen RAM-basierten Zustandsmaschinenarchitektur muß keine speziell zugewiesene oder spezialisierte Hardware implementiert werden, um die verschiedenen Morsecode-Buchstaben und -Zahlen zu erzeugen. Statt dessen kann die Codiererdatentabelle 214, die notwendig ist, um den Morsecodesymbolsatz zu implementieren, gemäß Hilfssoftwareroutinen definiert werden, die ohne weiteres gemäß bekannten Zustandsmaschinenkonzepten und Programmiertechniken implementiert werden können, die in dem RAM 212 gespeichert sind.
  • In 5 ist ein detaillierteres Blockdiagramm der Abbildung 204 und des Filters 206 gezeigt, die unter Verwendung eines Finit-Impuls-Antwort-Filters implementiert sind. Wie es oben erklärt ist, wandelt die Abbildung 204 Symbolcodes zu Symbolwerten um. Die Symbolwerte sind vorzugsweise von hoher Auflösung, wie z. B. 16 Bits. In dem Filter 206 werden die Symbolwerte, die mit D1, D2, .... D23 bezeichnet werden, von einem ersten Eingang eines MUX 240 empfangen. Ein zweiter Eingang des MUX 240 empfängt einen Null-Abtastwert. Ein mod(N)-Zähler 236 ist mit einem Steuereingang des MUX 240 verbunden, um selektiv eine N Anzahl von Null-Abtastwerten zwischen jedem Symbolwert einzufügen, um hochgetastete Symbolwerte zu erzeugen. Das effektive Hochtasten erhöht die Abtastrate und die verfügbare Nyquistbandbreite, über die die Filterantwort spezifiziert werden kann, wodurch die Vielseitigkeit des Filters 206 erhöht wird.
  • Zwischen der Abbildung 204 und dem Filter 206 ist ein komplexer lokaler Oszillator 238 angeordnet, der einen Eingang mit einer Erregungsfunktion einΦ aufweist, die eine optionale Symbolrotation ermöglicht, bevor die Symbolwerte durch das Filter 206 gefiltert werden. Die Symbolwerte und die Null-Abtastwerte werden an ein Array 242 geliefert, das eine Reihe von Schieberegistern ist, wobei jedes Schieberegister einen Abgriff aufweist, um den gespeicherten Wert desselben an einen Satz von Multiplizierern 244 und einen Satz von Akkumulatoren 246 zu liefern. Das Array 242, der Satz von Multiplizierern 244 und der Satz von Akkumulatoren 246 bilden somit ein FIR-Filter 248.
  • Das FIR-Filter 248 kann verwendet werden, um den vielseitigen Signalgenerator 100 gemäß der vorliegenden Erfindung als ein erstes Ausführungsbeispiel effektiv zu implementieren, mit dem Vorteil, daß das FIR-Filter 248 in einer relativ einfachen Implementierung verwendet wird. Das FIR-Filter 248 kann ohne weiteres gemäß bekannten Techniken programmiert werden, um ein komplexes Signal mit gewünschten Frequenzcharakteristika zu liefern.
  • 6 ist ein Blockdiagramm eines zweiten Ausführungsbeispiels des Filters 206, bei dem die Abbildungs- und Filterfunktionen kombiniert wurden. Das Filter 206 gemäß dem zweiten Ausführungsbeispiel führt die Funktionen des Abbil dens und Filterns durch, um das komplexe Ausgangssignal als eine Funktion der Symbolcodes zu erzeugen, ohne zunächst die Symbolcodes zu Symbolwerten umzuwandeln. Die Abbildung 204 würde somit gemäß dem zweiten Ausführungsbeispiel von dem Blockdiagramm von 3 weggelassen werden. Im Gegensatz zu dem in 5 gezeigten ersten Ausführungsbeispiel wurde das zweite Ausführungsbeispiel auf eine Weise implementiert, die Flexibilität und Durchsatz verbessert.
  • Das Filter 206 gemäß dem zweiten Ausführungsbeispiel plaziert die Null-Eingangswerte nicht in das Array 302 und reduziert somit erheblich die Menge an Berechnungen, die im Vergleich zum ersten Ausführungsbeispiel durchgeführt werden müssen. Das Filter 206 speichert die Symbolcodes, die tendenziell eine niedrige Auflösung haben, in dem Array 300 anstatt als Symbolwerte mit hoher Auflösung, wie bei dem ersten Ausführungsbeispiel. Die Symbolcodes werden zusammen als Cluster gruppiert, um gepackte Arraysymbolcodes zu bilden.
  • Die Multiplikationsoperationen werden, anstatt während der Laufzeit ausgeführt zu werden, als eine Tabelle von Produkten aller möglichen Symbole mit jedem Abgriff vorausberechnet, wobei die Tabelle von Produkten in einer Tabelle von Abgriffprodukten 308 in dem RAM 212 gespeichert ist. Während der Laufzeit können die Ergebnisse von der Tabelle von Produkten 308 abgerufen werden, durch Nachschlagen des Produkts der Symbolcodes unter Verwendung der Abgriffnummer und des Symbolcodes zum Bilden der Adresse des Ergebnisses. Beispielsweise würde ein 32 (25) Abgriff-Filter mit 4 (22) möglichen Symbolen nur eine 7 (5 + 2) Bitlänge einer RAM-Adresse 17 in dem RAM 212 erfordern, um alle erforderlichen Multiplizierer-Ausgangssignale zu speichern und wiederzugewinnen.
  • Da der typische RAM in seinem RAM-Adreßplatz mehr Adreßbits verfügbar hat, ist es möglich, daß mehr als ein Abgriffpro dukt gleichzeitig nachgeschlagen werden kann. Das Array 302 enthält die Symbolcodes D1–D23, die jeweils 2 Bits breit sind. Jedes von fünf benachbarten Elementen des Arrays 302 ist zusammen als Cluster gruppiert. Die 10-Bit-Adresse, die durch die Symbolcodes D1–D5 gebildet ist, bildet ein Cluster, das an dem ersten Eingang eines MUX 304 als gepackter Arraysymbolcode präsentiert wird. Andere Cluster erscheinen an anderen Eingängen des MUX 304, die später gemäß einem Steuereingangssignal des MUX 304 ausgewählt werden. Auf diese Weise können die Ergebnisse von der Tabelle von Produkten 308, die in dem RAM 212 gespeichert ist, unter Verwendung der 10-Bit-Adresse wieder abgerufen werden.
  • Weil die Ergebnisse der anderen Cluster ebenfalls zu den Ergebnissen des ersten Clusters hinzugefügt werden müssen, um das abgeschlossene komplexe Ausgangssignal zu erzeugen, wird das Ausgangssignal des RAM 212, wie es gemäß der RAM-Adresse 17 aufgerufen ist, an einen Summierknoten 310 geliefert, der das Ausgangssignal des RAM 212 mit dem aktuellen Wert summiert, der in einem Akkumulator 312 gespeichert ist. Der Wert in dem Akkumulator 312 wird durch das Ergebnis von dem RAM 212 für jedes Cluster inkrementiert.
  • Verschiedene Zähler sind implementiert, um den Prozeß des Neuaufrufens und Addierens der Ergebnisse der verschiedenen Cluster auszuführen. Ein mod(C)-Zähler 314 inkrementiert einmal für jedes Cluster bis zu der Gesamtzahl von Clustern. Das Ausgangssignal des mod(C)-Zählers 314 ist mit dem Steuereingangssignal des MUX 304 verbunden, das wiederum das Cluster auswählt, das die Adresse an dem Ausgang desselben bildet. Das Ausgangssignal des mod(C)-Zählers 314 bildet auch einen Teil der Adresse, die als der Abgriff-Cluster-Index an den RAM 212 geliefert wird. Sobald der Clusterzähler den maximalen Clusterzählwert c überschreitet, was bedeutet, daß die Ergebnisse aller Cluster in dem Akkumulator 312 addiert wurden, wird das Ergebnis des Akkumulators 312 als abgeschlossenes Filterausgangssignal ausgetaktet, der Akkumulator 312 wird dann gelöscht und ein mod(I)-Zählwert 316 wird inkrementiert. Der mod(I)-Zählwert 316 enthält einen 1-Bit-Wert, der anzeigt, ob der Wert in dem Akkumulator 312 ein I-Wert oder ein Q-Wert ist.
  • Nachdem sowohl der I-Wert und der Q-Wert als abgeschlossene Filterausgangssignale ausgetaktet wurden, um den komplexen Wert zu bilden, springt der mod(I)-Zählwert 316 zurück, und ein mod(N)-Zählwert 318 ist inkrementiert, um anzuzeigen, daß ein anderer als dieser Null-Wert eingefügt wurde. Es werden jedoch keine Null-Werte physikalisch in das Array 302 eingefügt. Statt dessen wird für jeden der gewünschten Anzahl von N-Null-Werten ein Ausgangsfilterwert berechnet, als ob Null-Werte in das Array 302 eingefügt würden, aber auf eine rechentechnisch effizientere Weise. Nachdem die gewünschte Anzahl von Berechnungen gemäß den N-Null-Werten durchgeführt wurden, um den Hochtastprozeß zu erreichen, wird ein neues Symbolwertsignal an einen Takteingang des Arrays 302 geliefert, um einen neuen Symbolcode in das Array 302 zu verschieben, um den Prozeß erneut zu beginnen. Ein mod(P)-Zählwert 320, der als Lokaloszillator- (LO) Phasenzähler arbeitet, wird ebenfalls inkrementiert.
  • Die Ausgangssignale des mod(I)-Zählwerts 316 und des mod(N)-Zählwerts 318 können einen Teil der Adresse bilden, der an den RAM 212 als die RAM-Adresse 17 geliefert wird. Gleichartig dazu kann das Ausgangssignal des mod(P)-Zählwerts 320 als Teil der Adresse an den RAM 212 geliefert werden, um die Wirkungen eines komplexen Lokaloszillators auf den vollständigen Satz von Symbolcodes aufzunehmen, die im Array 302 gespeichert sind. Die Auswirkungen des komplexen Lokaloszillators können in der Tabelle der Abgriffprodukte 308 enthalten sein, durch Ausdehnen des Adreßraums zum Umfassen aller möglichen Drehungen des aktuellsten Symbols.
  • In 7 ist eine detaillierte Ansicht der RAM-Adresse 17 gezeigt, die an dem Eingang zu dem RAM 212 gebildet ist. Wie es gezeigt ist, umfaßt die RAM-Adresse 17 die gepackten Arraysymbolcodes mit 10 Bits, Clusterabgriffindex mit 5 Bits, I/Q mit 1 Bit, Verzögerung mit 3 Bits und Phase mit 3 Bits. Praktische Begrenzungen der maximalen Breite des Adreßraums des RAM 212 können gewisse Beschränkungen erzeugen, welche Ausgangssignale des mod(I)-Zählers 316, mod(N)-Zählers 318 und mod(P)-Zählers 320 tatsächlich in der RAM-Adresse 17 verwendet werden. Die Auswahl, welche Ausgangssignale die RAM-Adresse 17 bilden, muß dann getroffen werden, wenn die Tabelle der Abgriffprodukte 308 erstellt wird und hängt von den spezifischen Bedürfnissen der Anwendung ab.
  • In 8 ist ein Hardware-Blockdiagramm des vielseitigen Signalgenerators 100 gemäß dem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung gezeigt. Ein feldprogrammierbares Gatterarray (FPGA) 350 ist eine anwendungsspezifische integrierte Schaltung (ASIC), die das Echtzeiteingangssignal 106 (in 2 gezeigt) empfängt. Der RAM 212 kann als diskrete integrierte Schaltung implementiert sein, oder als ein Teil von anderen integrierten Schaltungen. Das FPGA 350 ist mit dem RAM 212 gekoppelt, um den gesamten Komplexsignal-Generator 102 zu implementieren, einschließlich dem MUX 200, dem Codierer 202 und dem Filter 206 (in 6 gezeigt). Der RAM 212 enthält die Tabelle der Abgriffprodukte 308 und auch die Codierertabelle 214 und den Daten-RAM 132. Der Neu-Abtaster 104 ist als eine diskrete ASIC implementiert. Ein FPGA 352, ebenfalls eine ASIC, implementiert den Puffer 108 (der in 2 gezeigt ist). Der komplexe Modulator 110, die DACs 112 und 114 und die Tiefpaßfilter 116 und 118 können unter Verwendung diskreter Komponenten aufgebaut werden.
  • Weil die Hardware-Implementierung des vielseitigen Signalgenerators 100 keinen speziell zugewiesenen Mikroprozessor erfordert und durch Ändern der Inhalte des RAM 212 ohne weiteres neu programmiert und angepaßt werden kann, kann der vielseitige Signalgenerator 100 auf einer relativ kleinen Schaltungsplatine oder einem relativ kleinen Modul mit geringen Kosten und mit geringer Herstellungskomplexität implementiert werden. Mehrere Module, die jeweils einen vielseitigen Signalgenerator 100 enthalten, können ohne weiteres miteinander verbunden werden, um komplexe spektrale Simulationen zu erzeugen, einschließlich Mehrwegsimulationen, die eine Synchronisation zwischen verschiedenen Signalquellen erfordern.
  • In 9 ist ein Benutzerschnittstellenbildschirm 400 zum Programmieren des vielseitigen Signalgenerators 100 gemäß der vorliegenden Erfindung gezeigt. Der Benutzerschnittstellenbildschirm 400 kann in Hochpegelsoftware erzeugt werden unter Verwendung einer Vielzahl von graphischen Benutzeroberflächentechniken, die in der Technik zum Eingeben und Anzeigen von Daten auf Personalcomputern und Workstations gut bekannt sind. Der vielseitige Signalgenerator 100 ist äußerst anpaßbar und in der Lage, eine große Vielzahl von komplexen Signalen zu erzeugen, einschließlich digitalmodulierten Signalen und auch traditionellen Funktionsgeneratorsignalen, einschließlich Sinus- und Rechteckwellen. Der vielseitige Signalgenerator 100 bildet typischerweise eine Schnittstelle mit einem Personalcomputer oder einer Workstation gemäß bekannten Techniken, die eine Computersteuerung gemäß ausgewählten Parametern ermöglicht.
  • Das Programmieren des vielseitigen Signalgenerators 100 wird vorzugsweise unter Verwendung einer Menü-Hierarchie durchgeführt, die einen Satz von Benutzerschnittstellenbildschirmen enthält, der es dem Benutzer ermöglicht, Signalparameter auf eine logische und intuitive Weise zu steuern. Wie es gezeigt ist, wurde ein Benutzerschnittstellenbildschirm 400 von der Menü-Hierarchie ausgewählt, der das Programmieren der Parameter des Filters 206 ermöglicht. Die verschiedenen Parameter können numerisch eingegeben werden, unter Verwendung von Pull-down-Menüs oder jeder von einer Vielzahl von Dateneingabetechniken, die in der Technik bekannt sind. Die verschiedenen Abhängigkeiten zwischen den Parametern können in der Benutzerschnittstelle gehandhabt werden, zum Vereinfachen der Programmierung. Alternativ kann ein Satz von Software-Bibliotheksfunktionen geliefert werden, um auf die Parameter des vielseitigen Signalgenerators 100 in einem automatischen Testsystem zuzugreifen, wo keine Benutzerprogrammierung benötigt wird.
  • Unter Verwendung der Architektur des vielseitigen Signalgenerators 100 kann eine große Vielzahl von komplexen Signalen erzeugt werden, einschließlich Kombinationen von Frequenzmodulation (FM), Amplitudenmodulation (AM), Quadratur-Amplitudenmodulation (QAM), Phasenmodulation (PM) und Phasenamplitudenmodulation (PAM). Die Abbildung 204 und das Filter 206 können umgangen werden, so daß die Symbolcodes, die durch den Codierer 202 erzeugt werden, als direkte Darstellung der Symbolwerte behandelt werden. Auf diese Weise kann der vielseitige Signalgenerator 100 als herkömmlicher Signalverlaufsgenerator für beliebige Signalverläufe arbeiten, wo die Ausgangsabtastwerte direkt mit den Datencodes getrieben werden.
  • Für einen Durchschnittsfachmann auf diesem Gebiet ist es offensichtlich, daß bei den Einzelheiten der oben beschriebenen bevorzugten Ausführungsbeispiele der Erfindung viele Änderungen durchgeführt werden können, ohne von dem Schutzbereich der Erfindung in seinen breiteren Aspekten, wie er in den angehängten Ansprüchen definiert ist, abzuweichen. Beispielsweise kann eine Vielzahl von unterschiedlichen Typen von anwendungsspezifischen integrierten Schaltungen (ASIC) ohne weiteres für die FPGA 350 und 352 eingesetzt werden, während die Vorteile des minimalen Komponentenzählwerts und der leichten Anpaßbarkeit beibehalten werden. Eine weitere Integration des RAM und der anwendungsspezifischen Funktionen kann ohne weiteres ermöglicht werden, sofern es die Gerätefähigkeiten erlauben. Wo kein Quadratur- (Q-) Ausgangskanal benötigt wird, können der zugeord nete DAC und das Filter ohne weiteres eliminiert werden, während nach wie vor die Vorteile der flexiblen Architektur beibehalten werden. Daher sollte der Schutzbereich der vorliegenden Erfindung durch die folgenden Ansprüche bestimmt werden.

Claims (9)

  1. Ein Komplexsignal-Generator (102), der folgende Merkmale umfaßt: (a) einen Multiplexer (200) mit einer Mehrzahl von Eingängen und einem Feldzählereingang, wobei einer der Eingänge mit einem Echtzeiteingang (106) gekoppelt ist, zum Empfangen von Eingangsdaten, und wobei der Multiplexer zwischen der Mehrzahl von Eingängen gemäß dem Feldzählereingang auswählt, um Datenwörter zu erzeugen; (b) einen Codierer (202), der mit dem Multiplexer gekoppelt ist, um die Datenwörter zu empfangen, wobei der Codierer Symbolcodes gemäß den Datenwörtern erzeugt, wobei der Codierer folgende Merkmale umfaßt: ein Eingabedatenregister (210) mit einem Dateneingang und einem Datenausgang, wobei der Dateneingang gekoppelt ist, um die Datenwörter zu empfangen; einen RAM (212), der einen Adreßeingang und einen Symbolausgang aufweist, wobei der RAM eine Codierertabelle (214) enthält, die durch den Adreßeingang adressiert wird, um einen Symbolcode an dem Symbolausgang zu erzeugen, und wobei der Adreßeingang mit dem Datenausgang gekoppelt ist; und ein Rückkopplungsdatenregister (216) mit einem Rückkopplungseingang und einem Rückkopplungsausgang, wobei der Rückkopplungseingang mit dem Symbolausgang gekoppelt ist und der Rückkopplungs ausgang mit dem Adreßeingang gekoppelt ist, um die Abhängigkeit des Symbolcodes von den Datenwörtern und von vergangenen Symbolcodes gemäß der Codierertabelle zu liefern, (c) eine Tabelle (204), die gekoppelt ist, um die Symbolcodes von dem Codierer zu empfangen, wobei die Tabelle Symbolwerte gemäß den Symbolcodes erzeugt; und (d) ein Filter (206), das mit der Tabelle gekoppelt ist, um die Symbolwerte zu empfangen, wobei das Filter die Symbolwerte filtert, um einen komplexen Ausgang zu erzeugen, der eine gewünschte Frequenzantwort aufweist.
  2. Ein Komplexsignal-Generator (102) gemäß Anspruch 1, bei dem der komplexe Ausgang in Echtzeit gemäß den Eingangsdaten moduliert ist.
  3. Ein Komplexsignal-Generator gemäß Anspruch 1, bei dem einer der Mehrzahl von Eingängen mit einem Rauscheingang (130) gekoppelt ist, um Pseudozufallsdaten zu empfangen, und bei dem ein weiterer der Mehrzahl von Eingängen mit einem Daten-RAM-Eingang (132) gekoppelt ist, um eine vorher gespeicherte Datensequenz zu empfangen.
  4. Ein Komplexsignal-Generator (102) gemäß Anspruch 1, bei dem das Filter (206) folgende Merkmale umfaßt: (a) einen MUX (240) mit einem ersten und zweiten Eingang, einem Steuereingang und einem MUX-Ausgang, wobei der erste Eingang gekoppelt ist, um die Symbolwerte zu empfangen, und wobei der zweite Eingang gekoppelt ist, um Null-Abtastwerte zu empfangen; einen mod(N)-Zähler (236), der mit dem Steuereingang gekoppelt ist, um selektiv eine Anzahl N der Null-Abtastwerte zwischen den Symbolwerten einzufügen, um hochgetastete Symbolwerte zu erzeugen; und (c) ein FIR-Filter (248), das gekoppelt ist, um die hochgetasteten Symbolwerte zu empfangen, und die hochgetasteten Symbolwerte zu filtern, um das komplexe Ausgangssignal mit gewünschten Frequenzcharakteristika zu erzeugen.
  5. Ein Komplexsignal-Generator (102) gemäß Anspruch 1, bei dem das Filter (206) folgende Merkmale umfaßt: (a) ein Array (302) zum Speichern der Symbolcodes, wobei die Symbolcodes als ein Satz von Clustern zusammengruppiert sind, wobei jeder der Sätze von Clustern gepackte Arraysymbolcodes bildet; (b) einen MUX (304), der mit dem Array gekoppelt ist, um die Cluster gemäß einem Steuereingang zu empfangen, um den gepackten Arraysymbolcode an einen MUX-Ausgang zu liefern; (c) einen mod(C)-Zähler (314), der mit dem MUX-Ausgang und dem Steuereingang gekoppelt ist, wobei der mod(C)-Zähler nacheinander die Auswahl jedes Clusters durch den MUX liefert; (d) einen RAM (212) mit einem Adreßeingang und einem RAM-Ausgang, wobei der Adreßeingang mit dem MUX-Ausgang gekoppelt ist, und der RAM eine Tabelle von Abgriffprodukten enthält, wobei die Tabelle von Abgriffprodukten das Produkt der Symbolcodes enthält, wobei das Produkt der Symbolcodes gemäß dem gepackten Arraysymbolcode an dem RAM-Ausgang geliefert wird; und (e) einen Akkumulator (312), der mit dem RAM-Ausgang gekoppelt ist, zum Summieren des Produkts der Symbolcodes über den Clustern, um das komplexe Ausgangssignal zu bilden.
  6. Ein Komplexsignal-Generator (102) gemäß Anspruch 1, wobei der Komplexsignal-Generator unter Verwendung des RAM (212) und eines FPGA (350) aufgebaut ist, das mit dem RAM gekoppelt ist.
  7. Ein Komplexsignal-Generator (102) gemäß Anspruch 6, bei dem der RAM (212) die Tabelle von Abgriffprodukten enthält.
  8. Ein vielseitig einsetzbarer Signalgenerator (100), der folgende Merkmale umfaßt: (a) ein Komplexsignal-Generator (102) gemäß Anspruch 1 zum Erzeugen eines komplexen Ausgangssignals; (b) einen Neu-Abtaster (104), der mit dem Komplexsignal-Generator gekoppelt ist, um das komplexe Ausgangssignal zu empfangen, wobei der Neu-Abtaster das komplexe Ausgangssignal mit einer Ausgangsabtastrate erzeugt; (c) einen komplexen Modulator (110) zum Empfangen des komplexen Ausgangssignals von dem Neu-Abtaster, um echte Abtastwerte und imaginäre Abtastwerte zu erzeugen; (d) einen ersten und einen zweiten Digital/Analog-Wandler (112, 114), die mit dem komplexen Modulator gekoppelt sind, zum Empfangen der echten Abtastwerte bzw. der imaginären Abtastwerte, wobei der erste und der zweite Digital/Analog-Wandler echte und imaginäre Ausgangssignale bei der Ausgangsabtastrate erzeugen; und (e) ein erstes und zweites Tiefpaßfilter (116, 118), die mit dem ersten und zweiten Digital/Analog-Wandler gekoppelt sind, um die echten und imaginären Ausgangssignale zu filtern.
  9. Ein vielseitig einsetzbarer Signalgenerator (100) gemäß Anspruch 8, bei dem der Komplexsignal-Generator das komplexe Signal in Echtzeit gemäß den Eingangsdaten moduliert.
DE69913582T 1998-02-05 1999-01-29 Vielseitiger Signalgenerator Expired - Fee Related DE69913582T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US1914698A 1998-02-05 1998-02-05
US19146 1998-02-05
US09/136,877 US6185594B1 (en) 1998-02-05 1998-08-19 Versatile signal generator
US136877 1998-08-19

Publications (2)

Publication Number Publication Date
DE69913582D1 DE69913582D1 (de) 2004-01-29
DE69913582T2 true DE69913582T2 (de) 2004-10-14

Family

ID=26691912

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69913582T Expired - Fee Related DE69913582T2 (de) 1998-02-05 1999-01-29 Vielseitiger Signalgenerator

Country Status (4)

Country Link
US (1) US6185594B1 (de)
EP (1) EP0935339B1 (de)
JP (1) JP4073101B2 (de)
DE (1) DE69913582T2 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007028802A1 (de) * 2007-06-22 2008-12-24 Qimonda Ag Integrierte Logikschaltung und Verfahren zum Herstellen einer integrierten Logikschaltung
DE102014016981A1 (de) * 2014-11-18 2016-05-19 Friedrich-Alexander-Universität Erlangen - Nürnberg Verfahren zum Erzeugen von zeitlich variierenden Analogspannungen und zugehöriger Spannungsgenerator, insbesondere zur Strahlführung bei einer Feinstrahllithographie

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6393449B1 (en) * 1999-05-11 2002-05-21 The Ohio State University Research Foundation Arbitrary function generator
US6931022B1 (en) * 1999-05-28 2005-08-16 Cisco Technology, Inc. Background test system for time division multiplexing switching systems
US6850871B1 (en) * 1999-10-18 2005-02-01 Agilent Technologies, Inc. Method and apparatus for extraction of nonlinear black-box behavioral models from embeddings of the time-domain measurements
US6704438B1 (en) * 2000-05-08 2004-03-09 Aloka Co., Ltd. Apparatus and method for improving the signal to noise ratio on ultrasound images using coded waveforms
US20020097808A1 (en) * 2000-12-01 2002-07-25 Exar Corporation Digitally-controlled line build-out circuit
US20040183614A1 (en) * 2001-04-13 2004-09-23 Jeroen Kuenen Frequency modulation using a zero hz vco
FR2826208B1 (fr) * 2001-06-19 2003-12-05 Thales Sa Systeme et procede de transmission d'un signal audio ou phonie
US7283590B2 (en) * 2003-09-10 2007-10-16 Texas Instruments Incorporated Signal processing approach for channel coding based on inter-symbol-interference insertion
US7545873B2 (en) * 2003-09-30 2009-06-09 Panasonic Corporation Radio transmission apparatus, radio reception apparatus and radio transmission method
US7777812B2 (en) * 2005-11-18 2010-08-17 Sharp Laboratories Of America, Inc. Methods and systems for picture resampling
US20070230355A1 (en) * 2006-03-30 2007-10-04 Advantest Corporation Test apparatus and test method
US7953782B2 (en) * 2007-05-18 2011-05-31 Ess Technology, Inc. Digital forced oscillation by direct digital synthesis
JP5235078B2 (ja) * 2008-02-01 2013-07-10 株式会社アドバンテスト 波形発生装置、波形生成装置、試験装置およびプログラム
US9448280B2 (en) 2012-02-29 2016-09-20 International Business Machines Corporation Circuit test system and method using a wideband multi-tone test signal
JP5577363B2 (ja) * 2012-03-01 2014-08-20 アンリツ株式会社 信号発生装置および信号発生方法
US9100030B1 (en) 2014-06-30 2015-08-04 Keysight Technologies, Inc. Real-time modification of waveform characteristics in arbitrary waveform generator
CN108254627B (zh) * 2018-01-31 2022-06-07 杭州健驰医疗科技有限公司 电磁场波形信号采集对比方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4742518A (en) 1986-05-27 1988-05-03 American Telephone And Telegraph Company, At&T Bell Laboratories Fault location system for a digital transmission line
US5235534A (en) 1988-08-18 1993-08-10 Hewlett-Packard Company Method and apparatus for interpolating between data samples
JP2513289B2 (ja) 1989-01-06 1996-07-03 日本電気株式会社 変調装置
US5420887A (en) 1992-03-26 1995-05-30 Pacific Communication Sciences Programmable digital modulator and methods of modulating digital data
US5859787A (en) * 1995-11-09 1999-01-12 Chromatic Research, Inc. Arbitrary-ratio sampling rate converter using approximation by segmented polynomial functions

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007028802A1 (de) * 2007-06-22 2008-12-24 Qimonda Ag Integrierte Logikschaltung und Verfahren zum Herstellen einer integrierten Logikschaltung
DE102007028802B4 (de) * 2007-06-22 2010-04-08 Qimonda Ag Integrierte Logikschaltung und Verfahren zum Herstellen einer integrierten Logikschaltung
US7773452B2 (en) 2007-06-22 2010-08-10 Qimonda Ag Integrated logic circuit and method for producing an integrated logic circuit
DE102014016981A1 (de) * 2014-11-18 2016-05-19 Friedrich-Alexander-Universität Erlangen - Nürnberg Verfahren zum Erzeugen von zeitlich variierenden Analogspannungen und zugehöriger Spannungsgenerator, insbesondere zur Strahlführung bei einer Feinstrahllithographie
DE102014016981B4 (de) 2014-11-18 2019-10-02 Friedrich-Alexander-Universität Erlangen - Nürnberg Verfahren zum Erzeugen von zeitlich variierenden Analogspannungen und zugehöriger Spannungsgenerator, insbesondere zur Strahlführung bei einer Feinstrahllithographie

Also Published As

Publication number Publication date
JP4073101B2 (ja) 2008-04-09
EP0935339B1 (de) 2003-12-17
US6185594B1 (en) 2001-02-06
DE69913582D1 (de) 2004-01-29
EP0935339A1 (de) 1999-08-11
JPH11317710A (ja) 1999-11-16

Similar Documents

Publication Publication Date Title
DE69913582T2 (de) Vielseitiger Signalgenerator
DE69826835T2 (de) Frequenzsynthetisierer
DE69126291T2 (de) Digitale Strahlformungstechnik mit zeitlicher Rauscheinspeisung
DE602005000367T2 (de) Digitale Frequenzaufwärtskonversionsschaltung
EP1264458B1 (de) Digitaler i/q-modulator mit vorverzerrung
EP1216516B1 (de) Verfahren und vorrichtung zum erzeugen von spreizcodierten signalen
DE102005039684A1 (de) Abtastratenverdopplung unter Verwendung von wechselnden ADCS
DE69923259T2 (de) Digitaler Filter
DE19748272A1 (de) Bipolarer elementenmittelnder Digital-Analog-Wandler
DE69937156T2 (de) Verfahren und vorrichtung zur zuweisung von walsh-kodes
DE10294307B4 (de) Verfahren zum Übertragen von Daten durch Mehrträger-Modulation
DE2128155A1 (de) Frequenzmultiplex-Einfachseitenband-Modulationssy stern
DE19530114C2 (de) Modulator und Verfahren zur IQ-Modulation
DE112009001199T5 (de) Modulator mit doppelter Funktion
DE19521610B4 (de) Dezimationsfilter unter Verwendung einer Nullfüllschaltung zur Lieferung eines wählbaren Dezimationsverhältnisses sowie Verfahren zur Dezimationsfilterung
DE2644478A1 (de) Differential-phasenumtast-modulator
DE3751526T2 (de) Anordnung zur Synthese der Modulation einer zeitveränderlichen Welle mit einem Datensignal.
DE3919530C2 (de)
DE60126580T2 (de) Wellenformerzeuger
EP1221194B1 (de) Einrichtung und verfahren zur spektralen formung eines sendesignals in einem funksender
EP1012965B1 (de) Schaltung zum erzeugen eines modulierten signals
DE112011100805T5 (de) Verfahren und Einrichtung zum Senden von Signalen zwischen einer Hochfrequenzschaltung und einer Basisbandschaltung
EP0477131B1 (de) Verfahren und Anordnungen zur Abtastratenwandlung
DE2653716C3 (de) Modem
DE60014770T2 (de) Verfahren zur Bestimmung von Signalen in mixed-signal Systemen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: AGILENT TECHNOLOGIES, INC. (N.D.GES.D. STAATES, US

8339 Ceased/non-payment of the annual fee