Generation of Single-Sideband Modulation by Arbitrary Waveform Generators


I/Q modulations are extensively used in a variety of applications including telecommunications, quantum computing (QC), nuclear magnetic resonance (NMR), electron paramagnetic resonance (EPR) spectroscopy and band-excitation atomic force microscopy (AFM). In this post, we demonstrate how to generate such signals using Arbitrary Waveform Generators from Zurich Instruments with an emphasis on single-sideband (SSB) modulation as an example of quadrature modulation. Both HDAWG and UHFAWG arbitrary waveform generators (AWG) have a unique feature to perform I/Q modulation on their waveform generated in multiple AWG channels. In this post, we use the UHFAWG instrument for demonstration; however, the same procedure can be applied for the HDAWG device as both have identical user interface, i.e. LabOne.

The Zurich Instruments UHFAWG Arbitrary Waveform Generator equipped with the UHF-LI Lock-in Amplifier option has the capability of performing amplitude modulation (AM) with adjustable phase on its generated waveform. The AM modulation is simply done by multiplying the waveform with a carrier generated by one of the instrument’s oscillators. The following figure shows the most straightforward AM method, i.e. double-sideband (DSB) modulation [1] which can be easily carried out using the UHFAWG by changing its mode from ‘plain’ to ‘modulation’.

Fig. 1. Scheme of double-sideband (DSB) modulation.

Here, we intend to implement a more sophisticated modulation method, i.e. single-sideband (SSB) modulation using the UHF-AWG. Since the AWG has two output channels, it is possible to generate and combine two waveforms to produce a quadrature I/Q modulated signal. A special case of I/Q modulation is single-sideband modulation which is used in many transmission systems due to its bandwidth efficiency. In fact, an SSB-modulated signal occupies half the bandwidth of its corresponding DSB-modulated signal. The following scheme demonstrates an SSB modulation system in which an I/Q modulation along with a Hilbert filter are utilized [2]. As it is evident from Figure 2, it is necessary to have a \(\pm 90°\) phase shift between the two carriers which is possible thanks to the UHFLI lock-in amplifier.

Fig. 2. Scheme of single-sideband (SSB) modulation.

The Hilbert filter takes the Hilbert transform of the base-band signal \(s(t)\) which is essential in generating SSB-modulated signals. The ideal Hilbert filter is non-causal and thus impossible to realize [3]. However, if we know our signal beforehand, we can calculate its Hilbert transform offline either analytically or numerically and then, it can be generated by the AWG.

Base-band Signals 

In order to clearly demonstrate the difference between SSB and DSB modulations in the spectral domain, it is better to use a signal whose spectral content is uniformly distributed over its bandwidth. Therefore, a train of sinc pulses will be the choice. A sinc pulse with a zero-crossing time of \(\tau\) is defined as follows:

\[s(t)=\text{sinc}\bigg(\frac{t}{\tau}\bigg) = \frac{\text{sin}(\frac{\pi t}{\tau})}{\frac{\pi t}{\tau}}\]

The bandwidth of such a sinc pulse is given by \(1/(2\tau)\) [4]. In our case, we use a pulse duration of \(\tau=10\ \text{ns}\) so that its bandwidth is \(\Delta f = 50\ \text{MHz}\). The Hilbert transform of the sinc pulse is calculated to be the following waveform:

\[\hat{s}(t)=\bigg(\frac{\pi t}{2\tau}\bigg)\text{sinc}^2\bigg(\frac{t}{2\tau}\bigg)\]

Since the Hilbert transform acts like an all-pass filter with a unit gain, the spectral content of both signal and its Hilbert transform is the same except for the phase in which there is a -90° phase shift for positive frequencies and +90° phase shift for negative frequencies. Therefore, \(\hat{s}(t)\) has the same bandwidth as \(s(t)\).

