Convolution is a way to combine two signals to form a third signal.
So, convolution of discrete signals simply means combining two discrete signals to form a third signal.
In this post, we’ll give you a step-by-step guide on how to perform convolution by graphical method.
We’ll also share some real-life examples of discrete signal convolution.
Let’s get started!
What is Convolution of Discrete Signals?
Convolution of discrete signals is a mathematical operation used to combine two discrete-time signals to produce a third signal. This process is fundamental in signal processing, as it helps determine how one signal affects the other.
In simple terms, you can say convolution is the addition of signals.
Where there are two input signals and there’s one output signal.
Example of Discrete Signal Convolution
In a biomedical engineering setting, the learning of convolution of discrete signals could be used for the development & fixing of medical devices.
For example, consider the signals above.
- Original ECG Signal (drawn from raw ECG data)
- Noise Signal (composed of artifacts like muscle activity, 60 Hz powerline noise, instrumental noise, etc.
- ECG Signal with noise (the combined result of the two)
🚨 Notice that we say “combined result of the two” — but here, we do not mean “convolution”. The ECG signal with noise is just a contaminated signal. In contrast, convolution is a mathematical (and measured) signal. The attributes of a convolved signal are defined. |
The ECG signal with noise is passed through a notch filter – which reduces the noise. This is what you will see:
The signal you see above is a convolved signal.
The process of convolution is happening at the backend using a software called MATLAB – and the software itself uses a series of mathematical steps to do it for you.
Below, we will show graphical method of performing manual convolution.
Formula for Convolution
Before we understand how to solve convolution problems step by step, we need you to know all convolution problems are solved using one formula – whether you perform convolution of two discrete signals or convolution of continuous time signal.
This is the formula:
There are four parts in this formula.
Equation Part | What it stands for |
---|---|
Y (n) | This is the output response (which you will calculate) |
Summation symbol with limits | Adds up values from two functions to combine their effects. It will always be copied as it is. |
x (k) | This is the input signal. It’s the data or signal being convolved with the impulse response. |
h (n – k) | This is impulse response of the system. It is the response of the system (filter) to an input, typically starting from n = 0 for causal systems. |
Note that ‘n’ is the total number of samples in the signal and ‘k’ is the current value or a specific instance of data.
If the formula seems too complex right now, just go through the solved example of convolution question below and it will start to make sense!
How to solve Convolution of Discrete Signals?
Here’s how you can perform convolution of two discrete signals:
Convolution by Graphical Method
Convolution by graphical method is a time-taking process. In an exam question, if you’re not specifically asked to use the graphical method, we recommend avoiding it. Use matrix method instead.
Step 1: Draw the Signals
Usually, questions are given in this form:
Q. Find the convolution of the two sequences given below. x(n) = { 1, 2 , 2 , 1, 1 } ↑ h(n) = { 3, 2 , 1 } ↑ |
The arrow basically points toward the origin of the signal (i.e., the value at 0).
Here’s how you can draw these both:
At this point, also realize x(n) is the input signal and h(n) is the impulse signal.
The horizontal line is either the time axis or spatial axis.
There are two more things that you can do to ease the further process:
- Length of output sequence (how many times to shift the impulse response)
- Origin of output sequence (where to put the arrow in the convolved signal)
Here’s how to calculate both:
Value | Formula |
---|---|
Length of Output Sequence | M + N – 1 *where M is the length of first signal and N is the length of second signal *As per the signals given above: x(n) has a length of 5 units which is equals to M and h(n) has a length of 3 units which is equals to N. So; 5 + 3 – 1 = 7 |
Origin of Output Sequence | Add the origin of input signal with the origin of the impulse signal.As per the signals above, 0 is the origin of x(n) and 0 is also the origin of h(n). So; 0 + 0 = 0 The value at 0 on time axis will be the origin. |
Step 2: Fold the Signal
Now, fold h(n) as shown:
Notice that we have kept the value of 0 at 0 and flipped everything else.
It’s like creating a mirror image with the origin being the symmetry line.
The common question here is — do we always fold the impulse signal? Why not the input signal?
Well, yes. We mostly fold the impulse signal and this is because:
- The equation says so! Go back up and see that the equation says h(n-k). The ‘n’ in the equation represents the current point in the output and ‘k’ represents the shift during the process. It is always minus k — meaning a flipped or folded version of whatever k is.
- The input signal is the signal we want to study. It could be a raw ECG signal. The impulse response is generated from the system that processes the raw signal. And our target intent here is to find out how the system impacts the input signal. Flipping and changing h(n) allows us to understand how every point in the impulse response contributes to the output at any given time. The convolution operation reflects this relationship, where the impulse response is effectively ‘sliding’ over the input signal – highlighting how each point in the signal influences the output based on the system’s characteristics.
Step 3: Shift the Signal
For each value of n, we shift the signal to the right by one unit.
Note: It’s best to shift, multiply, and add at the same for each value of n. But for your understanding, we’ll first shift the signal for all values of n and show multiplication and addition separately.
(i) y (0)
*For y(0) there will be no shift.
(ii) y (1)
(iii) y (2)
(iv) y (3)
(v) y (4)
(vi) y(5)
(vii) y (6)
Step 4: Multiply & Add the Signals
Now, for each value of n, multiply values on original x(n) with corresponding values on its respective shifted h(n). And then add all resulting values.
Remember, x(n) does not change at all. Copy the original just as it is.
Here’s how:
(i) y(0)
(ii) y(1)
(iii) y(2)
(iv) y(3)
(v) y(4)
(vi) y(5)
(vii) y(6)
Answer
To obtain the final convolved signal, we will put together all of the obtained answers:
y(n) = { 3, 8 , 11 , 9, 7, 3, 1 } |
As we calculated earlier, the origin of the convolved signal will be at 0 too (which is 3 here). You can draw an arrow beneath 3 to indicate origin.
End Note
That’s it! That’s how you perform convolution of discrete signals by graphical method.
Stay tuned if you want to learn how to perform convolution of two discrete signals by matrix method. We’ll share that soon!
Leave a Reply