.. index:: Messdatenmodell, Datenstruktur, Historien-Pickle Messdatenmodelle ================ Diese Referenz ordnet die persistierten Datencontainer von mpylab ein. Sie beschreibt die unterstützte Leseschnittstelle der Messhistorie, nicht jedes interne Attribut, das Python beim Pickeln einer Messklasse speichert. Grundstruktur ------------- Messklassen speichern mehrere benannte Datensätze in einem gemeinsamen Historienobjekt. Der übliche Zugriff lautet:: history.[description] ``description`` ist ein frei gewählter, innerhalb des Containers eindeutiger Name. Unterhalb davon verwenden Messabläufe typischerweise numerische Frequenzschlüssel in Hz sowie weitere Schlüssel für Ports, Tunerstellungen, Punkte, Detektoren oder Generatorpegel. Die jeweilige Fachreferenz beschreibt die genaue Reihenfolge. Eine Description kann mehrere Messdurchläufe aufnehmen, auch wenn sich der Aufbau dazwischen geändert hat. Der kompakte Verweis ``acquisition`` an jedem gebündelten Rohdaten-Sample ordnet es einem zeitgestempelten Konfigurations-Snapshot zu; :doc:`history-files` definiert diese gemeinsame Herkunftsstruktur. Rohdatencontainer beginnen gewöhnlich mit ``rawData``. Sie enthalten Gerätewerte, Ablaufmetadaten und die für eine erneute Auswertung erforderliche Herkunft. ``processedData`` enthält daraus berechnete Größen. Eine Auswertung ersetzt oder löscht die Rohdaten nicht. Persistierte Container ---------------------- .. list-table:: Datencontainer der Messklassen :header-rows: 1 :widths: 18 34 30 18 * - Messklasse - Container - Inhalt - Detailreferenz * - ``TEMCell`` - ``rawData_Verification``, ``processedData_Verification`` - TEM-Moden-Verifikation und Leistungsreferenzen - :doc:`tem-verification-data` * - ``TEMCell`` - ``rawData_e0y``, ``processedData_e0y`` - gemessener GTEM-Feldfaktor - :doc:`tem-e0y-data` * - ``TEMCell`` - ``rawData_Immunity``, ``processedData_Immunity`` - Exposition, Referenzauswahl und EUT-Bewertung - :doc:`tem-immunity-data` * - ``TEMCell`` - ``rawData_Emission``, ``processedData_Emission`` - Emissionsscan, Detektoren und Feldkorrelation - :doc:`tem-emission-data` * - ``AmplifierTest`` - ``rawData``, ``processedData`` - Verstärkerleistung, Verstärkung und Kompression - :doc:`amplifier-test-data` * - ``MSC`` - ``rawData_MainCal``, ``processedData_MainCal`` - Leerkammer- und Beladungskalibrierung - :doc:`msc-calibration-data` * - ``MSC`` - ``rawData_EUTCal``, ``processedData_EUTCal`` - EUT-spezifische Kammerkalibrierung - :doc:`msc-calibration-data` * - ``MSC`` - ``rawData_AutoCorr``, ``processedData_AutoCorr`` - Tuner-Autokorrelation und unabhängige Positionen - :doc:`msc-calibration-data` * - ``MSC`` - ``rawData_Immunity``, ``processedData_Immunity`` - Exposition, Schwellen und EUT-Bewertung - :doc:`msc-immunity-emission-data` * - ``MSC`` - ``rawData_Emission``, ``processedData_Emission`` - Empfangsleistung und abgeleitete Emission - :doc:`msc-immunity-emission-data` ``TEMCell`` speichert zusätzlich ``geometry``, ``uniform_areas``, ``verification_datasets`` und ``reference_datasets``. Diese Attribute binden Geometrie und Herkunft an die Messhistorie und sind für die Interpretation der Verifikations- und Referenzdaten relevant. Schnittstellenvereinbarung und interne Zustände ----------------------------------------------- Unterstützt sind die auf diesen Seiten beschriebenen Pfade, Typen, Einheiten und Bedeutungen. Neue mpylab-Versionen dürfen additive Keys ergänzen. Als optional gekennzeichnete Felder können in älteren Pickles oder bei einem anderen Messmodus fehlen; Anwendungen lesen sie mit ``mapping.get(...)``. Laufzeitobjekte wie geöffnete Dateien, Logger, UI-Adapter und Geräteinstanzen sind keine Datenleseschnittstelle. Auch ein momentan im ``__dict__`` sichtbares Attribut ist ohne Eintrag in dieser Referenz keine zugesicherte Schnittstelle. Bestehende Keys werden nicht still umbenannt oder fachlich neu belegt. Eine unvermeidbare inkompatible Änderung benötigt eine Migrationsstrategie und eine explizite Versionsentscheidung. Die Pickle-Historie erhält durch diese Dokumentation noch keine globale Schemaversion; einzelne Austauschformate oder Teildokumente können eigene ``schema_version``-Felder besitzen. Änderungen am Datenmodell ------------------------- Eine Änderung an einem persistierten Attribut, Key, Index, Typ, einer Einheit oder Bedeutung wird im selben Commit in deutscher und englischer Sprache dokumentiert. Der zugehörige virtuelle Schnittstellentest wird ebenfalls angepasst. Neue Container müssen in der Tabelle oben erscheinen. Die Pflegevorgaben und Prüfkommandos stehen unter :doc:`../help/documentation-maintenance`. :doc:`history-files` beschreibt Pickle, Autosave und Fortsetzung; :doc:`pexplorer` zeigt die interaktive Untersuchung einer vertrauenswürdigen Historie. Pfadkorrekturgrößen behalten ihre bisherigen Einheiten und Dictionary-Schlüssel. Neu berechnete Korrekturen behalten SCUQ-Ausdrücke mit gemeinsamen Eingängen und reellen/komplexen Übertragungsabhängigkeiten statt unabhängiger ausgewerteter Eingänge. Ihre Pickle-Darstellung kann die internen Übertragungsausdrucksklassen in ``mpylab.tools.ratio_conversion`` enthalten; lesende Versionen müssen diese Klassen bereitstellen. Bestehende gespeicherte Zahlenwerte werden nicht umgeschrieben. :doc:`../framework/path-corrections` beschreibt die korrigierte kohärente Leistungsrechnung und die Grenzen der Unsicherheitsfortpflanzung erster Ordnung bei Auslöschung.