Both signals can be easily generated by the UHF-AWG whose sequencer has both sinc and ramp functions. For \(s(t)\), we can simply use the sinc command; while for \(\hat{s}(t)\) we need to multiply two copies of a sinc waveform with a ramp signal. Figure 3 shows the baseband signals generated by the 2 channels of AWG and measured with the LabOne scope. The blue curve shows the sinc pulse \(s(t)\) and the green one plots its Hilbert transform \(\hat{s}(t)\). The parameter \(\tau\) is shown to be \(10\ \text{ns}\) by the vertical cursors.

Fig. 3. Baseband signals: Sinc pulse (blue) and its Hilbert transform (green).

Calculating the FFT of input signals by changing the mode of LabOne scope from ‘Time Domain’ to ‘Freq Domain FFT’, we measure a perfect flat spectrum for the baseband signals as depicted in Figure 4. Both spectra overlap completely as the Hilbert transform is an all-pass filter. The signal bandwidth is \(50\ \text{MHz}\) in accordance with the sinc zero-crossing time of \(10\ \text{ns}\).

Fig. 4. Spectrum of baseband signals: Sinc pulse (blue) and its Hilbert transform (green).

For a limited collection of functions such as sinc, the Hilbert transform can be calculated analytically and then, the AWG sequencer can be used to generate the signal similar to what we did in our example. The more general way is to calculate the Hilbert transform of an arbitrary waveform using the hilbert function of MATLAB [5]; then, we can save the results in a CSV file and upload it to the AWG.

Band-pass Signals 

Here, we would like to modulate our base-band signal in order to transfer its spectrum to a band-pass region around the carrier frequency \(f\) which is \(400\ \text{MHz}\) in our case. The simplest amplitude modulation for the waveform \(s(t)\) according to the scheme of Figure 1 will be a double-sideband modulation given by:

\[x(t)=s(t)\cos(2\pi f t)\]

The bandwidth of such a DSB-modulated signal \(x(t)\) is twice the bandwidth of the base-band waveform \(s(t)\). Therefore, in our example with a sinc pulse train of \(50\text{-MHz}\) bandwidth, the DSB-modulated signal has a bandwidth of \(\Delta f_x = 100\ \text{MHz}\) around the central frequency \(f = 400\ \text{MHz}\). The DSB-modulated signal can be easily obtained using the amplitude modulation of the UHFAWG where you can modulate the generated pulse train by one of its local oscillators similar to Figure 1.

The SSB-modulated band-pass signal can be obtained using the following I/Q modulation:

\[y(t) = s(t)\cos(2\pi f t)\pm \hat{s}(t)\sin(2\pi f t)\]

where \(+\) determines upper-sideband (USB) modulation while \(-\) is responsible for lower-sideband (LSB) modulation. The bandwidth of the SSB modulated signal \(y(t)\) is the same as the bandwidth of the base-band waveform \(s(t)\). In our example, we will see that the SSB-modulated signal covers a bandwidth of \(\Delta f_y = 50\ \text{MHz}\) either on the right side of the carrier (USB) or on its left side (LSB).

In order to make an I/Q modulation with the UHFAWG, we need to send two AWG Outputs to one of the instrument’s Signal Outputs. AWG Outputs 1 and 2 use the phase in the path of demodulators 4 and 8, respectively. Oscillator 1 with a carrier frequency of \(f = 400\ \text{MHz}\) is assigned to both paths; however, there is a \(90°\) phase shift between the two paths in order to fulfill the quadrature conditions. Figure 5 is a snapshot of the LabOne user interface highlighting the relevant settings by red boxes.

Fig. 5. LabOne settings to generate an I/Q modulation.

The following AWG program demonstrates how to generate SSB modulation at Signal Output 1 and DSB modulation at Signal Output 2.

