Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

vyges-meas — CLI reference

Generated from vyges-meas --help. Do not edit by hand — run scripts/gen-cli-reference.sh.

vyges-meas — closed measurement kernels (coherent single-tone spectral, AC transfer)

usage:
  vyges-meas spectral SERIES --fundamental-bin N --metric snr|sinad|thd|sfdr
                             [--harmonics 2,3,4,5] [--clip LEVEL] [--target DB]
  vyges-meas transfer SWEEP  --metric gain|bandwidth|unity-frequency|phase-margin
                             [--target VALUE]
  vyges-meas demo            measure a synthesized coherent tone (no input files)

SERIES is one sample per line, in capture order. The record must be a power of two
between 8 and 65536 samples and must be COHERENTLY sampled: the fundamental has to
land exactly on a DFT bin, and --fundamental-bin says which. There is no window
function — a rectangular window is exact for a coherent capture, and a non-coherent
one is refused rather than silently smeared.

SWEEP is `hz gain_db phase_deg` per line, strictly increasing in frequency. Values
between points are interpolated in (log10 f, dB); nothing is extrapolated past the
swept range.

Every choice the method makes is documented in `vyges-meas --describe` and in the
module docs. These are Vyges definitions, NOT a claim of IEEE 1241/1658/1057
conformance.

flags:
  --fundamental-bin N   DFT bin the fundamental sits on (spectral; required)
  --metric M            which scalar to measure (required)
  --harmonics LIST      harmonic orders to account for, e.g. 2,3,4,5 (spectral)
  --clip LEVEL          treat |sample| >= LEVEL as clipped and refuse to measure
  --application WHAT    what the record measures: generic (default) | adc | dac | recorder.
                        Declaring it is what lets the result name a standard's scope; the tool
                        cannot infer from a list of numbers what device produced them, and
                        guessing would manufacture a standards claim out of nothing.
  --target VALUE        pass/fail threshold; SNR/SINAD/SFDR/gain want >= , THD <=
  -o FILE               write the report to FILE (default: stdout)
  --json                machine-readable JSON instead of the text report
  --describe            print a machine-readable JSON description of the command
  -h, --help · -V, --version

Contract

Generated from vyges-meas --describe.

meas

closed measurement kernels (coherent single-tone spectral, AC transfer)

Maturity: structured

spectral {series} --fundamental-bin {fundamental_bin} --metric {metric}
InputTypeRequiredDescription
seriesstringyescaptured time series, one sample per line
fundamental_binstringyesDFT bin the fundamental sits on
metricstringyessnr | sinad | thd | sfdr
harmonicsstringnoharmonic orders to account for, e.g. 2,3,4,5
clipstringnotreat |sample| >= this as clipped and refuse
applicationstringnogeneric | adc | dac | recorder — decides which standard’s scope the result may name
targetstringnopass/fail threshold in dB
outstringnowrite the report to FILE instead of stdout

Consumes: series, ac_sweep

Artifacts: measurement_report (report_path)

Assertion: measurement-meets-target — passes when met is true

Provenance limitations

  • input_hash covers the argument vector, not the content of the series or sweep file it names.
  • The measurement describes the record it was given; it cannot tell whether that record was captured coherently, and a non-coherent capture is refused rather than detected.
  • The application (adc/dac/recorder) is taken from the caller, not detected: the alignment claim is only as sound as that declaration.