TEM-Verifikationsdaten ====================== Eine TEM-Verifikationshistorie enthält die punktweisen Messdaten, deren normative Auswertung und die daraus abgeleiteten Vorwärtsleistungsreferenzen für spätere Störfestigkeitsprüfungen. Pickles dürfen nur aus vertrauenswürdiger Quelle mit :func:`mpylab.env.Measure.load_pickle_compat` geladen werden. Indizes und Struktur -------------------- ``description`` ist der frei gewählte Datensatzname, beispielsweise ``"stage1_verification"``. Frequenzen sind numerische Mapping-Keys in Hz. ``verification_target_label`` bezeichnet ein gemessenes Verifikationsziel, ``target_label`` einen abgeleiteten Immunitätsprüfpegel. Anwendungen sollten keinen dieser Bezeichner selbst zusammensetzen. .. code-block:: text rawData_Verification[description] processedData_Verification[description] ├── target_results[verification_target_label] ├── immunity_reference[target_label][frequency] └── all_targets_summary Schema 4 legt explizit bezeichnete Verifikationsziele immer unter ``target_results`` ab – auch ein einzelnes Ziel. Der Zugriff erfolgt mit ``select_verification_target``. Eine reihenfolgeabhängige flache Projektion und eine zweite, frequenzzuerst indizierte Immunitätsreferenz gibt es nicht. Rohdaten -------- Der Rohdatensatz liegt unter:: raw = history.rawData_Verification[description] Wichtige Metadaten sind ``verification_evaluation_schema_version`` (``4``), ``geometry``, ``uniform_area_name``, ``uniform_area`` (die vollständige ``CalibrationPlane``), ``probe_to_cell_axis_mappings``, ``verification_field_strength``, ``target_forward_power``, ``target_forward_power_level_dbm``, ``immunity_test_field_strengths``, ``verification_measurement_targets``, ``amplifier_saturation_test_field_factor``, ``amplifier_saturation_decision_settings`` und ``initial_signal_generator_power_level_dbm``. Das gespeicherte ``mg`` bleibt unverändert; Schema 4 migriert den Messgraphen ausdrücklich nicht. Die Messungen sind so indiziert:: raw["efield"][frequency][port][point_index] -> list[entry] Jeder Eintrag verwendet sprechende Namen: ``cell_field_vector`` und optional ``probe_field_vector`` enthalten ``Quantity(V/m)``-Vektoren; ``measured_forward_power`` und ``measured_backward_power`` sind ``Quantity(W)``. Optionale Felder dokumentieren Punkt, Sondenabbildung, Leveling, Verifikationsfeldstärken und den Verstärkersättigungsnachweis. Normative Auswertung -------------------- ``constant_forward_power`` folgt IEC 61000-4-20, 5.2.2.4.1. ``constant_field_strength`` folgt 5.2.2.4.2 und Gleichung 17. Absolute logarithmische Leistungspegel werden in dBm gespeichert: .. math:: P_\mathrm{ref,dBm}=\overline{P_\mathrm{dBm}}+k\,s_P, wobei :math:`s_P` eine Streuung in dB und :math:`k=1{,}15` der Standardwert ist. ``measured_forward_power_level_mean_dbm`` und ``normative_reference_forward_power_level_dbm`` sind daher absolute dBm-Pegel; ``measured_forward_power_sigma_db`` bleibt eine relative dB-Größe. Das reguläre Felduniformitätskriterium gilt streng unter 2,61 dB; bei genau 2,61 dB beginnt bereits das Ausnahmeband, das bei 4,35 dB endet. Entsprechend gilt regulär streng ``Q75 < 0.5``; bei ``Q75 == 0.5`` beginnt das Ausnahmeband. Ausgewertetes Ziel ------------------ Nach Auswahl eines Ziels – oder bei einem unbezeichneten historischen Lauf – sind dies die wichtigsten frequenzindizierten Felder: .. list-table:: Referenz- und Bewertungsfelder :header-rows: 1 :widths: 43 20 37 * - Key - Typ - Bedeutung * - ``normative_reference_field_strength[frequency]`` - ``Quantity(V/m)`` - Referenzfeld der gewählten Uniformitätsauswertung. * - ``normative_reference_forward_power[frequency]`` - ``Quantity(W)`` - Normativ abgeleitete Referenzvorwärtsleistung. * - ``normative_reference_forward_power_level_dbm[frequency]`` - ``float`` oder ``None`` - Dieselbe statistische Referenz als absoluter dBm-Pegel. * - ``normative_reference_forward_power_method[frequency]`` - ``str`` - Kennung der Ableitungsmethode. * - ``measured_forward_power_samples[frequency]`` - Folge von ``Quantity(W)`` - Punktweise Messwerte. * - ``measured_forward_power_mean[frequency]`` - ``Quantity(W)`` - Arithmetischer Mittelwert; kein Ersatz für die normative Referenz. * - ``measured_forward_power_level_mean_dbm[frequency]`` - ``float`` - Mittelwert der gemessenen absoluten Leistungspegel in dBm. * - ``measured_forward_power_sigma_db[frequency]`` - ``float`` - Stichproben-Standardabweichung in dB. * - ``field_strength_per_sqrt_forward_power[frequency]`` - ``Quantity((V/m)/sqrt(W))`` - Aus den normativen Referenzen abgeleiteter Feldfaktor. * - ``verification_target_field_strength[frequency]`` - ``Quantity(V/m)`` - Effektives Verifikationsziel. * - ``forward_power_for_verification_target[frequency]`` - ``Quantity(W)`` - Auf dieses Ziel skalierte normative Leistung. ``verification_by_frequency`` enthält das vollständige Auswertungsergebnis. ``frequency_results`` ist die reportorientierte Frequenzsicht; ``point_measurements_by_frequency`` enthält vollständige Punkteinträge und ``point_results`` kompakte Punktzusammenfassungen. Weitere Felder sind ``normative_reference_field_strength_by_scale``, ``measured_primary_field_level_mean_dbv_per_m``, ``measured_primary_field_sigma_db``, ``measured_primary_field_mean``, ``measured_primary_field_standard_deviation``, ``primary_field_uniformity_span_db``, ``secondary_to_primary_field_ratio_q75``, ``measured_point_coverage`` und ``normatively_covered_points``. ``verification_passed[frequency]`` verbindet Felduniformität, TEM-Moden-Dominanz und Zielerreichung. Die Einzelentscheidungen stehen in ``field_uniformity_passed`` und ``tem_mode_passed``. ``frequency_range_summary`` enthält ``verification_overall_passed``, ``field_uniformity_overall_passed``, ``tem_mode_overall_passed`` sowie die Anzahlen der Ausnahmefrequenzen. ``all_targets_summary`` fasst den Zielcontainer zusammen. Herkunftsdaten sind unter ``provenance`` gebündelt; Angaben zur Neuauswertung liegen unter ``provenance["reprocessing"]``. ``analytical_e0y_max_series_index`` beschreibt die Einstellung des optionalen analytischen Vergleichs. ``reference_dataset`` registriert die abgeleitete Referenz in der Historie; ``source`` bezeichnet Herkunftsangaben in den jeweiligen Einträgen. Immunitätsreferenzen -------------------- Der einzige kanonische Pfad lautet:: processed["immunity_reference"][target_label][frequency] Ein Eintrag enthält ``label``, ``immunity_test_field_strength``, ``normative_reference_field_strength``, ``normative_reference_forward_power`` und ``immunity_test_forward_power``. Das getrennte Verfahren zum Nachweis der Verstärkersättigung verwendet ``amplifier_saturation_test_field_factor``, ``amplifier_saturation_test_field_increase_db``, ``amplifier_saturation_test_field_strength`` und ``amplifier_saturation_test_forward_power``. Die Nachweise stehen unter ``amplifier_saturation_check_passed``, ``amplifier_saturation_check_methods``, ``amplifier_saturation_decision_settings`` und ``amplifier_saturation_check``. Die Leistung des Sättigungstests ist nicht die reguläre EUT-Expositionsleistung. Die Skalierung folgt .. math:: P_\mathrm{test}=P_\mathrm{ref} \left(\frac{E_\mathrm{test}}{E_\mathrm{ref}}\right)^2. Bevorzugter Zugriff ------------------- .. code-block:: python from mpylab.env.Measure import load_pickle_compat from mpylab.tools.aunits import EFIELD from scuq.quantities import Quantity history = load_pickle_compat("temcell_history.p") target = history.select_verification_target( reference="stage1_verification", verification_target="verification-3-v-per-m", ) selection = history.select_immunity_reference_power( reference="stage1_verification", frequency=150e6, required_immunity_efield=Quantity(EFIELD, 3.0), ) power = selection["immunity_test_forward_power"] Die spätere Immunitätsmessung speichert diese Auswahl unter ``rawData_Immunity[description]["immunity_reference_power_selection"][frequency]`` und in ``processedData_Immunity``. Neuauswertung und Kompatibilität -------------------------------- Schema 4 ist eine bewusste harte Umbenennung; Alias-Keys aus Schema 3 werden nicht geschrieben. Beim Laden wird ein historisches Pickle nicht stillschweigend neu ausgewertet. Eine vertrauenswürdige Quelldatei kann reproduzierbar und ohne Überschreiben migriert werden: .. code-block:: console python tools/reprocess_tem_verification_pickle.py SOURCE.p CORRECTED.p \ --description stage1_verification Das korrigierte Ergebnis dokumentiert Quell-SHA256, mpylab-Version, UTC-Zeitstempel und Normreferenz. Ein Leistungswert allein erlaubt niemals eine Exposition: Verifikation, Verstärkersättigungsnachweis, Frequenzabdeckung, Preflight und konfigurierte Schutzgrenzen müssen gültig sein.