The ARC A.N.N. is a eurorack synthesizer module
comprised of several submodules for programmable
logic, c.v., processing and wave shaping.
Let's look at the submodules in detail and
then explore some patch examples.
The A.N.N. features two identical Boolean
Logic Neuron submodules.
The design of these submodules is functionally
based on the Dual Logic Units found on the
E.A.B. Video Lab modular video synthesizer.
Each Boolean Logic Neuron functions as a two
input AND/NAND gate, with inhibit, non inverted
and inverted outputs.
Here is a look at the truth table for the
submodule.
The A.N.N. features two identical Threshold
Logic Neuron submodules, based on the design
of the McCulloch-Pitts nervous system model
of the 1940s.
In a biological neuron, information received
from the synapses is weighted by the dendrites.
This information is then summed in the soma
and pulses are fired when a threshold is met
in the axon.
In the artificial neuron model we can see
this same flow, from input to weight, summing
to a threshold and then to the output.
For the purposes of modular synthesizers,
the Threshold Logic Neuron represents a flexible
patch-programmable logic gate.
Interactions between the two Threshold Logic
Neurons and the various other submodules of
the A.N.N. can create and process complex
pulse patterns.
Each input channel of the neuron features
a manual pushbutton that gates plus 5 volts
to the associated input.  Inputs also have separate
LED indicators.
Each neuron has three input channels, each
with a separate weight control.
The channels are then summed with a threshold
activation value set by this potentiometer.
The output available here is a transfer function
based on the interaction of the weighted inputs
and threshold.
The outputs are logic level, either 0 or 5
volts, with an associated LED indicator.
This submodule contains two identical Schmitt
triggers.
Dr. Otto H. Schmitt developed the thermionic
trigger while researching squid axons in the
1930s.
In the ensuing years, his design has been
used extensively in communications and switching
to process noisy signals.
The Schmitt trigger is a specialized comparator
with hysteresis.
The input signal is compared against an internal
upper and lower threshold.
When the input signal crosses the upper threshold
of approximately 2.6 volts, it is held high
at 5 volts.
When it crosses the lower threshold of approximately
2.1 volts, it is held low at 0 volts.
In a modular synthesizer a Schmitt trigger
can be useful for squaring up waveforms, extracting
gates from audio or c.v. sources, or as a
utility square wave generator.
Each Schmitt trigger has one input and one
output.
The outputs are logic level, either 0 or 5
volts.
The comparator takes two analogue input signals and outputs a logic level signal,
indicating which of the two inputs is greater.  The bottom input is normalled to plus 5 volts.
Inserting an external signal will set the
reference voltage of the comparator.
The top input is compared against this reference
voltage.
If the top signal is higher, then a 5 volt
logic signal will appear at the output, as
indicated by the associated LED.
This submodule has two identical logic level
inverters.
The inputs take a logic level signal, either
0 or 5 volts, and invert that signal at the
output.
The Threshold Logic Neurons can be programmed
to perform a great number of Boolean logic
functions.
Lets first look at the Boolean expression
A+(BC).
To perform this, we need to consider the interaction
of the summed inputs versus the threshold
level we will set.
With the controls set as illustrated, our
neuron model would look like this.
A pulse to the A input with a weight of 2
would overcome the activation threshold of
1.5 and we would have a pulse at the output,
making the statement true.
Pulses sent to the B or C inputs with a weight
of 1 would not overcome the threshold, making
the statement false.
However, pulses at both C and B would have their weight summed 1+1=2, satisfying
the expression and giving us a pulse at the
output.
A three input neuron has 8 possible input
state permutations, so lets look at the truth
table for the expression we have set up.
Of course, fewer than three inputs can be
used.
A NOT gate can be implemented with one input,
AND and OR with two.
More complex expressions can be solved by
internally patching the submodules of the
A.N.N., or any number of additional A.N.N.
modules.
Utilizing a mult, or patch cables that can
be stacked, we can also explore sequential
logic and delay gates, creating a single bit
memory.
As you can see, we have fed the output of
the neuron back into the C input.
A pulse of any duration at the A input will
start a loop that can only be stopped by pulsing
the B input.
Stacking neurons in this configuration will
create a delay of N time period.
To create a latch, we can take one of our
single bit memory circuits and send its output
to a second neuron.
Here is a quick look at a few more Boolean
expressions and how we would program them
with the Threshold Logic Neuron.
A 3 input AND gate can be made by cross patching
the two Boolean Logic Neurons.
More information, patch examples and further
reading is available in the A.N.N. manual,
found at the ARC website.
