Lab Manual Rev 5 Lab 4 - Amplitude Modulation - 0
Lab Manual Rev 5 Lab 4 - Amplitude Modulation - 0
5 Amplitude Modulation
5.1 Summary
This laboratory exercise has two objectives. The first is to gain experience in actually programming
the USRP to act as a transmitter or a receiver. The second is to investigate classical analog amplitude
modulation and the envelope detector.
5.2 Background
5.2.1 Amplitude Modulation
Amplitude modulation (AM) is one of the oldest of the modulation methods. It is still in use today in
a variety of systems, including, of course, AM broadcast radio. In digital form it is the most common
method for transmitting data over optical fiber [1].
If 𝑚(𝑡) is a baseband “message” signal with a peak value 𝑚𝑝, and 𝐴𝑐 cos(2𝜋𝑓𝑐𝑡) is a “carrier” signal at
carrier frequency, 𝑓𝑐, then we can write the AM signal 𝑔(𝑡) as
𝑚(𝑡)
𝑔(𝑡) = 𝐴 [1 + 𝜇 ] cos(2𝜋𝑓 𝑡) (18)
𝑐 𝑐
𝑚𝑝
where the parameter 𝜇 is called the “modulation index” and takes values in the range 0 < 𝜇 ≤ 1 (0
to 100%) in normal operation. For the special case in which 𝑚(𝑡) = 𝑚𝑝 cos(2𝜋𝑓𝑐𝑡) where 𝑓𝑚 is the
frequency of the message, we can write equation (1) as
In the above expression the first term is the carrier, and the second and third terms are the lower
and upper sidebands, respectively. Fig. 42 and Fig. 43 is a plot of a 20 kHz carrier modulated by a 1
kHz sinusoid at 100% and 50% modulation.
1
Printed on: 12/4/2015 © 2014, Anees Abrol and Eric Hamke
Fig. 43. AM Signal: Modulation Index = 0.5
where the angle 𝜃 represents the difference in phase between the transmitter and receiver carrier
oscillators. We will follow a common practice and offset the receiver’s oscillator frequency 𝑓𝑂 from
the transmitter’s carrier frequency, 𝑓𝑐. This provides the signal
where the so-called “intermediate” frequency (IF) is given by 𝑓𝐼𝐹 = 𝑓𝑐 − 𝑓𝑜. The signal 𝑟1(𝑡) can be
passed through a bandpass filter to remove interference from unwanted signals on frequencies near
𝑓𝑐. Usually the signal 𝑟1(𝑡) is amplified since 𝐴𝑟 < 𝐴𝑐 due to signal attenuation as it moves through
the transmission medium.
Demodulation of the signal 𝑟1(𝑡) is most effectively carried out by an envelope detector. An
envelope detector can be implemented as a rectifier followed by a lowpass filter. The envelope 𝐴(𝑡)
of 𝑟1(𝑡) is given by
𝑚(𝑡) 𝜇𝐴𝑟
𝑟 𝑟
𝐴(𝑡) = 𝐴 [1 + 𝜇 + 𝑚(𝑡) (22)
𝑚𝑝 𝑚𝑝 ]=𝐴
5.3 Pre-Lab
5.3.1 Transmitter
The task is to add blocks as needed to produce an AM signal, and then to pass the AM signal into the
while loop to the Write Tx Data block. A template for the transmitter has been provided in the file
AM_Tx_Template.vi (Fig. 44). This template contains six interface controls, two waveform graphs to
display your message signal and scaled amplitude modulated signal, and “message generator”
controls set to produce a message signal consisting of three tones. The three tones are initially set
to 1, 2, and 3 kHz, but these frequencies can be changed using the message generator front-panel
controls.
Tx Programming Notes:
a) Observe that the baseband signal 𝑔̃(𝑛𝑇) is actually two baseband signals. By long-standing
tradition, the real part 𝑔𝐼(𝑛𝑇) is called the “in-phase” component of the baseband signal,
and the imaginary part 𝑔𝑄(𝑛𝑇) is called the “quadrature” component of the baseband
signal. The AM signal that you will generate in this lab project uses only the in-phase
component, with
𝑚(𝑡)
𝑔 (𝑛𝑇) = 𝐴 [1 + 𝜇 ] (23)
𝐼 𝑐
𝑚𝑝
And
𝑔𝑄(𝑛𝑇) = 0 (24)
You will explore other modulation methods in subsequent lab projects that use both
components.
These values are entered in the Tx Front Panel (Fig. 44) in the following fields
Note that the signal 𝑔(𝑡) produced by the USRP is a continuous-time signal; the discrete-to-
continuous conversion is done inside the USRP.
b) The message generator creates a signal that is the sum of a set of sinusoids of equal
amplitude. You can choose the number of sinusoids to include in the set, you can choose
their frequencies, and you can choose their common amplitude. The initial phase angles of
the sinusoids are chosen at random, however, and will be different every time the VI runs.
Get the data values of the generated signal by using the “Get Waveform Components” VI
(Fig. 45) for amplitude modulation operations.
c) Set up a “MathScript Node” (Fig. 46) with data values of the generated signal {m}, maximum
value of the generated signal {mp}, and modulation index {mu} as inputs. Use “Array Max
and Min” VI (Fig. 47) to get the maximum value of the generated signal, and the
“Modulation Index” control provided to set the modulation index {mu}. Use equations (23),
(24), and (25) to set up the text-based script to get the baseband signal {b].
Fig. 46: MathScript Node
d) There is one practical constraint imposed by the D/A converters in the USRP: The maximum
magnitude of the transmitted signal |𝑔̃(𝑛𝑇)| needs to have a maximum scaled value of 1.
Set up a text-based script by dividing the baseband signal {b} by the maximum of its absolute
value {max(abs(b))} to get the scaled baseband signal {A}.
f) Set up both the forms of the scaled baseband signal as outputs of the MathScript Node. Plot
the scaled baseband signal {A} by using the “Baseband Signal” waveform graph provided,
and input the complex form {G} to the “niUSRP Write Tx Data” VI (Fig. 48) to be transmitted.
Fig. 48: niUSRP Write Tx Data VI
g) Save your transmitter in a file whose name includes the letters “AM_Tx” and your initials.
Note: Modulation with the carrier occurs after the baseband signal is sent to the buffer for
transmission. To visualize the amplitude modulated signal, you may plot the waveform
received at the receiver end.
5.3.2 Receiver
A template for the receiver has been provided in the file AM_Rx_Template.vi (Fig. 49). This template
contains the six interface controls and two waveform graphs to display the received amplitude
modulated signal and the demodulated baseband output.
Rx Programming Notes:
a) Plot the received amplitude modulated signal from the “niUSRP Fetch Rx Data” VI (Fig. 50)
using the “Rx AM Signal” waveform graph provided.
Fig. 50: niUSRP Fetch Rx Data VI
b) Get the data values of the signal received from the “niUSRP Fetch Rx Data” VI (Fig. 50)by
using a “Get waveform components” VI (Fig. 45) so as to perform filtering operations.
d) Extract the real part of the complex filtered signal from the output of the Chebyshev band-
pass filter using the “Complex to Real/Imaginary” VI (Fig. 52). The real part is expressed as
shown in equation (21).
f) To filter out high frequencies to complete envelope detection, design a second order
“Butterworth” low-pass filter (Fig. 54) with a low cutoff frequency of 5 kHz, and a sampling
frequency the same as the “actual IQ rate” obtained from the niUSRP Configure Signal VI.
g) Build a waveform from the data values of the output of the low-pass filter designed above
by using a “Build Waveform” VI, setting the sampling time interval same as that of the
received waveform. Plot the waveform obtained with the “Baseband Output” waveform
graph provided.
h) Save your receiver in a file whose name includes the letters “AM_Rx” and your initials.
5.4 Lab Procedure
1. Run LabVIEW and open the transmitter and receiver VIs that you created in the pre-lab.
2. Connect the computer to the USRP using an Ethernet cable.
3. Open the NI-USRP Configuration Utility found in the National Instruments directory under
programs files as shown in Fig. 2. Be sure to record the IP addresses since you will need
them to configure your software.
If the IP address does not appear in the window then check your connections and ask the
Teaching Assistant (TA) to verify that the LAN card has been configured correctly.
4. Connect a loopback cable between the TX 1 and RX 2 antenna connectors. Remember to
connect the attenuator to the receiver end.
URSP in use
ut and the antenna/loopback-cable. The attenuator is used to decrease the power level of the transmitted signal in order to avoid a hi
6. Run the transmitter VI. LED “A” will illuminate on the USRP if the radio is transmitting. Use
zoom operations to check the message and scaled baseband waveforms on the transmitter
VI front panel.
7. Stop the transmission by using the large “STOP" button on the front panel.
Note: Using the “STOP” button on front panel rather than stopping from the “Abort
Execution” button on the menu bar ensures that the USRP is stopped cleanly.
8. Ensure that the receiver VI is set up according to Table VII.
Field Setting
Device Name: 192.168.10.x
Carrier Frequency: 915 MHz
IQ Rate: 1 MHz
Gain: 0 dB
Active Antenna: RX2
Number of Samples: 200,000 samples
9. Run the receiver VI. LED “C” will illuminate on the USRP if the radio is receiving data.
10. Next, run the transmitter.
11. Use zooming operations from the graph palette to zoom into the “Rx AM Signal” and
“Baseband Output” waveforms on the receiver front panel. The demodulated AM waveform
“Baseband Output” should be identical to the “Baseband Signal” waveform, except for
scaling (receiver output has a DC offset) and marginal noise.
5.4.1 Worksheet: The Effect of Varying the Modulation Index
1. Set the transmitter to use one of the three tones. Please note that using more than one tone
will make it very hard to make the observations.
2. Set the Start Frequency to 1 kHz.
3. Set the transmitter VI modulation index to the first value in Table VIII.
4. Start the transmitter VI.
5. Observe the demodulated signal i.e. “Baseband Output” waveform on the receiver VI. Note
the peak to peak voltage in Table VIIITable IX.
6. Stop the receiver VI. Update the modulation index to the next value in Table VIII and repeat
steps 4 through 6 until the table is complete.
Modulati Amplitu
on de
Index (Peak to
Peak)
0.1
0.2
Vpeak-to-peak
0.3
0.4 = 0.1
0.5
0.6
0.7
0.8
0.9
1.0
5.4.2 Worksheet: The Effect of Varying the Receiver Gain.
Warning: Too much receiver gain will overload the receiver A/D converters.
1. Set the transmitter to use one of the 3 tones. Please note that using more than one tone will
make it very hard to make the observations.
2. Set the transmitter VI gain to 20 dB.
3. Set the receiver VI gain to the first value in Table IX.
4. Run the receiver VI, and then the transmitter VI.
5. Observe the demodulated signal i.e. “Baseband Output” waveform. Note the peak to peak
voltage in Table IX.
6. Stop the receiver VI. Update the receiver gain to the next value in Table IX and Repeat steps
4 through 6 until the table is complete.
Receive Voltage
r Gain (Peak-
(dB) to-
Peak)
0
1
2
3 Vpeak-to-peak
4
Tx Gain = 20dB
Rx Gain =
5 10dB
6
7
8
9
10
5.5 Lab Write-up
Performance Checklist
Amplitude Modulation
Performance Measures
Task Standards Sat/Unsat
Hardware Setup Working setup for all with Loopback-cable.
Discussion
Did all configurations perform as expected?
Did you have any difficulties completing the lab?
Did your TA provide enough guidance?
Do you have any recommendations to improve the lab?
5.6 References
[1] Lab 2: Amplitude Modulation, Bruce A. Black, Rose-Hulman Institute of Technology, July 2013.