 #### 联系方式

• QQ：99515681
• 邮箱：99515681@qq.com
• 工作时间：8:00-23:00
• 微信：codinghelp #### 您当前位置：首页 >> Matlab编程Matlab编程

###### 日期：2020-11-19 11:39

Assignment 2 - Simulation of a Hamming-coded

16-QAM System

Digital Communications, EEEN3009J, Autumn 2020/21

You are required to write, in MATLAB, a time domain simulation of a communication

system which uses coded 16-QAM modulation. The code used is a (7, 4) linear block code

called a Hamming code. The system model is shown in Figure 1. The channel model uses

symbol rate sampling and the only channel impairment is additive white Gaussian noise

(AWGN).

Figure 1: Block Diagram of the Hamming-coded 16-QAM system to be simulated.

The (7, 4) Hamming code has the following generator matrix: (1)

Note that the matrix G is in systematic form. Therefore, from class notes, Given that the received vector may be written as

r = c + e, where c denotes the transmitted codeword and e the error vector, decoding of

this code proceeds by using the received vector r to form the syndrome s = rHT = eHT

.

The maximum-likelihood error vector e may then be identified via Table 1 below.

1

Table 1: Decoding table for the (7, 4) Hamming code.

Syndrome s Error Vector e

000 0000000

001 0010000

010 0100000

011 0000100

100 1000000

101 0000001

110 0001000

111 0000010

The following are the requirements:

? Use your simulation to plot the symbol error rate (SER) versus Es/N0 curve for the

system. Plot SER on a log scale and Es/N0 in dB.

? Then, on the same graph, plot the theoretical SER curve for the system. To do this,

you will need to derive an expression for the probability of symbol error for this system

as a function of Es/N0.

? Also, on a separate plot show the simulated and theoretical bit error rate (BER) versus

Eb/N0 in dB.

? From the BER curves, estimate the value of Eb/N0 above which the Hamming code

offers improved performance over an uncoded system, i.e., find the values of BER and

Eb/N0 at which the two curves cross over each other.

? From the BER curves find the coding gain (in dB) at a BER of 10?4

.

? Your program should consist of a single m-file script, and should be appropriately

annotated with comments. You should not use any procedures from the MATLAB

communications toolbox.

? Your assignment should be submitted via Brightspace, and should contain two files:

(a) Your MATLAB simulation m-file, and

(b) A short report (in PDF format) containing the system performance graphs

mentioned above. A brief commentary about the methods you used and the

results you obtained should also be included in this report. The answers to the

specific questions asked above should also be stated clearly in your report.

? The deadline is 11:30 pm (Dublin time) on Friday 20 November 2020.

2

? And most importantly: The program you submit should be your own work.

Programs will be scrutinized for evidence of copying. Programs in which copying is

found will NOT be awarded a pass grade.

3