Skip to content

What is a system?

See a system as a rule that turns one signal into another, built from four blocks you already know.

Before thisOperations on amplitude (2.2)

Before this2.2
Chapter 4 · Lesson 1 of 2

First, the picture

Here is one input trace and a box it passes through. Try each of the three boxes on the same input, and watch what comes out.

A system turns an input into an output

Pick a system and watch the same input come out different.

Amplifier: doubles it
System
Describe this picture

Two traces of samples: the input above, which never changes, and the output below. Three “System” buttons choose the box between them: “Amplifier”, “Echo” and “Averager”.

A system turns an input into an output

So far, every page has been about a signal on its own. Now I want to turn to what happens when a signal passes through something. A guitar pedal takes a dry, thin signal from the pickup and hands back something fatter, or echoing, or fuzzed out. A phone quietly strips the hiss from your voice before it ever reaches the other end. A thermostat watches the room’s temperature and decides, moment by moment, whether to turn the furnace on. Every one of these is doing the same kind of thing: taking a signal in, and handing a signal out, by some fixed rule.

That’s what I mean by a system. I’ll write it as

y=T{x}y = T\{x\}

where xx is the input signal, TT is the rule the system applies (the box itself, whatever is inside it), and yy is the output signal that comes out. I don’t need to know what’s wired up inside TT to use this idea. I only need to know what it does to whatever comes in: feed it the same input twice, and it hands back the same output twice.

Go back to the three boxes at the top of the page. The input never changes, only the box between it and the output does: the amplifier makes every sample bigger with the same shape, the echo lays a quieter, delayed copy on top, and the averager smooths sharp jumps into a gentler slope. Same xx, three different rules TT, three different yy.

The four elementary blocks

Systems look intimidating until you notice most of them are built from pieces you’ve already met. A gain block multiplies every sample by a constant, exactly the scaling from the amplitude-operations page. A delay block shifts a signal later in time, the same shift you already know from moving a signal around. An adder adds two signals together sample by sample, and a multiplier multiplies two signals together sample by sample. Four blocks, four operations you already own, now drawn as a labeled box with an arrow in and an arrow out: that arrow-and-box picture is called a block diagram.

Cycle through gain, delay, adder and multiplier.

The four elementary blocks

Gain, delay, adder and multiplier: operations you already know, now drawn as boxes.

Gain: multiply by 2
Block
Describe this picture

Four “Block” buttons, “Gain”, “Delay”, “Adder” and “Multiplier”. Each shows its input trace, or two input traces for the adder and the multiplier, the block drawn as a labelled box, and the block’s output trace.

Notice each box’s output is nothing new: it’s exactly the operation its label says, just drawn as a picture instead of written as an equation.

Wiring blocks together

Once you have a handful of blocks, how you wire them together matters as much as which blocks you picked. Wiring blocks in series feeds one block’s output straight into the next block’s input, so the effects stack up in order: everything the first block did happens, and then everything the second block does happens to that result. Wiring blocks in parallel feeds the same input to both blocks at once, and adds their two outputs together at the end, so both effects happen side by side rather than one after the other.

Switch between series and parallel on a fixed gain block and delay block.

Wiring blocks together

The same two blocks, wired two different ways.

Input
Gain: multiply by 2
Delay: shift by 3
Output
inputoutput
Wiring
Describe this picture

A block diagram and a plot of samples, with two “Wiring” buttons, “Series” and “Parallel”. In series the input runs through “Gain: multiply by 2”, then “Delay: shift by 3”, to the output. In parallel the input feeds both blocks at once, and “Adder: add the two paths” joins them. The plot draws the input in grey and the output in colour.

Notice the two wirings produce visibly different output traces from the exact same two blocks: the wiring, not only the blocks themselves, decides what the whole system does.

Order matters, again

Wiring two blocks in series raises a question you’ve already run into once: does the order you wire them in change the answer? For a gain block and a delay block, no: multiplying by a constant and then shifting in time gives the same result as shifting first and then multiplying, because gain doesn’t care when it happens. But keep the delay block and swap the gain block for a block that speeds up time instead, and order suddenly matters, exactly like the shift-then-scale example from the time-transformations page.

Switch between Delay by 4, then speed up 2× and Speed up 2×, then delay by 4 on a fixed delay block and speed-up block.

Order matters, again

The same delay block and scale block, chained in a different order.

