Introduction to Discrete Signals 1: Signals and Transformations
2024-12-30 | By Antonio Velasco
Within the world of electronics, everything is controlled through various electrical signals and systems. Every computer, part, and wire rely on these signals, and it is important to understand how they work and how they are utilized. In this series, I’ll delve into the basics behind signals, systems, and the transformations behind them.
What Are Signals?
Simply put, a signal is a function. We’ll be focusing on signals in the time domain, so each signal can be represented as a function of time.
Continuous signals are represented as such, a plot of a signal with respect to time: x(t). This is shown in the picture as a gray line. A discrete time signal, on the other hand, is a “piece” of that signal at a specific moment in time. We will represent this piece as x[n], where n is the sample #. This is shown in the picture with red arrows at each sampled point.
It’s important to distinguish that x[n] =/= x(t). This is because n is not a function of time, but rather a numbered piece. Discrete signals are pieces of continuous signals, and we obtain the pieces via sampling.
What Is Sampling?
We can retrieve x[n] from x(t) by sampling (or taking a piece of x(t)) every Ts seconds. The nth sample, or the piece from x(t), comes at nTs. For example, say that our sampling period is 2 seconds. The x[0] sample would be the value at 0s, the x[1] at 2s, and the x[2] at 4s. Let’s put this into practice with a continuous signal:
Say we have x(t) = t 2 -t-1, sampling at the defined Ts of 2s.
x(2) is simply just x(2) = 4 – 2 - 1 = 1
x[2], though, would be x[2Ts], which with T s of 2, is x(4) since we’ll be looking at the piece of x(t)at 4s. Thus,
x[2] = x(4) = 16 – 4 – 1 = 11
Simple enough, right? Another important factor to consider is that n can only take integer values (0,-2,5…etc.) Thus, although we can define x(1/2), we cannot define x[1/2] since we are working specifically with discrete values.
Manipulating Signal Values
We can manipulate and modify signal values via time transformations. There are three main transformations to consider for discrete signals:
- Reversals (n -> -n)
Reversals simply flip the signal over n=0. Notably, this keeps the value at n=0 the same. For example, say that we had the following signal of x[n]. If we now took x[-n], it would appear as such:
- Shifts (n -> n-/+A)
Time shifts operate by shifting the values over a certain amount. For example, if we took x[n], and applied a shift of -2 (x[n-2]), all of the values would move 2 to the right, as such:
Conversely, x[n+1] would shift all of the values to the left by 1:
- Scaling (n -> nA)
Scaling operates similarly to how you can squish or stretch quadratic functions/parabolas. By scaling by a factor of 2 (x[2n]), we can now “squish” the values like so:
It’s important to note that any values that we squish, but now receive a non-integer value, will disappear. You can see here how this scaling can affect the integrity of the signal and lead to lost parts. This is important to consider in sampling later on, especially as we consider the Nyquist Theorem.
Similarly, for a factor of ½, we will “stretch” the values:
You can combine all these transformation techniques to modify a signal greatly. I’ll go over more about this, including systems and more about sampling, in the next blog!
Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.