Assignment: Simulation of a Communication System
Purpose of the assessment:
The purpose of this assignment is to understand the fundamentals of communication systems in the presence of noise, underdevelop programming skills in Matlab, write technical reports.
Students will
a. Have capabilities in programming and simulating a basic communication system in Matlab
b. Have skills to design, investigate, and critically analyse the performance of overall system
c. Be able to understand performance as a function of SNR and wireless channels
d. Be able to write technical report
Description of the assessment:
1. Background
Digital communication has been evolving rapidly over the past two decades. Systems have developed to achieve data rates from few kilobits per second in 1990's to hundreds of megabits per seconds in 2015. This was supported by many technological advancements such as multi- carrier communication (OFDM), multiple antenna techniques (MIMO), high spectral efficient modulation schemes and superior error-control coding.
Despite all the technological innovations, the fundamentals of digital communication systems remain same. Therefore, learning about basic operations of a telecommunication system would assist understanding more complex advanced systems.
2. Requirements
This assignment shall address the following three areas:
1. In this section the students are required to carry out a literature review on a) Digital modulation schemes b) Different wireless channel models, c) Approaches to correct errors occurred in the receiver.
2. The basic functional block diagram of a telecommunication system is shown in below. (Please note that this is simplified model. Therefore, functions available in an actual system may differ from this.) Implement the communication system in Figure 1 in Matlab using m code. Save your codes in a m file.
![851_Figure.jpg](https://secure.tutorsglobe.com/CMSImages/851_Figure.jpg)
Figure 1: A block diagram of a basic digital communication system
Specifications for the Communication system:
a. Data bit generation: Use random integer generation function to create random ‘0' s and ‘1's (Refer Lab 3, 6)
b. Modulation: Use BPSK modulator with symbol energy of 1. (Refer Lab 3, 6)
c. Channel: Add randomly generated number with given noise variance. Noise variance is calculated according to the SNR which is a variable. (Refer Lab 6)
d. Symbol detection: Detect according to the conventional BPSK symbols constellation symbol boundaries (Refer Lab 6)
e. Demodulation: Assign ‘0's and ‘1's for your symbols (Detection and demodulation can be done together as well) (Refer Lab 6)
f. Bit-error rate calculation (BER): If a data bit is different from a recovered bit, then we say there is an error. BER is calculated by counting the total number of errors and then divided by total number of data bits used. (Refer Lab 8)
Instructions for Simulations
g. Calculate BER for total of 105 bits (per SNR). (Hint Lab 8)
h. Calculate BER for SNR values from 0 to 12 dB. SNR is defined as Energy per symbol to Noise variance. (Refer Lab 6)
i. Plot BER vs SNR curve in Matlab figure.
j. Change the modulation scheme into QPSK and generate BER vs SNR graph for QPSK. (Modify steps a to i accordingly).
k. Plot BER vs SNR curves for both BPSK and QPSK in the same Matlab figure.
l. Describe the two graphs BER vs SNR relationship for BPSK and QPSK.
3. Answer the following questions using your knowledge on digital communication and using the above simulation results.
a. Assuming a Gaussian channel, it can be observed that QPSK has more bit errors than BPSK at the same channel SNR. Does it mean QPSK is a poor modulation scheme? If so why engineers use QPSK instead of using BPSK?
b. Assume you need to obtain a lower BER around 10-8 at SNR of 10 dB. If the channel remains same as a Gaussian channel, then what can you do to reduce the BER?
Suggested approach:
1. The students are encouraged to do a literature review on fundamental of digital communications (e.g. lecture materials)
2. The students are required to complete the Matlab based laboratory materials. Use the previous laboratory sessions and help from Matlab documentation to write/simulate a Matlab code to complete the tasks given above.
3. The students are required to interpret the simulation results. Explain the figures from telecommunication engineers' point-of-view.
4. The students are required to answer the questions with the help of prior understanding and simulation results.
5. The students should compile a report including the Literature review, Matlab simulation results, results discussion and answers to questions. Matlab code/s should be submitted separately.
6. Clearly mention the names and student numbers of all the group members.
Submission Guidelines:
Your assignment should be completed according to the General Guidelines for Presentation of Academic Work.
1. successful completion of required tasks
2. quality of figures
a. comments
b. meaningful names
3. accompanying documentation including
a. table of contents and page numbers
b. a front page - indicating your name.
c. list of references used (IEEE style) - please specify if none have been used.
4. The report must be submitted in soft (electronic) copy under provided link in moodle course page. The page numbers of the assignment must be clear on each page.
5. The Matlab code must be submitted to the provided link in moodle course page.