Unzip (Split Signal)

Shipping
unzip_signal

Split a Signal into X (timestamps), Y (values), and σ (std-dev) as three Vectors

Signature

Inputs

  • signalSignal|VectorrequiredA Signal (or a bare Vector, whose X becomes the row index and σ becomes zeros).

Outputs

  • xVectorTimestamps (the independent axis); unit = the x_unit label.
  • yVectorValues (the data), carrying the signal's unit.
  • sigmaVectorPer-sample σ = √variance, in the value unit; all-zeros for an exact signal.

Parameters

KeyTypeDefaultNotes
x_unittextUnit symbol applied to the X output vector. A Signal stores no X unit, so this is purely a cosmetic label (e.g. "s"). Empty = unitless.

Description

Unzip is the exact inverse of Zip (zip_signal): it splits a Signal into its three underlying 1-D arrays and exposes them as first-class Vectors the rest of the graph can reindex, filter, or feed back into Zip:

  • x — the timestamps (the independent axis);
  • y — the values (the data), carrying the signal's unit;
  • sigma — the per-sample standard deviation , in the value unit.

Because a Signal is stored structure-of-arrays, unzipping simply exposes its columns — cheap and lossless. An exact signal (no variance) yields an all-zero σ (never fabricated). A bare Vector input is also accepted (the degenerate case): x becomes the row index , y is the data, and σ is zero — so Unzip never fails on an array with no explicit axis. The node is stateless.

Mathematics

Examples

Split a signal with uncertainty

Feed a Signal with values V and variance . Unzip (with x_unit = "s") outputs X = the timestamps (unit s), Y V, and σ V — the √ of the stored variance.

Unzip a bare array

Feed a Vector (kg). Unzip yields X (index axis), Y kg, and σ .

Applications

  • Exposing a signal's X and Y columns for element-wise array math or reindexing that operates on plain vectors.
  • Recovering per-sample error bars (σ) from a signal for plotting or downstream uncertainty analysis.
  • Round-tripping through Zip / Unzip to reorder, subset, or resample (X, Y) pairs and rebuild the signal.
  • Feeding a signal's raw timestamps into an axis-generation or interval-measurement node.

Neat

σ is derived as √(max(variance, 0)) per sample — the clamp guards against a tiny negative variance from upstream numerical error yielding a NaN standard deviation.

A Signal stores no X unit, so the X output's unit is a pure cosmetic label supplied by x_unit; the Y and σ outputs both inherit the signal's real value unit.

An exact (variance-free) signal emits a genuinely all-zero σ vector — the node never invents uncertainty that was not measured.

See also

bundlessignalsplit-xyunzipuncertaintystateless