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_dbundquantity_to_dBmerhalten 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.