LTI Convolution Representation

Given a discrete-time input signal , the output of a discrete-time LTI system can be represented as a weighted combination of impulse responses , such that

Similarly, given a continuous-time input signal , the output of a continuous-time LTI system can be represented as

Intuition

Properties

(Polynomialization) If for the polynomials , then where .

We start by expanding with the fact that . We can perform a change of variables for , such that

By definition, , and therefore .

(Multiplication in Frequency) If , then .

Examples

Simple Convolution

Consider the following signal and impulse responses:

\begin{document}
 
\begin{tikzpicture}
   % Axes
   \draw[->] (-0.5,0) -- (3,0) node[right] {$n$};
   \draw[->] (0,-0.5) -- (0,4);
   
   % x(n) signal (black)
   \draw[thick, black] (0,0) -- (0,1);
   \draw[fill=black] (0,1) circle (2pt);
   
   \draw[thick, black] (1,0) -- (1,2);
   \draw[fill=black] (1,2) circle (2pt);
   
   \draw[thick, black] (2,0) -- (2,3);
   \draw[fill=black] (2,3) circle (2pt);
   
   % h(n) signal (red)
   \draw[thick, red] (0,0) -- (0,1);
   \draw[fill=red] (0,1) circle (2pt);
   
   \draw[thick, red] (1,0) -- (1,1);
   \draw[fill=red] (1,1) circle (2pt);
   
   % Labels
   \node[below] at (0,0) {0};
   \node[below] at (1,0) {1};
   \node[below] at (2,0) {2};
   
   \node[left] at (0,1) {1};
   \node[left] at (0,2) {2};
   \node[left] at (0,3) {3};
   
   % Label x(n) and h(n)
   \node[black, above] at (2.5,3) {$x(n)$};
   \node[red, above] at (1.5,1) {$h(n)$};
   
\end{tikzpicture}
 
\end{document}

We can express the convolution of these two signals using the three methods below.

Cascade

Suppose we have two FIR filters, and , such that their impulse response is given by

a(n) &= a_0\delta(n) + a_1\delta(n-1)+ \ldots + a_N\delta(n-N) && (\text{where } N \in \mathbb{N}), \\ &\text{and} \\ b(n) &= b_0\delta(n) + b_1\delta(n-1)+ \ldots + b_M\delta(n-M) && (\text{where } M \in \mathbb{N}). \end{align}$$ The two filters are placed in a cascade $C$, such that the final system is $$x \rightarrow \boxed{\boxed{A} \rightarrow \boxed{B}}^C \rightarrow y.$$ We can find the cascade by setting $x(n) = \delta(n)$. Then, $$\begin{align} y(n) &= [(x * a) * b]. \end{align}$$ Since the impulse response of any system is its filter, we can simplify this into $$\begin{align} c(n) &= (a * b) \\ &= \sum^{\infty}_{k=-\infty} a(k)b(n-k) \\ \end{align}$$ Here, we can see that $a(k)b(n-k)$ is equal to $$a_0b_0\delta(k)\delta(n-k) + a_0b_1\delta(k)\delta(n-k-1) + a_1b_0\delta(k-1)\delta(n-k) + a_1b_1\delta(k-1)\delta(n-k-1) + \ldots,$$ and therefore $$\begin{align} c(n) &= a_0b_0\delta(n) + (a_0b_1 + a_1b_0)\delta(n-1) + (a_0b_2 + a_1b_1 + a_2b_0)\delta(n-2) + \ldots \end{align}$$ This means that we can model any coefficient $c_n$ of the cascade ($n \leq N$) as $$c_n = \sum^{n}_{k=\max(0, n - M)}a_kb_{n-k},$$ where $k=\max(0, n-M),$ as the two systems are of different sizes, and we need to account for cases where $M < N$. Finally, we can express $c$ as $$c(n) = c_0\delta(n) + c_1\delta(n-1) + \ldots + c_{N+M}\delta(n-N-M).$$