CIRCUIT COMPONENTS

noise

image

A circuit component that generates pseudo-random sparse sets.

Details and properties

  • The noise component has no input and returns one output block.
  • The dimension and population of the generated representations is governed by the outbound slot’s hyperparameters.


Property Default Description
send required a single output slot

Use standard style options to customize the component’s appearance in circuit schematics.

Additive noise

Add random noise to the input signal:

{ "hyperparameters": {"default": [1000, 10]},
  "dataflow": [
    {"component": "input", "send": [1]},
    {"component": "noise", "send": [2]},
    {"component": "output", "receive": [[1, 2]]}
  ]}

image

Subtractive noise

Use an inhibitory pathway to make the noise subtractive:

{ "hyperparameters": {"default": [1000, 10]},
  "dataflow": [
    {"component": "input", "send": [1]},
    {"component": "noise", "send": [2]},
    {"component": "output", "receive": [[1, {"slot": 2, "tags": ["inhibit"]}]]}
  ]}

image

Source code

def noise(config):
    n, p = config.get("send_blocks", [[0, 0]])[0]

    def f(*blocks):
        return (
            sorted(
                rng.choice(range(1, n + 1),
                    size=p,
                    replace=False).tolist()),
        )

    return {
        "function": f,
        "checks": ["input", "oneout"],
        "label": "~", "fill": 13, "size": 18
    }