Magnitude of frequency response |H[k]| in response to complex sinusoids at all N frequencies

System Characterization

In wireless communications and other applications of digital signal processing, we often want to modify a generated or acquired signal. A device or algorithm that performs some prescribed operations on an input signal to generate an output signal is called a system. In another article about transforming a signal, we saw how a signal can be scaled and time shifted, or added and multiplied with another signal. These are all examples of a system. Amplifiers in communication receivers and filters in image processing applications are some systems that we interact with in daily lives. A communication channel is also a

Continue reading
Pacman circularly shifting to the right

Transforming a Signal

Transforming a discrete-time signal — whether in time or amplitude — is certainly possible, and often in interesting ways. In practice, scaling and time shifting are the two most important signal modifications encountered. Scaling changes the values of dependent variable on amplitude-axis while time shifting affects the values of independent variable on time-axis. Below we describe addition and multiplication of two signals as well as scaling and time shifting a signal in detail. Addition For addition of two discrete-time signals, say $x[n]$ and $y[n]$, add the two signals sample-by-sample: $z[n] = x[n] + y[n]$ for every $n$, e.g., \begin{align*} z[0]

Continue reading
Magnitude and phase of the DFT of a rectangular signal for L = 7, N= 16 and starting sample shifted by one

DFT Examples

For understanding what follows, we need to refer to the Discrete Fourier Transform (DFT) and the effect of time shift in frequency domain first. Here, we discuss a few examples of DFTs of some basic signals that will help not only understand the Fourier transform but will also be useful in comprehending concepts discussed further. A Rectangular Signal A rectangular sequence, both in time and frequency domains, is by far the most important signal encountered in digital signal processing. One of the reasons is that any signal with a finite duration, say $T$ seconds, in time domain (that all practical

Continue reading
A rectangular signal and its upsampled version in time and frequency domains

Sample Rate Conversion

In the discussion on sampling, the process of sampling a continuous-time signal was discussed in detail and subsequently sampling theorem was derived. In many applications, resampling an already digitized signal is mandatory for an efficient system design. In wireless communications, sample rate conversion is utilized for upconversion and downconversion to a desired frequency, filtering stages in the digital frontend and sometimes for carrier and timing synchronization during signal acquisition. See the Cascade Integrator Comb (CIC) filters for how to accomplish this task with minimal resources. In discrete domain, sample rate can be reduced by discarding intermediate samples periodically called downsampling

Continue reading
A signal broken down into scaled and shifted impulses

Convolution

Understanding convolution is the biggest test DSP learners face. After knowing about what a system is, its types and its impulse response, one wonders if there is any method through which an output signal of a system can be determined for a given input signal. Convolution is the answer to that question, provided that the system is linear and time-invariant (LTI). We start with real signals and LTI systems with real impulse responses. The case of complex signals and systems will be discussed later. Convolution of Real Signals Assume that we have an arbitrary signal $s[n]$. Then, $s[n]$ can be

Continue reading