$30
General Information
The goal of this assignment is to become familiar with two basic modulation schemes, FSK and AM, PSK and QAM. You will be also implement your first GNU Radio block.
Exercise 1
In this exercise you will investigate the AM modulation.
1. Create a new flowgraph that has sampling rate of 192 KSPS (192000 samples/sec).
2. Start your flowgraph with a random source block, that produces samples in the range of [0,1] with byte data type. This will be your source bit stream.
3. Consider that our telecommunication scheme has a target bitrate of 9600 bits/sec. Use the Repeat block to increase the duration of every sample from the random source block.
4. Plot the resulting signal at a time sink with the target sampling rate equal to 192 KSPS.
5. The [0,1] range is very convenient in the digital domain, but in most cases it is problematic for signal processing. Apply the proper operations on the signal and convert it on the range [-1, 1]. A bit with value 0 should correspond to a -1 signal amplitude. Use the time sink of the previous step to justify your result.
Now you are going to modulate this signal using Amplitude modulation. The mathematical formula for the AM is:
y(t)= A[1+µx(t)]cos(2πfct)
where y(t) is the modulated signal, A the amplitude, µ the modulation index, x(t) the
input data signal with the proper symbol duration and fc the carrier frequency.
6. Modulate the signal that you have already constructed with AM using the following parameters:
• A =1
• µ=0.8
• fc =10kHz
Report a screenshot of the modulated signal.
7. Research the bibliography and report what is the modulation index. Play with different values and report what do you observe.
8. During your experiments you may observe that there are too many spurious emissions on the resulting spectrum. Report possible reasons for this.
9. Try to reduce the number of spurious by applying pulse shaping and/or other kind of filtering. You my find useful an existing pulse shaping flowgraph that is located at the examples directory.
Exercise 2
In this exercise you will improve the performance of the naive FM modulator that we created during the class.
1. Open the simplified_fsk.grc flowgraph. Make all the proper modifications, in order the sampling rate to be 192 KSPS and the bitrate 1200.
2. Try to improve the RF performance of the FSK modulator (reduce the spurious emissions) by applying pulse shaping and/or filtering.
3. Compare the resulting bandwidth with the bandwidth of a proper FSK modulator, like GNU Radio provides (frequency_mod block). What do you observe?
Exercise 3
In this exercise you will implement your first GNU Radio block, providing the implementation of a modulator that supports various modulations schemes (BPSK, QPSK, 16-QAM).
1. First create a part of the flowgraph that reads data from a file and splits the byte stream into a stream of K bits per byte. K is the number of bits per constellation point, depending the modulation scheme of the scenario. You can use the existing GNU Radio blocks for byte splitting.
2. Using the gr_modtool create a block with the name constellation_mapping. This block has a byte input stream and a complex output stream. For every byte of K bits it produces a complex number that corresponds to a constellation point of the appropriate modulation scheme. The block takes as argument the number of K bits that each constellation point carries. This number can be used to identify the modulation scheme that should be used, depending on the table below.
K
Modulation
1
BPSK
2
QPSK
4
16-QAM
The constellation points for every modulation scheme are depicted in Figures 1, 2 and 3.
Using the QT Constellation sink, provide a screen-shot of the constellation for each modulation scheme.
3. You may observe that the maximum IQ amplitude of each modulation scheme is different. This means that the mean energy of each modulation scheme is different. In general this is not desirable. For this reason, perform normalization at the constellation points of each modulation scheme. The normalization factors can be retrieved from the table below.
Modulation
Normalization factor
BPSK
1
QPSK
p
1/ 2
16-QAM
p
1/ 10
Again, provide a screen-shot that shows the constellation of each modulation scheme. Discuss possible reasons for a system to have the same mean energy for all modulation schemes.
Figure 1: BPSK constellation points
Figure 2: QPSK constellation points
Figure 3: 16-QAM constellation points