Lab 6 - Error Correction Codes and QPSK

Lab 6 - Error Correction Codes and QPSK
Goal
Study linear block error correction codes and higher order modulation.
1 Coding Gain
1.1 The n-repetition (n,1) Code.
1. Open PSK_BER.vi, this VI is a simulation-only VI and does not utilize the USRP hardware
2. Set the parameters for a n-repetition code, where n = 3.
3. Measure the following bit error rates for a range of for Eb /N0 values from 0dB to 10dB (i.e.
eleven 1dB steps).
a) Uncoded bit error rate.
b) Code-bit error rate.
c) Coded bit error rate.
1.2 The Hamming (7,4) Code
1. Set the parameters for a hamming (7, 4) code, where n = 7, k = 4.
2. Measure the following bit error rates for a range of for Eb /N0 values from 0dB to 10dB (i.e.
eleven 1dB steps).
a) Uncoded bit error rate.
b) Code-bit error rate.
c) Coded bit error rate.
1.3 The Golay (23,12) Code
1. Set the parameters for a golay (23, 12) code, where n = 23, k = 12.
2. Measure the following bit error rates for a range of for Eb /N0 values from 0dB to 10dB (i.e.
eleven 1dB steps).
a) Uncoded bit error rate.
b) Code-bit error rate.
c) Coded bit error rate.
1
1.4 Data Scrambler
1. Now, Choose a high value of Eb /N0 (i.e. Eb /N0 > 20).
2. Take a screenshot of the power spectrum with the ”Scramble” control off and then compare
it to the power spectrum for when it is on for each of the above three codes. What do you
notice?
3. Now, set the selection to the (n,1) code. Observe what happens when you vary n = {3, 5, 7, 9}
while the ”Scramble” control if off. What happens? Why?
2 QPSK Symbol Mapper and Gray Coding
2.1 Uncoded Bit Error Rate
1. Open PSK_BER.vi, this VI is a simulation-only VI and does not utilize the USRP hardware
2. You will turn off all error correction coding for this part.
3. Collect the bit error rate and symbol error rate for a range of for Eb /N0 values from 0dB to
10dB (i.e. eleven 1dB steps).
2.2 Gray Coded Bit Error Rate
1. Turn on “Gray Coding”.
2. Collect the bit error rate and symbol error rate for a range of for Eb /N0 values from 0dB to
10dB (i.e. eleven 1dB steps).
2.3 QPSK Phase Ambiguity
1. Set the Eb /N0 value to 20.
2. Turn-on the “Random Phase” by clicking on the boolean control on the front panel.
3. Use the “Adjust Phase” knob to correct for the phase offset until you have minimized the
bit error rate. Make sure to press the “Reset BER” button every time you adjust the phase
such that you get the correct BER measurements. Since the phase of QP SK take values
1
φk = 0, π2 , π, 3π
2 , you have a 4 chance of finding the correct phase.
4. Collect the bit error rate for each phase value you try and tabulate your results. Based on
your results, what is the random phase?
Post Lab
1. Plot the Uncoded Bit Error Rate, Code-Bit Error Rate and Coded Bit Error Rate for the
(3,1) code.
2. Plot the Uncoded Bit Error Rate, Code-Bit Error Rate and Coded Bit Error Rate for the
(7,4) code.
2
3. Plot the Uncoded Bit Error Rate, Code-Bit Error Rate and Coded Bit Error Rate for the
Golay (23,12) code.
4. What is the measured coding gain for the error correction codes from parts 1-3? Which error
correction code is better? Why?
5. Compare the measured coding gains from part 4 to the expression for asymptotic coding gain
G, where
G ≈ Rc (t + 1)
t = f loor
dmin − 1
2
do they match?
6. Let us consider an 8-PSK modulated waveform:
a) Write down a symbol mapper table for a gray-coded 8-PSK waveform.
b) What is the phase shift ambiguity for this waveform?
7. What are the consequences of using an even value of n for an n-repetition (n,1) code?
3