Skip to content

ardirec v0.2.0-alpha.13 — Calculation Parity Hotfix

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 23 Aug 19:32
· 315 commits to main since this release
796018d

alpha.13 is a calculation-parity hotfix driven by a side-by-side check against the SIGRA line1.CFG sample at the same trigger cursor.

What the audit proved:

  • COMTRADE decoding/scaling was already sound: H1 RMS and H2/H3/H5 ratios matched the reference values.
  • Phase-angle presentation used the wrong reference convention.
  • Table Extremum used max-absolute-in-cycle instead of the last completed turning point.
  • Compact DC was shown as absolute V/A while the reference table was configured for DC percent of H1.
  • THD could be grossly inflated when a user requested harmonic orders above the record Nyquist limit.

Fixes:

  • Phase is now sine-wave phase position at the cursor/reference instant for Table/Harmonics and the vector display.
  • Harmonic requests are automatically clipped to the physically resolvable Nyquist order. A 1 kHz / 50 Hz record stops at H10, so aliased H11+ can no longer be double-counted in THD.
  • Table uses Last extremum semantics: the latest completed local max/min before the cursor.
  • Default Table DC presentation is percent of H1; signed absolute DC remains available in Detailed mode.
  • Table exposes the sample rate and actual THD harmonic limit for auditability.
  • Deterministic tests cover phase reference, Nyquist clipping, alias-safe THD and last-extreme selection.

Windows development distribution remains a portable ZIP folder. The executable is unsigned, so Windows SmartScreen may show a warning.

What's Changed

  • fix: alpha.13 calculation parity with SIGRA table semantics by @masarray in #19

Full Changelog: v0.2.0-alpha.12...v0.2.0-alpha.13