The Central Idea
For suitable functions \(f\) and \(g\), their convolution is written
\[ \boxed{ (f*g)(t) =\int_{-\infty}^{\infty} f(\tau)g(t-\tau)\,d\tau }. \]The symbol \(*\) does not mean ordinary multiplication. It represents a new operation. For each value of \(t\), one function is shifted relative to the other, their overlapping values are multiplied, and those products are added by integration.
The broad pattern is
\[ \boxed{ \text{shift}\;\longrightarrow\;\text{multiply}\;\longrightarrow\;\text{accumulate} }. \]Why Convolution Appears So Often
Many systems do not respond to an input at only one instant. Their present output depends on contributions from earlier inputs. Convolution provides a systematic way to add those delayed contributions.
Examples include:
- an electrical circuit responding to a changing voltage;
- a mechanical system responding to forces applied over time;
- a camera blur spreading the influence of one point across nearby pixels;
- a moving-average filter combining neighboring data values;
- a probability distribution formed from the sum of independent random variables;
- a differential equation driven by a time-dependent input;
- a communication channel altering a transmitted signal.
In each case, one object describes the input and another describes how influence is distributed or propagated.
The Roles of \(t\) and \(\tau\)
In
\[ (f*g)(t)=\int_{-\infty}^{\infty}f(\tau)g(t-\tau)\,d\tau, \]the variable \(t\) identifies the output location or output time. The variable \(\tau\) is a temporary integration variable.
For each fixed \(t\), the factor \(g(t-\tau)\) is viewed as a shifted and reflected version of \(g\) as a function of \(\tau\). The integral measures the total overlap between \(f(\tau)\) and that shifted copy.
Flip, Shift, Multiply, Integrate
A useful graphical interpretation of continuous convolution is:
- start with one function, say \(g(\tau)\);
- reflect it to obtain \(g(-\tau)\);
- shift it by \(t\) to obtain \(g(t-\tau)\);
- multiply it pointwise by \(f(\tau)\);
- integrate the product over all \(\tau\).
Repeating this process for different values of \(t\) constructs the entire convolution function.
A Causal Form of Convolution
In many time-dependent applications, functions are zero before \(t=0\). If \(f(t)=0\) and \(g(t)=0\) for \(t<0\), then the convolution simplifies to
\[ \boxed{ (f*g)(t)=\int_0^t f(\tau)g(t-\tau)\,d\tau, \qquad t\ge0 }. \]This is the form that naturally appears with the one-sided Laplace transform. Only past and present contributions are included; future values do not affect the current output.
Example: Convolving Two Constants on \(t\ge0\)
Let
\[ f(t)=1, \qquad g(t)=1 \]for \(t\ge0\), with both functions zero for negative time. Then
\[ (f*g)(t) =\int_0^t 1\cdot1\,d\tau. \]Therefore,
\[ \boxed{ (f*g)(t)=t }. \]The output grows linearly because the interval over which the two causal functions overlap has length \(t\).
Example: Two Exponentials
Let
\[ f(t)=e^{-at}, \qquad g(t)=e^{-bt}, \qquad t\ge0, \]where \(a\ne b\). Then
\[ (f*g)(t) =\int_0^t e^{-a\tau}e^{-b(t-\tau)}\,d\tau. \]Factor out \(e^{-bt}\):
\[ (f*g)(t) =e^{-bt}\int_0^t e^{-(a-b)\tau}\,d\tau. \]Evaluating the integral gives
\[ \boxed{ (f*g)(t) =\frac{e^{-bt}-e^{-at}}{a-b} }. \]Equivalently,
\[ (f*g)(t) =\frac{e^{-at}-e^{-bt}}{b-a}. \]The Equal-Rate Exponential Case
If the decay rates are equal, let
\[ f(t)=g(t)=e^{-at}. \]Then
\[ (f*g)(t) =\int_0^t e^{-a\tau}e^{-a(t-\tau)}\,d\tau. \]The exponential factors simplify:
\[ e^{-a\tau}e^{-a(t-\tau)}=e^{-at}. \]Hence,
\[ \boxed{ (f*g)(t)=te^{-at} }. \]Convolution Is Commutative
For suitable functions,
\[ \boxed{ f*g=g*f }. \]Starting from
\[ (f*g)(t)=\int_{-\infty}^{\infty}f(\tau)g(t-\tau)\,d\tau, \]the substitution \(u=t-\tau\) reverses the roles of the two functions. This matters computationally because we may choose whichever arrangement makes an example easier to visualize or evaluate.
Convolution Is Associative
When the required integrals exist,
\[ \boxed{ (f*g)*h=f*(g*h) }. \]This property allows a sequence of linear systems to be combined without changing the final result. Three separate responses may be grouped in whichever order is convenient.
Convolution Is Distributive
Convolution distributes over addition:
\[ \boxed{ f*(g+h)=f*g+f*h }. \]It also respects scalar multiplication:
\[ (cf)*g=c(f*g)=f*(cg). \]These properties are part of why convolution fits so naturally into linear systems and transform analysis.
The Impulse as the Identity for Convolution
The Dirac delta \(\delta(t)\) acts as an identity element under convolution:
\[ \boxed{ f*\delta=f }. \]More generally,
\[ f*\delta(t-a)=f(t-a). \]Convolution with a shifted impulse therefore produces a shifted copy of the original function. This observation is central to the impulse-response view of linear systems.
Linear Time-Invariant Systems
A linear time-invariant system, often abbreviated LTI system, is completely characterized by its response to an impulse. That response is called the impulse response and is commonly written \(h(t)\).
If the input is \(x(t)\), then the output is
\[ \boxed{ y(t)=(x*h)(t) }. \]This equation says that the output is a weighted accumulation of shifted copies of the impulse response.
Why the Impulse Response Determines the Output
A signal can be represented formally as a continuous collection of shifted impulses:
\[ x(t) =\int_{-\infty}^{\infty} x(\tau)\delta(t-\tau)\,d\tau. \]If the system is linear and time invariant, the response to \(\delta(t-\tau)\) is \(h(t-\tau)\). Weighting by \(x(\tau)\) and adding all contributions gives
\[ y(t) =\int_{-\infty}^{\infty} x(\tau)h(t-\tau)\,d\tau. \]That is precisely the convolution \(x*h\).
Convolution as Memory
For a causal system,
\[ y(t)=\int_0^t x(\tau)h(t-\tau)\,d\tau. \]The output at time \(t\) depends on earlier input values \(x(\tau)\). The impulse response determines how strongly each past value still influences the present.
A rapidly decaying \(h\) corresponds to short memory. A slowly decaying \(h\) corresponds to longer memory.
Rectangular Pulses Produce a Triangle
Let \(r(t)\) be the unit-width pulse
\[ r(t)= \begin{cases} 1,&0\le t\le1,\\ 0,&\text{otherwise}. \end{cases} \]The convolution \(r*r\) measures the overlap length between two unit-width intervals as one slides past the other. The result is
\[ \boxed{ (r*r)(t)= \begin{cases} 0,&t<0,\\ t,&0\le t\le1,\\ 2-t,&1\le t\le2,\\ 0,&t>2. \end{cases} }. \]Two rectangles convolve to produce a triangular function. This is an important example of how convolution changes shape by accumulating overlap.
Support of a Convolution
The support of a function is the region where it is nonzero. If \(f\) is supported on an interval \([a,b]\) and \(g\) is supported on \([c,d]\), then their convolution is supported within
\[ \boxed{ [a+c,\,b+d] }. \]This rule is easy to interpret: overlap can occur only when the shifted supports reach one another.
Convolution and Smoothing
If \(g\) is a smooth averaging kernel, then \(f*g\) often smooths rapid fluctuations in \(f\). The convolution replaces each output value with a weighted combination of nearby input values.
A basic normalized averaging kernel satisfies
\[ g(t)\ge0, \qquad \int_{-\infty}^{\infty}g(t)\,dt=1. \]Then \((f*g)(t)\) can be interpreted as a local weighted average of \(f\).
The Gaussian Kernel
A particularly important smoothing kernel is the Gaussian
\[ g_\sigma(t) =\frac{1}{\sqrt{2\pi}\sigma} e^{-t^2/(2\sigma^2)}. \]Convolution with a Gaussian suppresses fine-scale variation while preserving a smoothly weighted version of the underlying structure. In imaging, statistics, heat diffusion, and signal processing, Gaussian convolution is a standard smoothing operation.
Discrete Convolution
For discrete sequences \(x[n]\) and \(h[n]\), convolution becomes a sum rather than an integral:
\[ \boxed{ (x*h)[n] =\sum_{k=-\infty}^{\infty} x[k]h[n-k] }. \]The interpretation remains the same: shift one sequence, multiply overlapping samples, and add the products.
Finite Discrete Convolution
Suppose \(x\) has \(N\) samples and \(h\) has \(M\) samples. Their ordinary linear convolution has
\[ \boxed{ N+M-1 } \]samples when neither sequence is identically zero at its ends.
This length rule is a useful computational check. It also reflects the support rule for continuous convolution.
Example: Discrete Convolution
Let
\[ x=[1,2,1] \]and
\[ h=[1,1]. \]The output has \(3+2-1=4\) samples. Compute each one:
\[ y[0]=1(1)=1, \] \[ y[1]=1(1)+2(1)=3, \] \[ y[2]=2(1)+1(1)=3, \] \[ y[3]=1(1)=1. \]Therefore,
\[ \boxed{ x*h=[1,3,3,1] }. \]A Moving-Average Filter
Consider the three-point averaging kernel
\[ h[n]=\frac13[1,1,1]. \]Convolving a data sequence with this kernel replaces each interior output sample with an average of three neighboring input contributions. Rapid sample-to-sample variation is reduced, while slower trends remain more visible.
Convolution therefore provides a direct mathematical description of many digital filters.
Continuous and Discrete Forms Side by Side
Continuous convolution uses an integral:
\[ (f*g)(t) =\int_{-\infty}^{\infty} f(\tau)g(t-\tau)\,d\tau. \]Discrete convolution uses a sum:
\[ (x*h)[n] =\sum_{k=-\infty}^{\infty} x[k]h[n-k]. \]The underlying structure is identical. Integration is replaced by summation, and continuous shifts are replaced by integer sample shifts.
The Fourier Convolution Theorem
Suppose
\[ \mathcal F\{f\}=F \qquad\text{and}\qquad \mathcal F\{g\}=G. \]Then, under the chosen transform convention,
\[ \boxed{ \mathcal F\{f*g\} =FG }. \]Convolution in the time or spatial domain becomes pointwise multiplication in the frequency domain.
Conversely, multiplication in the original domain corresponds to convolution in frequency, up to any normalization constants required by the selected Fourier-transform convention.
Why the Fourier Convolution Theorem Matters
Direct convolution can be expensive when signals contain many samples. The convolution theorem gives an alternate workflow:
- transform both inputs;
- multiply their spectra pointwise;
- apply the inverse transform.
Symbolically,
\[ \boxed{ f*g =\mathcal F^{-1}\{FG\} }. \]This is the foundation of fast convolution algorithms based on the FFT.
The Laplace Convolution Theorem
If
\[ \mathcal L\{f\}=F(s) \qquad\text{and}\qquad \mathcal L\{g\}=G(s), \]then for causal functions,
\[ \boxed{ \mathcal L\{f*g\} =F(s)G(s) }. \]Therefore,
\[ \boxed{ \mathcal L^{-1}\{F(s)G(s)\} =(f*g)(t) }. \]The theorem allows products in the \(s\)-domain to be interpreted as time-domain convolution.
Example: Inverse Laplace Transform by Convolution
Consider
\[ Y(s)=\frac1s\frac1{s+2}. \]Since
\[ \mathcal L^{-1}\left\{\frac1s\right\}=1 \]and
\[ \mathcal L^{-1}\left\{\frac1{s+2}\right\}=e^{-2t}, \]we may write
\[ y(t)=\int_0^t 1\cdot e^{-2(t-\tau)}\,d\tau. \]Thus,
\[ y(t) =\frac12(1-e^{-2t}). \]Therefore,
\[ \boxed{ \mathcal L^{-1}\left\{\frac1{s(s+2)}\right\} =\frac12(1-e^{-2t}) }. \]Convolution and Differential Equations
Many linear differential equations can be written so that the solution is a convolution of the forcing input with a system response.
If an LTI system has transfer function \(H(s)\) and input transform \(X(s)\), then
\[ Y(s)=H(s)X(s). \]Taking the inverse Laplace transform gives
\[ \boxed{ y(t)=h*x }. \]The algebraic multiplication of transforms becomes convolution of the input with the impulse response.
Green's Functions and Convolution
In differential equations, a Green's function plays a role closely related to an impulse response. It describes how a system responds to a point or impulse source.
For translation-invariant problems, the solution often takes a convolution form such as
\[ u(x) =\int G(x-\xi)f(\xi)\,d\xi. \]Here \(f\) represents the source and \(G\) describes how the system propagates the effect of that source.
Convolution and Probability
If independent continuous random variables \(X\) and \(Y\) have probability density functions \(f_X\) and \(f_Y\), then the density of
\[ Z=X+Y \]is
\[ \boxed{ f_Z=f_X*f_Y }. \]For discrete random variables, the corresponding probability mass functions are convolved by summation. Convolution therefore describes how independent quantities combine under addition.
Convolution and Differentiation
Under suitable smoothness and integrability conditions,
\[ \boxed{ \frac{d}{dt}(f*g) =f'*g =f*g' }. \]This property allows derivatives to be transferred between convolution factors. It is especially useful in differential equations, smoothing theory, and distributional analysis.
Convolution with a Normalized Kernel Preserves Constants
Suppose \(g\) satisfies
\[ \int_{-\infty}^{\infty}g(\tau)\,d\tau=1. \]If \(f(t)=C\) is constant, then
\[ (f*g)(t) =\int_{-\infty}^{\infty}C\,g(t-\tau)\,d\tau =C. \]This is one reason normalized kernels are natural for averaging and smoothing: they do not change a perfectly constant signal.
Circular Convolution
The discrete Fourier transform naturally corresponds to circular convolution. For two length-\(N\) sequences,
\[ \boxed{ (x\circledast h)[n] =\sum_{k=0}^{N-1} x[k]h[(n-k)\bmod N] }. \]The indexing wraps around modulo \(N\). This differs from ordinary linear convolution, where samples outside the finite support are treated as zero rather than wrapped back to the beginning.
Linear Convolution from the DFT
To compute ordinary linear convolution using a DFT or FFT, the sequences must be zero-padded enough to prevent circular wraparound.
If the original lengths are \(N\) and \(M\), choose a transform length \(L\) satisfying
\[ \boxed{ L\ge N+M-1 }. \]Then the workflow is:
- zero-pad both sequences to length \(L\);
- compute their DFTs;
- multiply the DFT values pointwise;
- apply the inverse DFT.
The resulting first \(N+M-1\) samples give the linear convolution.
Direct Versus FFT-Based Computation
A direct convolution of sequences of lengths \(N\) and \(M\) requires on the order of \(NM\) multiply-add operations.
For long sequences, FFT-based convolution can be much faster. With a padded transform length \(L\), the dominant cost behaves approximately like
\[ O(L\log L). \]For short kernels, however, direct convolution may still be simpler and faster because FFT methods have setup and transform overhead.
Convolution in Two Dimensions
Convolution extends naturally to images and other multidimensional data. For two-dimensional functions,
\[ (f*g)(x,y) =\iint f(\xi,\eta) g(x-\xi,y-\eta) \,d\xi\,d\eta. \]In digital imaging, a small matrix called a kernel or filter is convolved with the image. Different kernels can blur, sharpen, detect edges, or emphasize directional structure.
Filtering as Convolution
A filter can be described either by its impulse response in the original domain or by its frequency response in the transform domain.
If
\[ y=x*h, \]then the Fourier transform gives
\[ \boxed{ Y(\omega)=X(\omega)H(\omega) }. \]The function \(H(\omega)\) tells us which frequencies the filter amplifies, attenuates, or phase-shifts.
Smoothing and Frequency Suppression
A smoothing kernel generally has a frequency response that is large near low frequencies and smaller at high frequencies. Convolution with that kernel therefore suppresses rapid oscillations and preserves slower variation.
This gives two complementary interpretations of the same operation:
- time or space domain: average nearby values;
- frequency domain: attenuate selected frequency components.
Convolution Versus Correlation
Convolution and correlation look similar but serve different purposes. Convolution uses
\[ g(t-\tau), \]which includes reflection. Cross-correlation commonly uses a form such as
\[ \int f(\tau)\overline{g(\tau+t)}\,d\tau, \]with convention-dependent signs and shifts.
Correlation measures similarity as one signal is shifted relative to another. Convolution describes system combination and filtering. The two operations are closely related, but they are not interchangeable.
A Reliable Procedure for Continuous Convolution
- identify the supports of both functions;
- write one function as \(g(t-\tau)\);
- determine where the two factors overlap;
- split into cases if the overlap changes with \(t\);
- multiply the overlapping expressions;
- integrate over the overlap interval;
- simplify the result in each case;
- check support, continuity, symmetry, or transform-domain behavior when useful.
A Reliable Procedure for Discrete Convolution
- write the sample indices clearly;
- reverse one sequence conceptually;
- shift it to the required output index;
- multiply samples that overlap;
- sum those products;
- repeat for each output index;
- verify the output length \(N+M-1\) for finite linear convolution.
Checking a Convolution
Several checks can catch errors quickly.
- Use commutativity: \(f*g\) should match \(g*f\).
- Check the predicted support or output length.
- Check expected symmetry when both inputs are symmetric.
- For normalized averaging kernels, verify constant signals stay constant.
- Transform both sides and confirm that convolution becomes multiplication.
- For finite data, compare a few hand-computed samples with the algorithmic result.
Common Error: Multiplying Instead of Convolving
The notation
\[ f*g \]does not mean \(f(t)g(t)\). Convolution contains a shift and an accumulation:
\[ (f*g)(t) =\int f(\tau)g(t-\tau)\,d\tau. \]Ordinary multiplication and convolution are distinct operations, although a transform may convert one into the other.
Common Error: Forgetting the Reflection
In the graphical interpretation, the second factor is not merely \(g(\tau-t)\). The standard formula contains
\[ g(t-\tau). \]Thinking in terms of \(\tau\), this corresponds to reflection followed by a shift. Missing the reflection can produce the wrong overlap geometry.
Common Error: Using Fixed Integration Limits
For piecewise-supported functions, the interval of overlap often changes as \(t\) changes. The convolution may therefore require several cases.
The correct limits come from the intersection of the supports of \(f(\tau)\) and \(g(t-\tau)\), not from memorizing one pair of limits for every value of \(t\).
Common Error: Confusing Linear and Circular Convolution
DFT multiplication produces circular convolution unless enough zero padding is used. If an ordinary linear convolution of length-\(N\) and length-\(M\) sequences is wanted, the transform length must satisfy
\[ L\ge N+M-1. \]Otherwise, the tail wraps around and contaminates earlier samples.
Common Error: Ignoring Causality
For causal functions, it is often appropriate to use
\[ (f*g)(t)=\int_0^t f(\tau)g(t-\tau)\,d\tau. \]But that restricted form is not the general definition. If one or both functions have support for negative time, the full integral over the real line may be required.
Common Error: Losing Scale Factors in Transform Conventions
Fourier-transform conventions distribute factors such as \(2\pi\) differently between the forward and inverse transforms. The exact statement connecting multiplication and convolution therefore depends on the convention being used.
The structural principle remains the same, but normalization constants must be handled consistently.
Example: A First-Order System
Consider the causal system
\[ y'(t)+ay(t)=x(t), \qquad y(0)=0, \]with \(a>0\). Taking Laplace transforms gives
\[ (s+a)Y(s)=X(s). \]Thus,
\[ H(s)=\frac{Y(s)}{X(s)}=\frac1{s+a}. \]The impulse response is
\[ h(t)=e^{-at}u(t). \]Therefore the output for any suitable causal input is
\[ \boxed{ y(t)=\int_0^t x(\tau)e^{-a(t-\tau)}\,d\tau }. \]Example: Step Input to a First-Order System
In the previous system, let
\[ x(t)=1, \qquad t\ge0. \]Then
\[ y(t)=\int_0^t e^{-a(t-\tau)}\,d\tau. \]Evaluating,
\[ \boxed{ y(t)=\frac{1-e^{-at}}{a} }. \]Convolution has accumulated the decaying impulse response over all earlier input times.
Example: Convolution of a Signal with an Impulse
Let
\[ h(t)=\delta(t-3). \]Then
\[ (f*h)(t) =f*\delta(t-3). \]By the shifting property of the impulse,
\[ \boxed{ (f*h)(t)=f(t-3) }. \]The system acts as a pure delay of three time units.
Example: Two Finite Sequences
Let
\[ x=[2,-1,3] \]and
\[ h=[1,2]. \]The output has four samples:
\[ y[0]=2, \] \[ y[1]=2(2)+(-1)(1)=3, \] \[ y[2]=(-1)(2)+3(1)=1, \] \[ y[3]=3(2)=6. \]Hence,
\[ \boxed{ x*h=[2,3,1,6] }. \]Practice 1: Causal Constants
Let \(f(t)=2\) and \(g(t)=3\) for \(t\ge0\), with both functions zero for negative time. Find \((f*g)(t)\) for \(t\ge0\).
Practice 2: Exponential and Constant
Let
\[ f(t)=e^{-t}, \qquad g(t)=1, \qquad t\ge0. \]Compute \((f*g)(t)\).
Practice 3: Impulse Shift
Simplify
\[ f(t)*\delta(t-5). \]Practice 4: Discrete Convolution
Compute the linear convolution of
\[ x=[1,2] \]and
\[ h=[3,4,5]. \]Practice 5: Output Length
A sequence \(x\) has 80 samples and a finite impulse response \(h\) has 21 samples. How many samples are in their full linear convolution?
Practice 6: Fourier-Domain Interpretation
Suppose
\[ y=f*g. \]If \(F(\omega)\) and \(G(\omega)\) are the Fourier transforms of \(f\) and \(g\), write the transform \(Y(\omega)\).
Practice 7: Laplace Convolution
Use convolution to find
\[ \mathcal L^{-1}\left\{ \frac1{s(s+1)} \right\}. \]Practice 8: DFT Zero Padding
Two finite sequences have lengths \(12\) and \(9\). What is the minimum DFT length that prevents circular wraparound when computing their linear convolution by transform multiplication?
Practice 9: Support
Suppose \(f\) is supported on \([1,4]\) and \(g\) is supported on \([-2,3]\). Give an interval containing the support of \(f*g\).
Practice 10: System Response
An LTI system has impulse response
\[ h(t)=e^{-2t}u(t). \]Write, but do not evaluate, the causal convolution integral giving the output for an input \(x(t)\).
Practice Answers
Practice 1
For causal functions,
\[ (f*g)(t) =\int_0^t 2\cdot3\,d\tau. \]Therefore,
\[ \boxed{ (f*g)(t)=6t }. \]Practice 2
\[ (f*g)(t) =\int_0^t e^{-\tau}\,d\tau. \]Hence,
\[ \boxed{ (f*g)(t)=1-e^{-t} }. \]Practice 3
Convolution with a shifted impulse produces a shift:
\[ \boxed{ f(t)*\delta(t-5)=f(t-5) }. \]Practice 4
The output has four samples:
\[ y[0]=1(3)=3, \] \[ y[1]=1(4)+2(3)=10, \] \[ y[2]=1(5)+2(4)=13, \] \[ y[3]=2(5)=10. \]Thus,
\[ \boxed{ x*h=[3,10,13,10] }. \]Practice 5
\[ 80+21-1=100. \]Therefore,
\[ \boxed{100\text{ samples}}. \]Practice 6
By the Fourier convolution theorem,
\[ \boxed{ Y(\omega)=F(\omega)G(\omega) }. \]Practice 7
Since
\[ \mathcal L^{-1}\left\{\frac1s\right\}=1 \]and
\[ \mathcal L^{-1}\left\{\frac1{s+1}\right\}=e^{-t}, \]the inverse is
\[ \int_0^t e^{-(t-\tau)}\,d\tau. \]Therefore,
\[ \boxed{ \mathcal L^{-1}\left\{\frac1{s(s+1)}\right\} =1-e^{-t} }. \]Practice 8
The required linear-convolution length is
\[ 12+9-1=20. \]Therefore the transform length must satisfy
\[ \boxed{L\ge20}. \]Practice 9
Add the support endpoints:
\[ [1+(-2),\,4+3] =[-1,7]. \]Therefore,
\[ \boxed{ \operatorname{supp}(f*g)\subseteq[-1,7] }. \]Practice 10
For a causal LTI system,
\[ y(t)=\int_0^t x(\tau)h(t-\tau)\,d\tau. \]With \(h(t)=e^{-2t}u(t)\),
\[ \boxed{ y(t)=\int_0^t x(\tau)e^{-2(t-\tau)}\,d\tau }. \]What to Remember
Continuous convolution is
\[ \boxed{ (f*g)(t) =\int_{-\infty}^{\infty} f(\tau)g(t-\tau)\,d\tau }. \]Discrete convolution is
\[ \boxed{ (x*h)[n] =\sum_{k=-\infty}^{\infty} x[k]h[n-k] }. \]- convolution combines shifted, weighted contributions;
- for causal functions, the integral often reduces to \(\int_0^t\);
- convolution is commutative, associative, distributive, and linear;
- the Dirac delta acts as the identity under convolution;
- an LTI system output is the input convolved with its impulse response;
- convolution can smooth, blur, average, or filter data;
- Fourier and Laplace transforms convert convolution into multiplication;
- finite linear convolution has length \(N+M-1\);
- DFT multiplication produces circular convolution unless zero padding prevents wraparound;
- FFT methods make long convolutions computationally efficient.
The most important conceptual connection is that the same system can be viewed in two complementary ways: convolution describes how contributions combine in time or space, while transform-domain multiplication describes how spectral components are modified.
Where We Go Next
Convolution has now exposed a central duality of transform methods. In the time domain, systems accumulate shifted copies of responses. In the frequency domain, those same systems act by multiplying spectral components.
The next lesson, Frequency and Time Domains, develops that dual viewpoint directly. It will compare how signals and systems appear in each representation, explain amplitude and phase spectra, connect duration with bandwidth, examine localization tradeoffs, and show how transform methods allow us to move deliberately between physical evolution and spectral structure.