Bild 1: Die Familie M4i.66xx der PCI-Express-basierten AWGs von Spectrum umfasst 4-, 2- und 1-Kanal-Versionen mit Abtastraten von bis zu 1,25 GS/s und Bandbreiten von bis zu 400 MHz.

Bild 1: Die Familie M4i.66xx der PCI-Express-basierten AWGs von Spectrum umfasst 4-, 2- und 1-Kanal-Versionen mit Abtastraten von bis zu 1,25 GS/s und Bandbreiten von bis zu 400 MHz. Spectrum

Der Arbitrary-Waveform-Generator (AWG) ist ein leistungsstarker und flexibel einsetzbarer Signalgenerator zur Ausgabe von Signalen beliebiger Formen innerhalb seiner Bandbreite. Ein fabrikneues Gerät muss zunächst mit verschiedenen Signalformen angereichert werden. Die Kosten für das Erzeugen, Aufzeichnen, Bearbeiten und Übertragen von Signalformen im Rahmen von Tests können jedoch schnell die Kosten des Generators erreichen.

Dieser Artikel hat zum Ziel, den Prozess zum Erzeugen, Aufzeichnen, Bearbeiten und Übertragen von Signalformen auf einen AWG zu vereinfachen und zeigt dazu Beispiele. Behandelt werden in diesem Zusammenhang der Funktionsgenerator, die Signalerzeugung mithilfe von Gleichungen sowie die Übertragung aufgezeichneter Signale von Digitizern, Oszilloskopen und Mathematikprogrammen von Drittherstellern wie Matlab. Darüber hinaus erfolgt eine Erläuterung über das Be- und Verarbeiten dieser Wellenformen. Der Fokus im Bereich Hardware liegt auf den beiden AWG-Serien M2i.6xxx und M4i.66xx PCIe von Spectrum (Bild 1).

Eckdaten

Die leistungsstarken Arbitrary-Waveform-Generatoren (AWG) von Spectrum sind zur Ausgabe von Signalen beliebiger Formen innerhalb seiner Bandbreite flexibel einsetzbar. Als GUI und Schnittstelle zum Erzeugen, Aufzeichnen und Übertragen von AWG-Signalen dient das umfangreiche Messtechnik-Tool SBench 6. Die Software beinhaltet einen Funktionsgenerator, kann komplexe Wellenformen per Berechnung erzeugen und verfügt über diverse Importfilter für das Laden aufgezeichneter Signale in unterschiedlichen Datenformaten.

Diese modularen AWG-Produkte umfassen insgesamt 16 Modelle mit 1 bis 4 Kanälen und Abtastraten von 20 MS/s bis 1,25 GS/s mit Bandbreiten von 10 bis 400 MHz bei einer Auflösung von 8, 14 oder 16 Bit. Sämtliche AWG-Produkte nutzen identische Treiber und Unterstützungssoftware.

Bild 2: Standarad-Signalformen des Funktionsgenerators.

Bild 2: Standarad-Signalformen des Funktionsgenerators. Spectrum

AWG als Funktionsgenerator

Jeder AWG lässt sich als einfacher Funktionsgenerator zur Erzeugung und Ausgabe von Standard- und DC-Signalen auf direktem Weg und ohne komplexe Operationen nutzen. Der Easy-Generator ist Teil des Softwarepakets SBench 6, einer leistungsstarken, intuitiven und interaktiven Messsoftware für die Aufzeichnung, Verarbeitung und Erzeugung von Signalen. Sie ist für den Einsatz aller Digitizer, AWGs und LAN-basierter Digitizer-Netbox-Systeme von Spectrum ausgelegt.

Der Easy-Generator (Bild 2) erzeugt Sinus-, Rechteck-, Dreieck-, Sägezahn-, SINC- und DC-Wellenformen, die sich vom Benutzer in Frequenz, Phase, Amplitude und vereinzelt im Tastverhältnis anpassen lassen. Jeder verfügbare Ausgangskanal lässt sich individuell konfigurieren – ein Klick auf den Start-Button schaltet die Signale aktiv.

Bild 3a: Operatoren, Konstanten und Rechenfunktionen des AWG.

Bild 3a: Operatoren, Konstanten und Rechenfunktionen des AWG. Spectrum

Wellenformen berechnen

