36 lines
1.9 KiB
Plaintext
36 lines
1.9 KiB
Plaintext
<b>Math channels</b>
|
|
|
|
A math channel is a signal computed from other signals. You build it as a small graph — source
|
|
nodes, operations, one output — and udpscope then treats the result as an ordinary channel.
|
|
|
|
<b>How to reach it</b>
|
|
|
|
The math button in the toolbar, or <tt>g</tt>. The pane's <tt>+</tt> adds a channel; opening one
|
|
shows the graph editor: nodes as boxes, click a box to select it and edit its parameters beside
|
|
the canvas, click an output port then an input port to wire them, drag a box to move it. The
|
|
orange dot marks the output node.
|
|
|
|
<b>Worth knowing</b>
|
|
|
|
• The graph is evaluated as an ordered list, so a node may only read ones <i>above</i> it. A
|
|
cycle is impossible by construction rather than rejected by a check.
|
|
• A derived channel <i>is</i> a channel. It appears in the signal panel, can be plotted,
|
|
measured, exported, and used as a source for another math channel.
|
|
• The math runs on the <b>stored</b> samples — decimated and averaged — so a cutoff you type in
|
|
Hz means the rate the filter will actually run at. Change the window across a decimation
|
|
boundary and the coefficients are rebuilt for the new rate.
|
|
• A source may only name an <i>acquired</i> channel. The stream's timestamp signal is not one:
|
|
a graph sourced from it validates and then reads NaN for ever, so the dropdown does not
|
|
offer it.
|
|
• The output defaults to the <i>last</i> node, and a node added to a linear graph becomes the
|
|
output. Choosing an earlier node explicitly is respected.
|
|
• Every numeric field starts at its own identity value — gain 1, offset 0 — not at the bottom
|
|
of its range.
|
|
|
|
<b>Example</b>
|
|
|
|
<tt>[sine] → [gain x2]</tt> gives a channel reading <tt>y=[-2, 2]</tt>. A 100 Hz low pass on the
|
|
same source passes 50 Hz at 0.97 and 2 kHz at 0.002; a 1 kHz band pass with Q=2 passes 200 Hz at
|
|
0.05, 1 kHz at 0.95 and 4 kHz at 0.05. Each derived channel must hold exactly as many samples as
|
|
the shared clock has time slots.
|