Convolution is one of the main operations that shows up whenever a system has memory.
At a high level, convolution answers this question:
How much does each past input contribute to the present output?
The answer depends on two things:
input signal: u(t)
system response: h(t)
The input signal tells us what arrived over time.
The system response tells us how the system reacts to an input after it arrives.
The convolution of and is written as:
This equation says:
To compute the output at time t,
look at every input value u(τ),
weight it by how the system responds after delay t - τ,
then add all those contributions together.
The variable is the time when the input happened.
The value is the age of that input relative to the current time .
So:
u(τ) = input that happened at time τ
h(t - τ) = how much that input still matters at time t
Convolution is therefore a weighted history of input.
Why convolution is written from to
The most general definition is:
This is the full mathematical definition.
It considers all possible times:
past
present
future
But real-time systems usually cannot depend on future input.
A physical system, filter, controller, or online model at time should not depend on something that happens after .
That brings us to causal convolution.
Causal convolution
A system is causal if its output at time only depends on inputs from time or earlier.
In other words:
present output depends on past and present input
present output does not depend on future input
For a causal system, the impulse response is zero before time zero:
This means the system does not respond before the input arrives.
A cleaner way to write a causal impulse response is:
where:
is the unit step condition that makes the response zero before .
Now look again at the convolution:
For to be nonzero, we need:
which means:
So only inputs from the past can contribute.
If the system starts at time , then we usually also assume:
So the only part of the integral that matters is:
Therefore, for a causal system starting at , convolution becomes:
This is causal convolution.
It is not a different idea from full convolution. It is the same operation, but with the impossible parts removed.
Full convolution:
Causal convolution starting at :
The reason is simple:
future input cannot affect the present,
and input before the system starts is assumed to be zero.
Impulse response
The function is called the impulse response.
It tells us how the system responds to a tiny input placed at time zero.
Once we know , we know how the system responds to any input , because any input can be treated as a collection of small impulses spread over time.
Each small input creates a shifted response:
Then convolution adds all those shifted responses together.
That is why convolution appears everywhere in linear time-invariant systems.
The system does not need a new rule for every possible input.
It only needs one response function:
Then every output is built by convolution:
Example: the leaky integrator
A leaky integrator is a simple dynamic system:
The state is .
The input is .
The constant controls how quickly the state leaks away.
If there is no input, then:
and the solution is:
So the initial state fades exponentially.
Large means fast decay.
Small means slow decay.
Now include input . The solution becomes:
This has two parts.
The first part:
is the surviving contribution of the initial state.
The second part:
is the accumulated contribution of past input.
This second part is convolution.
The impulse response is:
So the driven response is:
Substituting :
This shows exactly what the leaky integrator stores:
a fading record of past input
Recent inputs have small age , so:
Old inputs have large age , so:
The leaky integrator does not remember all inputs equally.
It remembers through an exponential weighting.
Convolution and transfer functions
In the time domain, the output is convolution:
In the Laplace domain, convolution becomes multiplication:
This is one of the main reasons the Laplace transform is useful.
It turns a history operation into an algebraic operation.
For the leaky integrator:
The Laplace transform is:
So instead of writing:
we can write:
The time-domain view says:
the system accumulates a fading history
The Laplace-domain view says:
the system multiplies the input by a transfer function
They are the same system viewed through two different representations.
Discrete convolution
Convolution also appears in discrete time.
Instead of continuous time , we have steps:
The discrete convolution is:
For a causal system starting at , this becomes:
This is the same idea as the continuous version:
current output = sum of past inputs weighted by age
The integral becomes a sum.
The logic stays the same.
The core mental model
Convolution is not just a formula.
It is a way to describe how a system builds the present from the past.
The general form is:
The causal form is:
The meaning is:
Each past input contributes to the present output.
The contribution depends on how old the input is.
The weighting function is the system response.
So whenever convolution appears, ask:
What is the input?
What is the response kernel?
What is being accumulated?
What does the system remember?
What gets forgotten?
Is the system causal?
That is usually enough to understand why convolution is there.
Summary
Full convolution:
Causal convolution:
Leaky integrator kernel:
Leaky integrator response:
Laplace-domain version:
Main idea:
Convolution is weighted history.
Causal convolution is weighted past history.