Die genauesten Signalformen lassen sich per Berechnung aus mathematischen Gleichungen generieren. Sie sind präzise, wiederholgenau und ermöglichen die Erzeugung unterschiedlichster Testsignale. SBench 6 enthält einen Editor als Teil eines Funktionsgenerators, der die Erzeugung von Wellenformen mithilfe textbasierter Gleichungen ermöglicht. Der Editor des Funktionsgenerators lässt die Erstellung von Gleichungen in Textform zu und ermöglicht die Auswahl von Abtastrate, Amplitude und Dauer der Wellenform. Die verfügbaren Operatoren, Konstanten und Rechenfunktionen des AWG sind in Bild 3a aufgeführt.

Sämtliche Rechenfunktionen erfordern mindestens ein Argument. Das Standardargument x (aktuelle Abtastung) reicht von Null bis [Länge-1]. Dieses Argument kann auch mithilfe eines weiteren Ausdrucks verändert werden, wodurch sich sich die Zeitbasis des resultierenden Signals beeinflussen lässt. Zudem nehmen die folgenden konditionalen Rechenfunktionen aufgeführte Werte auf Grundlage der Argumente an:

Bild 3b: Erzeugung eines Sinus-Sweep-Signals mit dem Ausdruck sin(pi*(2*(x/5000)+(((1/500)+(-1/5000))/16384)*x^2)).

Bild 3b: Erzeugung eines Sinus-Sweep-Signals mit dem Ausdruck sin(pi*(2*(x/5000)+(((1/500)+(-1/5000))/16384)*x^2)). Spectrum

  • if (x, min, max): wenn x >= min und x <= max, dann ist das Ergebnis 1, anderenfalls Null
  • sign (x): Ergebnis ist -1, wenn das Argument negativ ist, und +1, wenn das Argument positiv ist
  • tri (x,d): Dreieck mit d% einer ansteigenden Periode, die andere 100-d% fallend
  • rect (x,d): Rechteck mit d% einer hohen Periode, die andere 100-d% niedrig

