Virtueller AmplifierTest-Ablauf

Das Skript amplifier-test.py kann mit virtuellen Gerätekonfigurationen ohne Laborhardware ausgeführt werden. Das ist für Entwicklung, Fehlersuche und Regressionstests gedacht. Die Standardkonfiguration bildet einen im Messrack eingebauten Verstärker mit Vorwärts- und Rückwärtsleistungsüberwachung ab.

Aus dem Verzeichnis script wird der virtuelle Verstärkertest so gestartet:

python amplifier-test.py conf/amplifier-test-virtual/conf.py

Ein isolierter Verstärker mit direkt am Verstärkerausgang angeschlossenem Leistungsmesser wird durch die Direct-Konfiguration abgebildet:

python amplifier-test.py conf/amplifier-test-direct-virtual/conf.py

Diese Konfiguration setzt measurement_setup = "direct". Ihr Names-Mapping verwendet pm_out für den direkten Ausgangs-Leistungsmesser anstelle der Rack-Setup-Keys pm_fwd, pm_bwd und output.

Die Direct-Konfiguration definiert Korrekturen für Ausgangskabel und Dämpfungsglied als passive Knoten im Graphen und referenziert sie auf den DOT-Kanten mit den üblichen Attributen dev und what. Der virtuelle Direct-Ablauf nutzt zwei Kantenkorrekturen zwischen amp_out und pm_out und enthält dabei ein 40-dB-Ausgangsdämpfungsglied.

Im Direct-Setup prüft AmplifierTest zusätzlich einen optionalen Leistungsmesser-Sicherheitskanal namens MAXIN, bevor ein Pegel am Signalgenerator gesetzt wird. Die Prüfung schätzt den Leistungsmessereingang aus dem angeforderten Signalgeneratorpegel und der Graphkorrektur von sg nach pm_out. Die virtuelle Direct-Konfiguration und die R&S-NRP-Z21-Konfiguration stellen einen solchen MAXIN-Kanal bereit. Fehlt er in der ausgewählten Leistungsmesserkonfiguration, steht dieser zusätzliche Leistungsmesserschutz nicht zur Verfügung.

Dieselbe Konfiguration kann über die Qt-Oberfläche gestartet werden:

python amplifier-test-qt.py conf/amplifier-test-virtual/conf.py

Die Konfigurationen verwenden virtuelle Treiber für Signalgenerator, Verstärker und Leistungsmesser sowie virtuelle 0-dB-Pfadkorrekturen. Ausgabedateien werden jeweils in das output-Verzeichnis der Konfiguration geschrieben.

Die virtuelle Konfiguration deaktiviert die Kompressionsauswertung mit do_evaluation = False. Die virtuellen Leistungsmesserdaten sind deterministisch und eignen sich für Messablauf, Logging und Pickle-Workflow, bilden aber keine realistische Kompressionskennlinie ab.

Die reale Direct-Konfiguration unter conf/amplifier-test-direct ist ein erster hardwareorientierter Stand mit R&S SMF100A, BLMA-Verstärkerkonfiguration und einer R&S-NRP-Z21-Leistungsmesserkonfiguration. Ihre Korrekturknoten für direktes Ausgangskabel und Dämpfungsglied verwenden zunächst lokale 0-dB-Platzhalterdaten. Für reale Messungen müssen diese durch die gemessenen Korrekturdaten ersetzt werden. Das ist auch nötig, damit die MAXIN-Abschätzung den tatsächlichen Leistungsmessereingang beschreibt.

Das Skript schreibt:

Datei

Zweck

amplifier-test-virtual.p

Finales AmplifierTest-Pickle mit der gemessenen Historie.

amplifier-test-virtual-after-measure-<description>.p

Zwischen-Pickle nach dem Messschritt.

amplifier-test-virtual.log

Textlog des Messlaufs.

Der hardwareunabhängige Pfad wird durch test_amplifier_test_script.py abgedeckt. Der fokussierte Test kann aus dem Repository-Wurzelverzeichnis gestartet werden:

PYTHONPATH=src:../scuq/src python -m pytest test/test_amplifier_test_script.py