// Parameters 
const T = 10.0E-9;                              // Zero-crossing time 
const amp = 0.5;                                // Amplitude 
const NumSamp = 20000;                          // Number of samples 
const PeakPos = round(NumSamp/2);               // Peak position 
const F_samp = 1.8E9;                           // sampling frequency 
const beta = NumSamp/(2*T*F_samp);              // Beta parameter of sinc 
// Generating sinc pulse 
wave w_sinc = amp*sinc(NumSamp, 1.0, PeakPos, beta);
// Generating Hilbert transform of sinc 
const slope = 2*amp*M_PI*beta*PeakPos/NumSamp;  // Coefficient 
// Ramp signal 
const rampCorrect = 0.5/NumSamp;
wave w_ramp = ramp(NumSamp, -0.5, 0.5) + rampCorrect;
// sinc with half the width 
wave w_sinc_half = sinc(NumSamp, 1.0, PeakPos, beta/2);
// Hilbert transform of sinc 
wave w_hilb = slope*w_sinc_half*w_sinc_half*w_ramp;
// Generating the SSB and DSB signals as well as Trigger 
while (true) {
playWave(1, w_sinc, 1, w_hilb);
playWave(2, M_SQRT2*w_sinc);

It is worth mentioning that the UHF-MF Multi-frequency option is required to generate I/Q modulation. Figure 6 shows the temporal shape of the two modulated signals: 1) The SSB signal by the blue curve and 2) The DSB signal by the green one. The signals are measured using the 2-channel scope feature of the instrument equipped with the UHF-DIG Digitizer option.

Fig. 6. Temporal shape of modulated pulses: SSB modulation (blue) and DSB modulation (green).

As we can see from the figure, there is not much information in the temporal representation of the two modulated signals to be able to fairly compare SSB versus DSB modulation. However, the spectral representation of the SSB and DSB signals are quite different which will be the subject of the next section.

DSB vs. SSB Spectrum 

The main difference between an SSB signal and a DSB one is in their bandwidth. A DSB signal covers twice the bandwidth of its corresponding base-band signal symmetrically around its carrier frequency; while for an SSB signal, the bandwidth is the same as the base-band signal located on the left-hand (LSB) or the right-hand (USB) of its carrier frequency. Figure 7 shows the spectrum of the DSB signal (green) which has a bandwidth of 100 MHz symmetrically located around the carrier frequency 400 MHz.

Fig. 7. Spectrum of the USB-modulated signal (blue) versus the DSB-modulated signal (green).

The blue plot in Figure 7 depicts the SSB signal. Its carrier frequency is at 400 MHz and it covers a bandwidth of 50 MHz on the right-hand side of the carrier. It is quite straightforward to convert the SSB signal from upper side-band to lower side-band by simply changing the quadrature modulation phase shift from +90° to -90° in the modulation path 8 of UHF-AWG shown in Figure 5.

Fig. 8. Spectrum of the LSB-modulated signal (blue) versus the DSB-modulated signal (green). 

In addition to DSB modulation, Figure 8 demonstrates the spectrum of the LSB-modulated signal (blue) which covers a bandwidth of 50 MHz on the left-hand side of the carrier at 400 MHz. Figures 7 and 8 clearly show the differences among double side-bandupper single side-band and lower single side-band modulations in the spectral domain.


The UHFLI Lock-in Amplifier equipped with the UHF-AWG Arbitrary Waveform Generator option made by Zurich Instruments is capable of performing some band-pass signaling schemes thanks to its amplitude modulation feature. In particular:

  • Double-sideband modulation can be easily performed up to a carrier frequency of 600 MHz.
  • Quadrature I/Q modulation can be carried out because of two simultaneous AWG outputs.
  • Single-sideband modulation as a special case of quadrature modulation is possible.
  • Various baseband signals can be generated due to a rich collection of built-in functions and the user-defined signal upload feature.


The author is sincerely grateful to Dr. Bruno Küng for his helpful comments on this post.


  1. Wikipedia: “Double-sideband modulation.”
  2. Wikipedia: “Single-sideband modulation.”
  3. Wikipedia: “Hilbert transform.”
  4. Wikipedia: “Sinc function
  5. MathWorks: “Discrete-time analytic signal using Hilbert transform.”


The AWG sequences of this blog post are available in the GitHub repository of Zurich Instruments.