In Bild 3b ist ein Beispiel für die Erzeugung des Sinus-Sweeps unter Anwendung der oben aufgeführten Operatoren und Funktionen zu sehen. Spectrum bietet einen Anwendungshinweis mit 24 Beispielen für Gleichungen zur Erzeugung von Wellenformen. Der Hinweis steht auf der Homepage (http://spectrum-instrumentation.com) zur Verfügung.

Bild 4: Signalformate, die der AWG verarbeiten kann.

Bild 4: Signalformate, die der AWG verarbeiten kann. Spectrum

Importieren von Signal-Dateien

Signalformen können wie gezeigt lokal in der Software SBench 6 von Spectrum erzeugt werden. Signalformen können auch durch andere Quellen erzeugt oder aufgezeichnet werden, unter anderem mit Messgeräten wie Digitizern und digitalen Oszilloskopen oder mit Softwaretools wie Tabellenkalkulationen, Mathematikprogrammen und Systemintegrationssoftware. Signalformen aus diesen Quellen können in SBench 6 importiert und in einem der nachstehend aufgeführten Importformate an den AWG gesendet werden.

  • SBench 6 importieren: Laden einer Datendatei im Format SBench 6, einschließlich aller darin enthaltenen Signale.
  • SBench 5 importieren: Laden und Verwenden einer Datendatei im älteren Format SBench 5
  • ASCII-Datei importieren: Laden einer ASCII-Datei, die spaltenbasierte Signaldaten enthält. Diese Funktion versucht das Datenformat zu bestimmen und konvertiert die Daten anschließend in ein gültiges Signal.
  • Wave-Datei importieren: Laden einer Standard-Audiodatei im Format *.wav. Dabei können auch mehrere Signale  von der Wave-Datei abgeleitet und in SBench 6 angezeigt werden. Nicht in der Wave-Datei enthaltenen Dateninformationen werden auf einen Standardwert gesetzt.
  • Binäre Datei importieren: Laden einer reinen Binärdatei, die ausschließlich Signaldaten ohne Header-Informationen enthält. Die Funktion sucht nach einem zusätzlichen, von SBench 6 geschriebenen Header, und verwendet die darin gespeicherten Informationen. Wird keine Header-Datei mit grundlegenden Informationen gefunden, fordert SBench 6 zur Eingabe der erforderlichen Informationen auf.

Weitere Dateiformate sind in Bild 4 aufgelistet.

Signale eines Spectrum-Digitizers importieren

Bild 5: Vorgang zum Importieren eines Digitizer-Signals in die AWG-Instanz von SBench 6.

Bild 5: Vorgang zum Importieren eines Digitizer-Signals in die AWG-Instanz von SBench 6. Spectrum

Signalformen von einem Spectrum-Digitizer können einfach per AWG-Instanz der Software SBench 6 importiert werden.

Das gewünschte Signal wird mit dem Digitizer aufgenommen wobei man sicherstellen muss, dass Amplitude, Bandbreite und Abtastrate des Signals innerhalb des zulässigen Bereichs des AWG liegen. Nach Abschluss der Aufzeichnung wird das Menü <Datei> geöffnet, dort der Menüeintrag <Exportieren/Speichern> gewählt und im entsprechenden Untermenü den Eintrag <SBench6>, um das aufgezeichnete Signal im Format für SBench 6 (.sb6dat) zu exportieren. Den Dateipfad und -namen, unter dem die exportierte Wellenformdatei gespeichert wird, muss man sich merken oder notieren.

Nun wird die AWG-Instanz von SBench 6 geöffnet. In Bild 5 sind die für den Import des Signals in den AWG erforderlichen Schritte dargestellt. Gewählt wird im Menü <Datei> der Eintrag <Importieren/Laden> und das Format <SBench6>. Nun navigiert man im Fenster „Zu importierende Datei auswählen“ zur gewünschten Datei (die zuvor aus der Digitizer-Instanz von SBench 6 exportiert wurde) und öffnet sie durch Anklicken. Die in der ausgewählten Datei gespeicherten Signale werden im Fenster „Eingangskanäle“ in der oberen linken Ecke von SBench 6 unter Import angezeigt. Nun klickt man mit der rechten Maustaste auf das gewünschte Signal und wählt „Zur Anzeige hinzufügen“ aus, um das Signal anzuzeigen.

Bild 6: Übertragen der Signalform auf den gewünschten Ausgangskanal mit Aktivierung des AWG-Ausgangs.

Bild 6: Übertragen der Signalform auf den gewünschten Ausgangskanal mit Aktivierung des AWG-Ausgangs. Spectrum

Jetzt wechselt man zum Fenster „Ausgangskanäle“ in der unteren linken Ecke der AWG-Instanz von SBench 6. Der gewünschte Ausgangskanal wird ausgewählt. Nun klickt man auf den gewünschten Eingangskanal und zieht ihn zum gewünschten Ausgangskanal. Im zugewiesenen Datenfeld des Ausgangskanals sollte jetzt der Name des importierten Signals angezeigt werden.

Anschließend klickt man mit der rechten Maustaste auf den Ausgangskanal und wählt <Einstellungen>. Im Popupfenster „Einrichtung Kanal“ wird die Konfiguration des Ausgangskanals einschließlich der neu zugewiesenen Datendatei angezeigt. Nun aktiviert man die Option <Ausgabe aktivieren>, wenn das Signal vom ausgewählten AWG-Kanal ausgegeben werden soll (Bild 6).

Es ist zu beachten, dass das gewünschte Ausgangssignal dem gewählten Ausgangskanal auch mithilfe des Popupfensters „Einrichtung Kanal“ zugewiesen werden kann. Außerdem muss beachtet werden, dass in diesem Popupfenster der Amplitudenbereich und die zugehörigen Konfigurationspunkte für den Ausgangskanal festgelegt werden können.

Aufgezeichnete Signale aufbereiten

Bild 7 zeigt eine Situation, in der fünf Ultraschallwellenformen mithilfe des Mehrkanal-Aufzeichnungsmodus des Digitizers aufgezeichnet wurden. Diese Signale wurden in die AWG-Instanz von SBench 6 importiert. Das für die Simulation dieser Aktion gewünschte Signal ist der Durchschnitt der fünf importierten Signale.

Bild 7: Schritte zum Übertragen einer gemittelten Signalform auf einen AWG-Ausgangskanal.

Bild 7: Schritte zum Übertragen einer gemittelten Signalform auf einen AWG-Ausgangskanal. Spectrum

Die Berechnung kann in SBench 6 erfolgen, indem man mit der rechten Maustaste auf das importierte Signal klickt und im anschließend angezeigten Kontextmenü die Option <Calculation> auswählt. Im nächsten Untermenü stehen verschiedene Berechnungsoptionen zur Auswahl. Hier wählt man <Signal Averaging> und im nächsten Untermenü den Eintrag <Average Multi>. Im Fenster „Average Multi“ besteht die Möglichkeit, die Anzahl der Segmente, aus denen der Mittelwert gebildet werden soll, anzugeben. Im Beispiel soll der Mittelwert aller Segmente gebildet werden.

Durch Klicken auf die Schaltfläche <Start> wird die Berechnung gestartet, das Ergebnis erscheint im Fenster „Eingangskanal“ als Kurve MAV_Ch-1. Nun fügt man dieses Signal zur Anzeige hinzu, um es genauer zu untersuchen, und stellt dabei sicher, dass es sich um die gewünschte Simulationswellenform handelt. Handelt es sich um das richtige Signal, klickt man auf MAV_Ch-1 und zieht sie zum gewünschten Ausgangskanal. Nun liegt der Mittelwert der Ultraschallsignale am Ausgang des AWG an. Dies kann mit einer Wellenform eines beliebigen Zeitbereichs, die das Ergebnis einer Berechnung ist, durchgeführt werden.

Digitizer oder digitales Oszilloskop als Signallieferant

Mithilfe digitaler Oszilloskope können Signale in verschiedenen Dateiformaten aufgezeichnet und gespeichert werden. In der Regel gibt es ein proprietäres binäres Format, das für die interne Speicherung verwendet wird. Es gibt auch textbasierte Formate einschließlich der Formate für ASCII, MATLAB (.dat) und Tabellenkalkulationsprogramme (.csv). Am einfachsten lassen sich diese textbasierten Formate durch die Importfunktion von SBench 6 auf den AWG übertragen.

Bild 8: Schritte zum Importieren einer ASCII-Datei von einem digitalen Oszilloskop in SBench 6

Bild 8: Schritte zum Importieren einer ASCII-Datei von einem digitalen Oszilloskop in SBench 6 Spectrum

SBench 6 kann ASCII-Importe mit einer Spalte für die Amplitude (Y) oder mit zwei Spalten für die Amplitude (Y) und die Zeit (X) verarbeiten. Die Software durchsucht die Datei und versucht automatisch das Datenformat einschließlich Länge der Datei, Taktfrequenz und Amplitudenbereich zu bestimmen.

Das Signal sollte mit Einstellungen zu Amplitudenbereich, Abtastrate und Speicherlänge aufgezeichnet werden, die mit dem AWG kompatibel sind. Gespeichert wird die Signalform entweder in einem Format mit einer Spalte für die Amplitudendaten oder mit zwei Spalten für die Amplituden- und Zeitdaten. Das Format und der Dateiname, unter dem die Signalform gespeichert wird, sollte notiert werden.

Nun importiert man die Datei über den Eintrag <Import/Load> im Menü „File“ von SBench 6 (Bild 8). Wird als Importformat ASCII gewählt, wird man in einem Popupfenster zur Auswahl der zu importierenden Quelldatei aufgefordert. Nach Auswahl der Quelldatei erscheint das Fenster „Basic File Setup“. Jetzt erfolgt die Angabe von Details zum verwendeten ASCII-Dateiformat sowie relevante Geräteeinstellungen. Das überlagerte Fenster in Bild 8 zeigt den Oszilloskop-Bildschirm sowie einen Ausschnitt der Informationen der ASCII-Datei, in die der Datensatz gespeichert wurde. Im Header der DSO-Datei finden sich Informationen zu Dateilänge und Abtastperiode. SBench 6 sollte diese Informationen bereits erfasst haben. Die Daten sind in Form von zwei Spalten strukturiert. Die erste enthält die Zeitinformationen, die zweite die Amplitudeninformationen im wissenschaftlichen Zahlenformat. Das Trennzeichen ist das Komma, eine neue Zeile wird durch Zeilenumschaltung und Zeilenvorschub bewirkt. Der letzte Schritt der Einrichtung besteht darin, die Anzahl der zu überspringenden Zeilen anzugeben, damit der Header nicht berücksichtigt wird. In diesem Fall enthält der Header zehn Punkte. Sobald diese Daten im Fenster „Basic File Setup“ eingegeben oder überprüft wurden, klickt man auf die Schaltfläche <OK>, um das Signal zu importieren.

Nach dem erfolgreichen Signalimport zieht man das Quellsignal vom Importfeld im Fenster „Kanäle“ zum gewünschten Ausgangskanal, wie im Abschnitt „Signale eines Spectrum-Digitizers importieren“ oben bereits erwähnt.

Signale von Drittanbietern importieren

Bild 9: Veranschaulichung der Schritte zum Importieren einer Signalform aus MATLAB (MATLAB Editor- und Plotfenster abgebildet) in SBench 6 durch Import einer ASCII-Datei.

Bild 9: Veranschaulichung der Schritte zum Importieren einer Signalform aus MATLAB (MATLAB Editor- und Plotfenster abgebildet) in SBench 6 durch Import einer ASCII-Datei. Spectrum

Signalformen lassen sich auch durch Mathematik-, Tabellenkalkulations- und Systemintegrationsprogramme von Drittanbietern, beispielsweise Matlab, Excel oder Labview, erzeugen. Das allgemeine Verfahren ist insofern identisch, als das die Signaldaten als ASCII-Datei gespeichert und in SBench 6 importiert werden. In Bild 9 ist ein Beispiel für die Verwendung von Matlab dargestellt. Die Abtastrate und der Amplitudenbereich des Signals sollten innerhalb des Arbeitsbereichs des verwendeten AWG liegen. Eine bei optischen Messungen häufig genutzte Ein-Volt-SINC2-Funktion wird unter Verwendung einer Abtastrate von 100 MS/s berechnet und als ASCII-Datei gespeichert. Im Menü „Datei“ wird erneut die ASCII-Importfunktion aufgerufen, anschließend wird das Quellensignal ausgewählt und im Fenster „Basic File Setup“ werden die entsprechenden ASCII-Einstellungen vorgenommen. Nach Bestätigung der ASCII-Einstellungen wird das Signal importiert und im Fenster „Eingangskanal“ in der oberen linken Ecke von SBench 6 angezeigt. Nun kann sie auf den gewünschten Ausgangskanal oder in die analoge Anzeige gezogen werden. In SBench 6 kann das Signal auch durch Berechnungstools verarbeitet und anschließend auf einen Ausgangskanal übertragen werden.

Matlab und Labview bieten hervorragende Tools zur Formatierung von Dateien. Mit etwas Programmiererfahrung können Benutzer Daten im Binärformat ausgeben und mithilfe geeigneter Treiber von Spectrum direkt in den AWG geladen werden. Treiber und zugehörige Handbücher stehen auf folgender Webseite zur Verfügung: http://spectrum-instrumentation.com/en/downloads/drivers.

Verwendung von Wave-Dateien

Bild 10: Nach dem Import einer 1,2 Sekunden langen Audiosequenz im Format *.wav lässt sich die Signalform der Trompetenfanfare über die Ausgänge des AWG wiedergeben.

Bild 10: Nach dem Import einer 1,2 Sekunden langen Audiosequenz im Format *.wav lässt sich die Signalform der Trompetenfanfare über die Ausgänge des AWG wiedergeben. Spectrum

Audiodateien, aufgrund der Extension .wav auch Wave-Dateien genannt, werden zur Codierung von Geräuschen, Musik und ähnlichen Signalformen verwendet. Solche Dateien lassen sich nach SBench 6 portieren (Bild 10).

Die Importfunktion im Menü „Datei“ fordert zur Eingabe eines Dateinamens und eines Amplitudenbereichs auf. Wie bei den anderen Verfahren zum Importieren von Signalen lassen sich importierte Signalformen per Drag & Drop an den gewünschten Ausgabeport oder in eine der analogen Anzeigen ziehen.

In guter Zusammenarbeit

SBench 6 ist ein leistungsstarkes Messtechnik-Tool zur Erzeugung von Signalformen, das sämtliche Arbitrary Waveform-Generatoren von Spectrum unterstützt. Der Einsatzbereich reicht vom Betrieb einfacher Funktionsgeneratoren über die Erzeugung komplizierter Signalformen und Vorsignalverarbeitung bis hin zum schnellen Import verschiedener Signalformate. Die Software dient als Schnittstelle zwischen dem AWG und anderen Signalquellen, indem es das direkte Laden von Signalformen in den AWG ohne zusätzliche Programmierung ermöglicht.

Alle Screenshot-Bilder stehen hochauflösender als PDF-Download zur Verfügung.