Input
Delay: shift by 4
Scale: speed up 2x
Output
Order
Peak lands at
t = 3.5
Describe this picture

A delay block and a speed-up block chained in the order chosen with the two “Order” buttons, “Delay by 4, then speed up 2×” and “Speed up 2×, then delay by 4”, and a plot of the result. The readout “Peak lands at” gives the time of its peak.

Notice the Peak lands at readout gives two different times for the exact same two blocks, only reordered: delay first lands the peak at one place, and scaling first lands it somewhere else entirely.

Feedback: wiring the output back in

There’s one more way to wire a system, and it’s the strangest one: feed a block’s own output back into its own input. A feedback connection does exactly that, usually running the output back through a gain block before it rejoins the input at an adder. Once you do this, each new output depends not only on the current input but on the system’s own past outputs, which is exactly how a running total (adding each new number to everything you’ve added so far) gets built.

Drag Feedback gain from a low value up past 1, and watch the echoes.

Feedback: wiring the output back in

A single input sample, fed through an adder and a delay, again and again.

Input
Adder
Output
Output feeds back through
Gain: 0.5
into the adder
0.5
Behavior
settling
Last echo
0.01
Describe this picture

A block diagram: the input enters an adder, the adder’s output is the output, and the output feeds back through a gain block into the adder. Below it, a plot of the first 8 output samples for a single input sample. The “Feedback gain” slider runs from 0 to 1.5, and two readouts show “Behavior”, settling or growing, and “Last echo”.

Notice the Behavior readout flips from settling to growing, and the Last echo readout stops shrinking toward zero and starts climbing instead: below a gain of 1 the repeated echoes die out, and at or above 1 they never shrink, or even grow without bound. That’s your first look at a question the next page makes precise: which rules keep a system’s output under control.

Worked example

Here’s the gain-and-delay claim from the “Order matters” section, checked with real numbers. Feed a single sample of size 1 at time n=0n=0 into a gain block of 3 and a delay block of 2, wired in series either order.

Gain, then delay. The gain block turns the sample into 33 at n=0n=0. The delay block then shifts that value 2 steps later, so the output is 33 at n=2n=2, and 00 everywhere else.

Delay, then gain. The delay block first shifts the sample 2 steps later, giving 11 at n=2n=2. The gain block then multiplies by 3, giving 33 at n=2n=2, the same answer as before.

Gain and delay always commute like this. Compare that with the order instrument above, where a delay block and a speed-up block gave two different answers depending on order: gain and delay are the exception, not the rule.

Where you’ll meet this

Almost every piece of audio gear you’ve touched is a small system: an equalizer, a compressor, a reverb unit, all turn an input signal into an output signal by some fixed rule, usually built from blocks like the ones above. Feedback loops show up just as often outside audio: a microphone too close to its own speaker howls because its own output keeps feeding back into its input, and a bank account’s running balance is a tame feedback loop that adds each day’s deposit to yesterday’s total.

The maths behind it · linear maps

A block diagram built only from gain blocks and adders, with no delay and no feedback, is exactly matrix-vector multiplication: each output is a fixed combination of the inputs. Linear algebra calls that a linear map.

Not every system behaves as nicely as the ones here. The next page asks which rules these systems follow: does doubling the input double the output, does delaying the input just delay the output by the same amount, and does a bounded input always keep the output bounded, or can it grow without limit like the feedback loop above.

Reference card

BlockFormulaNotes
Gainy[n]=a x[n]y[n] = a\,x[n]multiply by a constant
Delayy[n]=x[n−n0]y[n] = x[n - n_0]shift later in time
Addery[n]=x1[n]+x2[n]y[n] = x_1[n] + x_2[n]add sample by sample
Multipliery[n]=x1[n] x2[n]y[n] = x_1[n]\,x_2[n]multiply sample by sample
Seriesy=T2{T1{x}}y = T_2\{T_1\{x\}\}one block’s output feeds the next’s input
Parallely=T1{x}+T2{x}y = T_1\{x\} + T_2\{x\}same input to both, outputs added
Feedback (gain-delay loop)y[n]=x[n]+a y[n−1]y[n] = x[n] + a\,y[n-1]settles if ∣a∣<1\lvert a\rvert < 1; grows without bound if ∣a∣≥1\lvert a\rvert \ge 1

End of lesson 4.1

Where to go next.

Phasorium
LibraryEvery lesson, in order

Parts

About Phasorium
Look