This article assumes that you have some concepts of Signals and Systems and basic knowledge of communication systems.

Content of this article is adapted from “Digital Communication by John G. Proakis”

Digital communication varies a lot from the traditional analog communication system. In digital communication, especially when we talk about designing a practical radio system using Software-Defined Radios, we design everything on the software side and then transmit the signals over the air using SDRs. It is just like creating sound or any audio data in your computer and using the speaker to transmit in the air. The only difference here is you can actually listen to what you have designed whereas, in the communication system, you can’t listen (unless it is in audible range).

Lowpass & Bandpass: Now, in a modern communication system, one can design everything on their computers and will need an SDR device to broadcast the signal into the RF band. The signals which we design on our computers lie in a low-frequency band or aka Lowpass signals, and the signal which we actually transmit over the air are known as Bandpass signals, aka High-Frequency signals.

Why transmit on Bandpass and not on Lowpass? A straightforward question one can ask is why there is a need to transmit the signals on Bandpass frequencies (aka high frequencies) why don’t we transmit in Lowpass?

Well, there are multiple reasons for that. One of the reasons is to avoid crosstalk and interference. Let’s take a very simple example: Suppose you are sitting in a classroom, or any public gathering and all of the people there start speaking at the same time now this will create noise, and it will present a scenario of a fish market. Another reason is the availability of high bandwidth. At high frequencies, there is a lot of bandwidth available, which means a high data rate. Very important reasoning in this context is the suitable characteristics of the channel. Bandpass signals support different types of communication channels like fiber optics, copper cables, coaxial cable, twisted pair, wireless channel, etc.

Designing signals in Baseband only: Baseband is another term used for Lowpass signals. Earlier I said that we design signals at low frequencies and then transmit over the high frequencies using SDR. Why is that? Why don’t we design the signals directly at high frequencies?
Well! The designing of electronic circuits at high frequencies is cumbersome and expensive. One needs to design everything from all the way to modulator/differentiator/integrator/encoder/decoder etc. at high frequencies, and this requires a lot of effort, and thus, designing the circuits at high frequency is expensive. So, the easy solution is to design everything at low frequencies and use a frequency upconverter or SDR to shift the signal at high frequency.

This is one of the major reasons why we first study the difference of Bandpass and Lowpass signals and how they can be represented in terms of one another. 

Some facts about Bandpass and Lowpass signals:

  • All Bandpass signals are real signals (i.e., whatever you transmit in the air is a real signal)
  • All Lowpass signals are complex in nature. They can be real, but it depends on the way they are designed.
  • Bandpass signals lies on high frequencies but lowpass signals are always designed at [latex]f_c = 0[/latex] 

Representation of Baseband & Bandpass signals:

As discussed earlier, the importance of Lowpass signals and their easiness in designing them. A big question comes that: Is there a some mathematical way to represent these signals in terms of one another ?

The answer is Yes. Any real signal (bandpass signal) follows hermitian symmetry, which states that for a real signal [latex]x(t)[/latex], the magnitude of [latex]X(f)[/latex] is an even signal and the phase is odd. So, now we can say that:

[latex]x(t) \xrightarrow{\mathcal{F}} X(f)[/latex]

[latex]X(f) = X^*(-f)[/latex]
[latex]|X(f)| = |X(-f)|[/latex]
[latex]\angle X^*(f) = -\angle X(f)[/latex]

where [latex]X^*(f)[/latex] represents the conjugate of [latex]X(f)[/latex]. From this property, we can say that if a certain signal (Lowpass in nature) have hermitian symmetry spectrum, we can use positive frequencies i.e., we would only need a positive side of the spectrum, and we can reconstruct the negative side completely by just using the information stored in the positive side of the spectrum. So, we can say that positive side of the spectrum can be written as: [latex]X_+(f) = X(f)u(f)[/latex] and negative side by [latex]X_-(f) = X(f)u(-f)[/latex]. Where [latex]u(f)[/latex] is a unit step signal. So, basically [latex]X(f)[/latex] is the combination of both [latex]X_+(f)[/latex] and [latex]X_-(f)[/latex] and we can write it as:

[latex]X(f) = X_+(f) + X_-(f)[/latex]
[latex]X(f) = X_+(f) + X^*_+(-f)[/latex]

Where we have used hermitian symmetry to represent [latex]X_-(f)[/latex] as [latex]X^*_+(-f)[/latex] where the conjugate sign denotes the odd of phase and [latex]-f[/latex] denotes the flip of magnitude. In general, [latex]X(f)[/latex] has the following time-domain representation:

