Convolution
Canonical Definition
Convolution combines an input signal with a system impulse response so each input sample contributes a scaled and shifted copy of that impulse response to the output. For a linear time-invariant discrete system, convolution fully describes how the system transforms the input and is the direct computational form of FIR filtering.
Discrete Form
y[n] = Σ x[k]h[n-k]
Here x is the input and h is the impulse response. If the input is a single unit impulse, the output is the coefficient set itself.
What Convolution Can Model
- an FIR crossover or equalizer
- a measured linear impulse response
- a cabinet, speaker, microphone, or acoustic-path response within its valid condition
- magnitude and phase behavior contained in the coefficient set
A single fixed impulse response does not model clipping, compression, thermal drift, protection, or other nonlinear or time-varying behavior.
Direct And FFT Processing
| Method | Strength | Important limit |
|---|---|---|
| Direct convolution | Simple sample-by-sample implementation | Instruction cost grows directly with tap count |
| FFT overlap-add or overlap-save | Efficient for long filters | Requires correct padding and block handling |
| Partitioned convolution | Balances long filters with manageable real-time latency | Partition size adds buffer and scheduling tradeoffs |
Correct implementations produce the same intended linear filter. Their CPU, memory, and processing latency differ.
Common Import Problems
- sample-rate mismatch
- wrong channel order or coefficient direction
- unwanted bulk delay, calibration data, noise, reflections, or DC in a measured impulse
- normalization that creates excessive peak gain
- circular wraparound from insufficient zero padding
- block latency confused with the impulse-response time support
Verification Workflow
- Record the impulse source, sample rate, length, channel, windows, time reference, and normalization.
- Calculate or inspect peak gain and DC response before loading.
- Load with outputs muted and verify a low-level impulse or swept-sine response.
- Measure magnitude, phase, impulse response, group delay, and total latency.
- Confirm the physical analog output remains clean and the model is still valid for the operating condition.