Messgrößen, Einheiten und Unsicherheiten

mpylab verwendet SCUQ durchgängig für physikalische Messgrößen. Eine Quantity verbindet Wert, Einheit und gegebenenfalls Unsicherheit oder Korrelation. Diese Information soll bis zur Geräte- oder Darstellungsschnittstelle erhalten bleiben.

Quantities erzeugen

from scuq.quantities import Quantity
from scuq.si import HERTZ, WATT

frequency = Quantity(HERTZ, 1e9)
power = Quantity(WATT, 0.1)

Konfigurationen verwenden Quantities insbesondere für Pegel, Feldstärken und Leistungen. Frequenzlisten historischer APIs bestehen teilweise weiterhin aus Hz-Floats; innerhalb physikalischer Berechnungen wird die Einheit ausdrücklich ergänzt.

Wert, Unsicherheit und Einheit

Reelle und komplexe Unsicherheitsmodelle werden über eine gemeinsame Hilfsfunktion ausgewertet:

from mpylab.tools.quantity_uncertainty import value_uncertainty_unit

value, uncertainty, unit = value_uncertainty_unit(power)

Bei reellen Größen ist uncertainty die Standardunsicherheit. Bei komplexen Größen wird eine kartesische 2x2-Kovarianzmatrix für Real- und Imaginärteil zurückgegeben.

Rechnen mit Pfadkorrekturen

Pfadkorrekturen können komplex sein. multiply_quantities und divide_quantities harmonisieren reelle und komplexe Unsicherheitsmodelle. magnitude_quantity bildet anschließend einen reellen Betrag mit Unsicherheit. Direkte Umwandlung in float vor der Korrektur würde Phase und Unsicherheit verlieren.

Einheiten umrechnen

mpylab.tools.uconv ist die zentrale Umrechnungsebene:

  • to_quantity(unit, value) erzeugt eine Quantity aus Protokolldaten;

  • from_quantity(unit, quantity) liefert einen Wert für eine Ziel-Einheit;

  • quantity_to_db und quantity_to_dBm erhalten Unsicherheitsinformation;

  • S-Parameter-Konverter unterscheiden Phase in Grad und Bogenmaß ausdrücklich.

Eine symmetrische lineare Unsicherheit wird auf der dB-Skala im Allgemeinen asymmetrisch. Wenn die untere lineare Grenze nicht positiv ist, kennzeichnet die dB-Darstellung die gekappte Untergrenze ausdrücklich.

Leistungs- und Amplitudenverhältnisse

POWERRATIO und AMPLITUDERATIO bestimmen den dB-Faktor 10 beziehungsweise 20. Das sagt nicht aus, ob ein Übertragungsfaktor reell oder komplex ist. Ein komplexes S21 kann deshalb als POWERRATIO geführt werden, wenn seine dB-Definition den Faktor 10 verwendet.