Skip to main content

TemField

Radiated EMC susceptibility measurements in (G)TEM waveguides using mpylab

This software is distributed unter GPL-3 or higher. See LICENSE for details.

Installation

pip install temfield-mpylab

For an isolated application-style installation, pipx is also useful:

pipx install temfield-mpylab

This installs the package in its own environment and exposes the command line tools temfield and temfield-info on your PATH.

Command line

Start the GUI with:

temfield

Show installation and dependency information with:

temfield-info

Use temfield-info --json for machine-readable output.

AM headroom safety check

Before modulation is enabled, TEMField first levels the unmodulated field to the AM peak factor. For 80 % AM this is 1.8 * E_target. It then reduces the signal-generator output by 5.1 dB and checks the resulting decrease. A configured forward-power meter provides the normative IEC 61000-4-20 check; otherwise the field probe is used as an explicitly non-normative proxy. After a passed check, TEMField levels once more to the requested carrier field and only then enables AM. Failed leveling or headroom checks keep AM off and switch RF off for that frequency.

TEMField asks mpylab.tools.am_headroom to apply the uncertainty_overlap decision with coverage factor k = 2 to both methods. The nominal accepted interval is not widened. Instead, mpylab propagates the uncertainty of the high-to-reduced ratio and classifies an outside nominal value as passed_with_uncertainty only when its expanded interval overlaps the accepted interval. An expanded interval wholly below or above the accepted range remains a failure. Shared calibration contributions are retained as correlated SCUQ components and can cancel in the ratio; independent acquisition scatter remains.

The log and JSON result distinguish passed, passed_with_uncertainty, failed_below_interval, and failed_above_interval and record the standard and expanded asymmetric uncertainties, decision interval, rule, coverage factor, method, and normative flag.

Field-probe orientation

TEMField interprets x, y, and z in the GUI, leveling, waveform plot, and result files as TEM-cell axes. The physical probe orientation can be defined on its DOT node:

prb [ini="fieldprobe.ini"
     probe_axis_map="cell_x:+probe_y,cell_y:+probe_x,cell_z:-probe_z"]

The same probe_axis_map may be placed in the DESCRIPTION or Init_Value section of a FIELDPROBE INI file. Programmatic users can pass a direct or per-node probe_orientations mapping to TEMFieldWorker or TestSusceptibility.Init. TEMField examines configuration, DOT, and INI sources together. Equal definitions are accepted and retained as provenance; contradictory definitions stop the run before hardware initialization. The selected source and cell-from-probe transformation are written to the log and stored with each disturbance record.

Current field-probe drivers return unsigned component magnitudes. Therefore TEMField supports axis permutations (including +/- syntax, with signs ignored for magnitudes), but deliberately rejects arbitrary rotation matrices. Such rotations require synchronous signed vector data and cannot be recovered from three component magnitudes.

EUT monitoring

TEMField uses the shared mpylab.env.eut API. Manual EUT reporting is always available in the GUI and may be supplemented by automatic monitors for cameras, communication links, or process data. Automatic monitors run behind ThreadedEUTMonitor; they never access MGraph or switch RF themselves.

During exposure, the operator can report Degraded, Failed, or Not evaluable. After an impairment, TEMField switches AM and RF off and separately records the post-exposure state and recovery method. The table reports the result for performance criterion A, B, or C and includes the structured events in its tooltip. The post-exposure timeout is configurable in the EUT panel. A safety event is routed immediately through the measurement worker's RF-off path.

RandomEUTMonitor provides reproducible hardware-independent simulations and a starting point for custom automatic monitors. It must not be used as evidence of real EUT performance.

An application embedding the window can configure an automatic monitor before the measurement starts:

from mpylab.env.eut import RandomEUTMonitor

window.set_automatic_eut_monitor(RandomEUTMonitor(seed=42))

Structured results

Saving the measurement table writes both the selected CSV file and a JSON file with the same stem. The JSON document preserves quantities as value, uncertainty, and unit and includes the EUT event history and performance assessment.

The shared mpylab.env.immunity_result schema calls the applied test quantity disturbance. Its quantity_kind, target, and freely named measured_components are not tied to an electric field. TEMField currently records electric_field_strength with its measured probe components. The same format can represent, for example, injected_current in A or an applied voltage in a future conducted immunity application.

License

GPL-3 or higher

Repository

https://gitlab.hrz.tu-chemnitz.de/chair-of-electromagnetic-theory-and-compatibility-at-tu-dresden/mpylab/TEMField.git

Documentation

https://temfield-1012e2.gp.hrz.tu-chemnitz.de/

Contact

Prof. Dr. Hans Georg Krauthäuser (hgk@ieee.org)
Chair for Electromagnetic Theory and Compatibility
Technische Universität Dresden, Dresden, Germany

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

temfield_mpylab-0.0.11.tar.gz (77.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

temfield_mpylab-0.0.11-py3-none-any.whl (36.7 kB view details)

Uploaded Python 3

File details

Details for the file temfield_mpylab-0.0.11.tar.gz.

File metadata

  • Download URL: temfield_mpylab-0.0.11.tar.gz
  • Upload date:
  • Size: 77.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.5

File hashes

Hashes for temfield_mpylab-0.0.11.tar.gz
Algorithm Hash digest
SHA256 9d97db1a7f999d2eb62fc6263fd4e0bfb425dd5ec4f4b0f08083685da901ad9c
MD5 696fb8a523250368603ae0e0010f414d
BLAKE2b-256 31ec81f6d2acb809ea868c67139b5e8568b5db16e0a7eca26e803e561c4d22d4

See more details on using hashes here.

File details

Details for the file temfield_mpylab-0.0.11-py3-none-any.whl.

File metadata

File hashes

Hashes for temfield_mpylab-0.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 08d3e17506cab820623fb190b6f16a134490a73fbec84d0fc47b236490f3420d
MD5 83b5f3b929e4a2f8678d8dd2d462fd77
BLAKE2b-256 1d09a997bd7cf72e267f8bdb68364833556e43e4c7d8bfbec7fc0703439f3858

See more details on using hashes here.

Release history Release notifications | RSS feed

0.0.12

2 files

This release

0.0.11 This release

2 files

0.0.10

2 files

0.0.9

2 files

0.0.8

2 files

0.0.7

2 files

0.0.6

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

0.0.2

2 files

0.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page