More Samples, More Control — FIR Filters

Our first filters used two samples. Now remember four. Each remembered sample becomes a tap, and each tap gets a coefficient: simply a number saying how much that sample contributes.

See it + hear it: drag the four coefficients and watch the frequency response change immediately.

1. Four taps

x[n] → z−1 → z−1 → z−1
↓ ×c0    ↓ ×c1    ↓ ×c2    ↓ ×c3
└────────→ Σ → y[n]

2. Coefficient playground

NOW
0.250
1 sample ago
0.250
2 samples ago
0.250
3 samples ago
0.250
The coefficients are also the impulse response. Their pattern through time determines which frequencies reinforce and which cancel.
Why are useful coefficients hard to guess?

Simple patterns can be intuitive: 0.5, 0.5 averages neighbouring samples and gives us our simple low-pass, while 0.5, −0.5 takes their difference and gives us our simple high-pass.

With more taps, however, every coefficient interacts with every frequency differently. Small changes can create peaks, dips and notches that are difficult to predict just by looking at the numbers.

This is why practical filters are usually designed the other way around: we describe the frequency response we want, and filter-design mathematics calculates suitable coefficients for us.

Why are they called taps?

Think of the stored samples as a delay line. Each tap simply takes a value from a different point in that stored history.

INPUT → ● → z−1 → ● → z−1 → ● → z−1 → ●
      ↓             ↓                   ↓                         ↓
     ×c0        ×c1        ×c2        ×c3

Our FIR filter taps are only one sample apart, but taps can also be taken much further back in time. Then the same basic idea becomes a multi-tap delay.

Same idea: look into the past → multiply → add. We'll meet this again in early reflections, reverb and convolution.

3. Hear your filter

4. What have we added?

Tap
A point in stored input history.
Coefficient
A multiplier: how much that tap contributes.
FIR
Finite Impulse Response. No previous output is fed back here.
Order
Four taps have a longest delay of three samples: a 3rd-order FIR.
DSP toolbox: STORE + MULTIPLY + ADD. Nothing fundamentally new — just more of them.