Reference no: EM133180788
Principles of Digital Communication
Project
This project will introduce you to constellation diagrams for PSK, QPSK, and QAM constellations and will visualize the effects of noise on the results. Please refer to the Panopto video for the assignment for full explanations.
You will use two MATLAB live scripts provided to you. These are adaptations of scripts provided by MATLAB. Live scripts are MATLAB code that produce results inside of the code when they are run. These must be run from MATLAB that has the Communication toolbox. Not all versions of MATLAB work with these codes. The UMKC remote labs have the Communications toolbox and works with these codes.
The live scripts create a constellation and then the received constellation after noise is received between transmitter and receiver. The codes also send 10,000 symbols and compute symbol error rates (symbol error probabilities). The codes display three scenarios with various levels in dB of the following.
Eb/N0 = Signal energy per bit/noise energy per bit
The code begins with a "StartEbNo" value, and then uses "EbNoStep" to produce two other plots. The two live scripts are the following.
• AddAWGNToAn8PSKSignalExample.mlx produces various constellation for M-ary phase shift keying. It also produces the QPSK constellation.
• The file GeneralQAMModulationInAnAWGNChannelExample.mlx produces QAM constellations.
You can work in teams of up to 4 people. Only one report needs to be submitted for the entire team.
Question 1.1: Provide a brief introduction and overview of the project (1/2 page maximum). Then provide specific answers to the plots and questions below.
Part 1 - PSK Constellations
Plots 1.1 through 1.3: Show the plots of 8PSK with EbNo values of 10, 7, and 4 dB. You may need to copy a section of the screen to extract the images out of the remote labs.
Question Q1.2: What are the symbol error rates for these three Eb/N0 values?
Plots 1.4 through 1.6: Show the plots of 16PSK with Eb/N0 values of 10, 7, and 4 dB. The code creates 16 points that are still within a radius of 1.0 from the center. This is analogous to a situation that has a maximum power. Constellation points must be created that all stay within that maximum power.
Q1.3: What are the symbol error rates (SERs) for these three 16PSK scenarios? Put the answers in a table along with your answers from Q1.1.
Q1.4: What are the sizes of the 8PSK and 16PSK constellations that are created and what is the relative spacing between constellation points?
Q1.5: What can you observe in the difference between SERs for 8PSK and 16PSK? Why does this happen? What to the figures show about why this happens?
Part 2 - 4PSK and QPSK Constellations
For this part of the project, you will compare 4PSK and QPSK constellations that are created by the AddAWGNToAn8PSKSignalExample.mlx code.
To switch between the two, change line 14 between "Modulator=pskModulator" and "Modulator=qpskModulator" and correspondingly for line 15.
Plot 2.1: Show the plot of 4PSK at EbNo=10 dB.
Plot 2.2: Show the plot of QPSK at EbNo=10 dB.
Q2.1: What are the similarities and differences between the 4PSK and QPSK constellations? What are the spacings between constellation points? Note that QPSK constellation points lie on √2/2 coordinates.
Q2.2: What are the symbol error rates (SERs) for 4PSK versus QPSK? Put the answers in a table similar to Q1.2. Chose Eb/N0 values of 7, 4, and 1 dB.
Q2.3: What do you conclude about the differences between the 4PSK and QPSK outputs? Why are the results as they are?
Part 3 - 16QAM and 32QAM Constellations
The code GeneralQAMModulationInAnAWGNChannelExample.mlx produces results very similar to Parts 1 and 2, except now for QAM constellations. Two constellations have already been provided for 16QAM and 32QAM by changing Line 3 to M=16 or 32. They created a vector called "quad1_c" that provides the complex values for the coordinates in the first quadrant where real and complex values are positive. The code then creates a vector "c" for all 16 or 32 constellation points. The vector "quad1_c" has spacing of 2 in the real and complex directions, but then it is scaled to fit within a ±1 grid in both real and imaginary directions.
Start Eb/N0 at 10 dB and use steps of -3.
Plots 3.1 through 3.3: Show the three plots for 32QAM.
Q3.1: Show the table similar to Q1.2 to compare 16QAM and 32QAM.
Q3.2: Compare your Part 1 PSK results and Part 3 QAM results. All used the same Eb/No values. What can you say about which performance is better or worse? Consider both SER and achievable bit rates.
Part 4 - 20QAM Constellation
Make an optimal 20QAM constellation by modifying the code for the 16 and 32 QAM constellations. Create the constellation on a ±1, ±3, ±5 grid that is scaled to fit within ±1 in both real and imaginary directions. See how 16QAM and 32QAM have been implemented.
Plots 4.1 through 4.3: Show three plots for 20QAM. Start Eb/N0 at 10 dB and use steps of -3.
Q4.1: Show the table similar to Q1.2 to compare 16QAM, 20QAM, and 32QAM.