8-Bit-Messdaten mit 10GS/s erfassen, analysieren und speichern

MESSTECHNIK

Spectrum Instrumentation hat seinen Digitizern der M5i.33xx-Serie einen neuen Streaming-Modus hinzugefügt. Dieser Modus ermöglicht es den A/D-Karten, kontinuierlich Daten mit einer maximalen Abtastrate von 10GS/s zu erfassen, zu streamen, zu analysieren und zu speichern. Dieses Erfassungssystem benötigt neben Digitizerkarten von Spectrum ausschließlich Standard-PC-Technik, wie z.B. GPUs für die Signalverarbeitung und SSD-Arrays für die Messdatenspeicherung. 



Die Digitizerserie M5i.33xx besteht aus sieben Modellen mit Abtastraten von 3,2 bis 10GS/s, einer vertikalen Auflösung von 12 Bit sowie Messbandbreiten von 1 bis 4,7GHz. Alle Produktvarianten verfügen über ein 16-Lane Gen3 PCIe-Interfaces, die Daten mit bis zu 12,8 GB/s übertragen. 12-Bit-Daten, die auf einem Kanal mit 6,4GS/s Abtastrate erfasst werden (oder auf zwei Kanälen mit 3,2 GS/s) können ohne Verluste in die PC-Umgebung gestreamt werden. Wenn schnellere Abtastraten erforderlich sind, wird auf einen 8-Bit-Modus umgeschaltet, so dass Daten mit 10GS/s auf einem Kanal (oder 5GS/s auf zwei Kanälen) "gesampelt" werden können. 


GPUs für die Signalverarbeitung

Für Messungen, in denen Streaming und intensive Signalverarbeitung erforderlich sind, verwenden die M5i.33xx-Digitizer das Softwarepaket SCAPP (Spectrum CUDA Access for Parallel Processing). Dabei werden die erfassten Daten mithilfe eines RDMA-Verfahrens (Remote Direct Memory Access) direkt von den Digitizern an handelsübliche GPU-Karten gestreamt. RDMA ist eine Technologie, die es erlaubt, Daten im Hauptspeicher auszutauschen, ohne dass der Prozessor, der Cache oder das Betriebssystem der beiden Computer (hier PC und GPU) beteiligt sind. GPUs, die auf dem CUDA-Standard von Nvidia basieren, sind perfekt für die parallele Verarbeitung großer Datenmengen geeignet, da sie bis zu 10.000 Verarbeitungskerne und bis zu 48GB Speicher besitzen.

Spectrums SCAPP umfasst eine Reihe von Routinen für die Interaktion zwischen den Digitizern und den GPU-Karten sowie eine Reihe von Programmierbeispielen für die CUDA-Parallelverarbeitung. Diese Beispiele bieten Bausteine für Verarbeitungsfunktionen wie digitale Abwärtskonvertierung (DDC), Filterung, Signalmittelung, De-Multiplexing, Datenkonvertierung und schnelle Fourier-Transformationen (FFTs). Die SCAPP-Software basiert auf C/C++ und Python.

Beispielsweise können bei Anwendungen, die eine kontinuierliche Spektralanalyse erfordern, Zeitbereichsdaten mit 10GS/s erfasst und direkt an eine GPU gestreamt werden, um dort eine kontinuierliche FFT-Analyse durchzuführen. Mit einem PC-System, das einen M5i.33xx-Digitizer (umgestellt auf den neuen 8-Bit-Modus), SCAPP und eine GPU enthält, ist ein endlos laufender Konvertierungsprozess möglich. Dieser kann Analyseaufgaben wie Multiplexing und Windowing beinhalten oder FFT und Mittelwertbildung (mit einer FFT-Blockgröße von 1 MSample). Bei einer Abtastrate von 10GS/s deckt eine solche FFT einen Frequenzbereich von DC bis 5GHz ab und liefert eine Frequenzauflösung von 10kHz. Um noch bessere Auflösungen zu erzielen, können auch größere FFT-Blockgrößen verwendet werden.


Messdaten kommen in einen RAID-Speicher

Spectrum Instrumentation bietet Streaming- und Datenspeichersysteme auf Basis eines Supermicro-Servers mit einem AMD EPYC-Prozessor und RAID-Speicher mit U.2-SSDs an. Mit bis zu 240-TB-Speicher können diese Systeme 6+ Stunden Daten mit der maximalen Abtastrate aufzeichnen. 


Software

Um die Integration in Testsysteme zu ermöglichen, können die Spectrum-Digitizer mit einer Vielzahl gängiger Sprachen programmiert werden, darunter C, C++, C#, Delphi, VB.NET, J#, Python, Julia, Java, LabVIEW und MATLAB. Zum Lieferumfang gehört ein SDK, das eine Reihe von Programmierbeispielen und die erforderlichen Treiberbibliotheken für Windows- und LINUX-Betriebssysteme enthält. Für Anwender, die nicht selber programmieren möchten, bietet Spectrum seine Messsoftware SBench 6 Professional an, die vollständige Kartenkontrolle sowie Anzeige-, Analyse-, Speicher- und Dokumentationsfunktionen beinhaltet. SBench 6 ist für die Verarbeitung großer Datenmengen konzipiert und verfügt über eine Reihe von Processing-Tools, darunter eine Plug-in-Schnittstelle, die die Verwendung benutzerdefinierter Berechnungsfunktionen sowie verschiedene Import- und Exportfilter erlaubt.

Fachartikel