[latex]x(t) = A(t) \cos (2\pi f_c t + \phi(t)[/latex]

This representation can be used to describe any analog communication by assuming that both [latex]A(t)[/latex] and [latex]\phi(t)[/latex] are slow varying signals.

  1. A.M: If we set [latex]\phi(t) = 0[/latex] and [latex]A(t) = 1+\mu m(t)[/latex]. And [latex]m(t)[/latex] is the message signal
  2. P.M: If we set [latex]\phi(t) = k m(t)[/latex] and [latex]A(t) = A[/latex]. And [latex]m(t)[/latex] is the message signal
  3. F.M: If we set [latex]\phi(t) = k \int_{-\infty}^t m(\tau) d\tau[/latex] and [latex]A(t) = A[/latex]. And [latex]m(t)[/latex] is the message signal

Time Domain representation of [latex]x_l(t)[/latex] and [latex]x(t)[/latex]: Before describing the time domain representation of [latex]x_l(t)[/latex] and [latex]x(t)[/latex], first let us describe the concept of Hilbert Transform:

Time domain representation of [latex]X_+(f)[/latex] is:

x_+(t) =& \mathcal{F^{-1}} \{X(f)u(f)\} \\
=& x(t) * \frac{1}{2} \left\{ \delta(t) + \frac{j}{\pi t}\right\}


x_+(t) =& \frac{1}{2} * x(t) + \frac{j}{2} x(t) * \frac{1}{\pi t} \\
=& \frac{1}{2} x(t) + \frac{j}{2} \hat{ x }(t)

Where, [latex]\hat{x}(t)[/latex] denotes the hilbert transform of [latex]x(t)[/latex]. If you don’t get the mathematical understanding of hilbert transform then don’t worry, just remember this: Hilbert transform introduce a phase shift of: [latex]-\frac{\pi}{2}, f>0 \;\;\; \& \;\; \frac{\pi}{2}, f<0[/latex] on [latex]x(t)[/latex]. This means that in frequency domain we are multiplying [latex]X(f)[/latex] with [latex]-j\text{sgn}(f)[/latex] so we can write it as:[latex] \hat{X}(f) = -j\text{sgn}(f)X(f)[/latex], where [latex]\text{sgn}(f)[/latex] is a signum function. Now, lets represent [latex]x_l(t)[/latex] first. Spectrum of lowpass signal is [latex]X_l(f)[/latex] then in terms of [latex]X_+(f)[/latex] we can write:

[latex] \begin{split}
X_l(f) =& 2X_+(f+f_o) \\
=& 2X(f+f_o) u(f+f_o)

Where we have [latex]f_o[/latex] is the center frequency of the bandpass signal and 2 is multiplied to compensate the energy loss. That means, when a lowpass signal is shifted to bandpass, it creates a signal in both negative and positive sides, which reduces the lowpass signal energy in half. So now if we take inverse Fourier transform of [latex]X_l(f)[/latex] then we get:

x_l(t) =& \mathcal{F^{-1}} \{X_l(f)\} \\
=& \mathcal{F^{-1}} \{2X_+(f+f_o) \} \\
=& 2x_+(t) e^{-j2\pi f_o t} \\
=& (x(t) + j \hat{x}(t) ) e^{-j2 \pi f_o t}

Multiply [latex]e^{j2\pi f_o t}[/latex] on both sides:

[latex]x_l(t) e^{j2\pi f_o t} = x(t) + j \hat{x}(t)[/latex]

Taking Real parts on both sides:

[latex]x(t) = \text{Re} \{ x_l(t) e^{j2\pi f_o t}\}[/latex]

and earlier we have:

[latex]x_l(t) = \{ x(t) + j \hat{x}(t) \}e^{-j2\pi f_o t}[/latex]

The above two equations represents the whole mathematical relationship between bandpass and baseband signals. So, in practice we design the signal [latex]x_l(t)[/latex] which is a low pass signal, shifts it to [latex]f_o [/latex] by multiplying it with [latex]e^{j2\pi f_o t}[/latex] and takes it real part only, then this becomes a bandpass signal. And to found baseband signal from bandpass, we receive bandpass signal, take its hilbert transform, multiply it with [latex]j[/latex] and finally multiply it with [latex]e^{-j2\pi f_o t}[/latex] to recover [latex]x_l(t)[/latex] This is the fundamental working principle of all practical IQ modulators or Software-Defined Radio’s. If you have any questions or suggestions related to this article, please leave us a comment.