Assignment title: Information


Modern Communication Systems (EEET 4036), SP5-2016 University of South Australia Homework Assignment 1 This homework assignment has 3 questions. There are 33 marks in total. Note that the questions can be solved independently. Your answers must be submitted as a single .pdf file not exceeding 6 pages. You may include plots or drawings to illustrate your answers, but use them sparingly. Matlab code listings are to be submitted as .m files, combined into a single .zip file. All files must be submitted via the course website. In this homework assignment we consider QAM baseband transmission over a noisy channel. A block of K symbols is transmitted at a symbol rate of Rs = 1=T symbols per second. The symbols uj with j = 1;2; : : : ; K are taken from some QAM constellation alphabet A. The transmitted waveform is u(t) = KX j =1 ujp(t − jT); (1) where p(t) is a unit-energy root Nyquist pulse. The noisy received signal can be written as r(t) = u(t) + z(t); (2) where z(t) models the noise. The received waveform r(t) is passed through a matched filter q(t) to obtain y(t) = r(t) ∗ q(t): (3) Q1. (4 marks) Suppose that the matched filter output y(t) is sampled at t = kT, where k = 1;2; : : : ; K. Using (1){(3) and the fact that p(t) is a root Nyquist pulse, show that the received signal can be described by the simple discrete-time signal model yk = uk + wk; (4) where yk = y(kT) and where wk are the noise samples. Express the noise samples wk as a function of the continuous-time noise z(t). One advantage of (4) is that the signals and noise are described by one sample per symbol, i.e. we are able to simulate the system without having to implement transmit pulse shaping and receive filtering. A block diagram of a communication system that uses this model is shown in Fig. 1. Mapper + Demapper LS Receiver tx bits A fukg fykg B fdkg C fwkg rx bits Figure 1: System model with one sample per symbol. Double arrows indicate complex signals. 1Modern Communication Systems (EEET 4036), SP5-2016 University of South Australia Q2. In this question, you will implement and simulate a transmitter, noisy channel, and receiver as shown in Fig. 1. Adhere to the Matlab implementation guidelines included at the end of this assignment. (a) (6 marks) Implement a mapper and demapper for a 4-QAM constellation A = fejπ=4; ej3π=4; e−j3π=4; e−jπ=4g. This constellation is more commonly referred to as quadrature phase shift keying (QPSK). Use the mapping 00 ! ejπ=4, 01 ! ej3π=4, 11 ! e−j3π=4, and 10 ! e−jπ=4. To test your implementation, write a top-level script. In the transmitter, randomly generate a sequence of bits with equal probability for 0 and 1. Feed the bit sequence into your mapper to generate a length-K sequence of QPSK symbols. In the receiver, pass the symbol sequence into your demapper to map the symbols back to bits. Count the number of symbol and bit errors. Do you expect any errors? Explain why/why not. Hint: You may use the provided templates MapperTemplate.m, DemapperTemplate.m, and Q2aTemplate.m as a starting point for your implementation. (b) (4 marks) Extend your implementation from (a) by adding a QPSK least squares (LS) receiver. Count the number of symbol and bit errors again. Do you expect any errors now? Explain why/why not. (c) (3 marks) To simulate the channel, add complex additive white Gaussian noise (AWGN) in the top-level script. In Matlab, individual noise samples wk can be generated with the command wk = sigmaw*(randn+1i*randn)/sqrt(2). The strength of the noise can be controlled via the parameter sigmaw (standard deviation of the noise). A scatter diagram illustrates the symbol constellation in the complex plane by plotting the real part of the symbols on the x-axis and their imaginary part on the y-axis. Set K = 100 and plot the scatter diagram of the noisy received symbols yk. Vary sigmaw and describe the effect. With the help of the scatter diagram, discuss how the LS receiver maps the noisy received symbols yk to the decisions dk. (d) (3 marks) Set sigmaw=0.8 and repeatedly transmit blocks of K = 100 symbols until 1000 symbol error events occur. The theoretical probability of bit error at this noise level is 10.56%. Check the correctness of your implementation by comparing the measured probability of bit error to the theoretical value. What is the measured probability of symbol error? Discuss your observations. Q3. In this question you will implement and simulate transmit pulse shaping and receive filtering as depicted in Fig. 2. In the context of the overall system, this m-samples-per-symbol model would replace the one-sample-per-symbol channel model between points A and B in Fig. 1. However, for simplicity we do not consider the blocks prior to point A and after point B here. We also assume that no noise is present such that wn = 0 for all n. Adhere to the Matlab implementation guidelines included at the end of this assignment. symbol rate Rs sample rate Fs Upsampler m Digital Tx Filter fpng + Downsampler m Digital Rx Filter fqng fvng fsng fxng frng A fukg B fykg fwng Figure 2: System model with m samples per symbol. Double arrows indicate complex signals. 2Modern Communication Systems (EEET 4036), SP5-2016 University of South Australia (a) (4 marks) The model in Fig. 2 requires a rate change from symbol rate Rs to sample rate Fs = mRs at the transmitter, and then a second rate change back to symbol rate Rs at the receiver. Implement the upsampler and downsampler. To test your implementation write a top-level script. At the transmitter, generate a random QPSK symbol sequence fukg of length K and upsample it by a factor of m. At the receiver, perform the inverse operation by passing the received sequence fxng into your downsampler. Count the number of symbol errors. Do you expect any errors? Explain why/why not. Hint: Use the Matlab command uk=exp(2i*pi*(randi(4,1,K)-1/2)/4) to generate a sequence of K random QPSK symbols. (b) (6 marks) Now add the transmit and receive filters to your simulation from (a). Both filters are assumed to be root raised cosine pulses that have a rolloff factor of α, are truncated to a duration of N symbol periods, and are sampled at m samples per symbol. Set K = 1 such that only a single symbol is transmitted. For m = 4, α = 0:2 and N = 10, plot the real and imaginary parts of the sequence fxng at the output of the receive filter. After how many samples does the peak occur? How many symbol periods T does this correspond to? Explain the delay. Compare your observations with a plot of the real and imaginary parts of the sequence fykg at the output of the downsampler. Hint: You may use the Matlab commands rcosdesign and conv. (c) (3 marks) Set K = 200 and plot a constellation diagram of the symbol sequence fykg at the output of the downsampler. Reduce the truncation length to values N < 10 symbol periods and observe the effect on the constellation. Describe your findings. Implementation Guidelines • Write your own Matlab code. Do not submit code copied from others or downloaded from the internet. • For all questions that require a Matlab implementation, provide code listings as .m file. • Implement each block in the diagrams as a dedicated Matlab function in a separate file. Use function/file names that resemble the block names, e.g. Mapper for the block 'Mapper', and LSReceiver for the block 'LS Receiver'. • Use a separate top-level script for each part of the questions, e.g. Q2a.m for Q2(a). • Include brief comments describing what the major code components are intended to do. 3