Digital Communications and Signal Processing Assignment 2020
Department of Computer science, University of Warwick CV4 7AL, UK
Winner prize:
the one who gets the highest score to solve question 2 and 8 will be awarded 500 Chinese Yuan: the best filter developer and demodulator in 2020
Requirement:
1. Source code needed for question 2, 6, 7, and 8 (commented). In addition, for these questions, you should include descriptions and useful figures in your report if you find it is useful to explain your answer better.
2. The plotting code is not necessary to provide, e.g. the plotting code for question 1.
3. The final report including the answers of all questions and the required source code should be zipped together and submitted via Tabula.
4. Please visit the following web site for a submission cover sheet: http://www.dcs.warwick.ac.uk/undergraduate/cover.html
5. The completed report should be submitted before 12 noon on Friday
Week 10 (i.e., 13th March 2020).
1. Write the following sinusoids in terms of complex exponentials and plot them both in time and frequency domains: [10]
a. x(t) = 3 cos ( 100 t+15o)
b. x(t) = 10 sin(1000 t)
c. x(t) = 3 sin ( 200 t-0.2 )
d. x(t) = 2sin(200 t)+ 4sin(400 t)
2. A Chinese character (everyone will be randomly assigned to one, possibly distorted) is drawn, see for example, as in Fig. 1, using 10 x10 squares and being sampled row by row. [15]
The digital signal is then transmitted using ASK and Manchester code is used. Also, the signal is coded using parity code (odd parity for rows and even parity for columns). From the file you received, demodulate them and recover the original signal.
Each signal corresponds to a different 300×300 black-and-white bitmap image. Prior to modulation, the data was augmented by one extra column and row to include parity bits (odd parity for rows, even parity for columns). ASK and Manchester coding were used for modulation. The carrier frequency is 1000 Hz. The data is transmitted row after row. At the end each row, an ‘end-of-row’ signal is transmitted (5 periods of a sinusoid wave at half the frequency of the carrier). The sampling rate of the wave file is 5000 Hz.
Use w=wavread(‘filename’); to read a .wav file.
3. Assume we have event {N, R} with probability P(N)=0.2 and P(R)=0.8 and the sequences as shown in Table 1 are coded using the Huffman code. Fill in Table 1 and explain in details how you created the Huffman tree and the results you obtained. Comment on the average code length and entropy. [10]
Sequence
NNN
NNR
NRN
RNN
RRN
RNR
NRR
RRR
Probability
Codeword
Codeword Length (in bits)
Weighted code length
Entropy
Table 1.
4. A second-order digital filter can be described by means of the following diagram (Fig. 2). Derive
the difference equation of the above filter.
[10]
Fig. 2.
5. The pole-zero specification of a digital filter is as follows:
Its gain at d.c. is |H(0)|=1. Determine the z-transfer function of the filter and hence the filter coefficients (i.e. an and bn where n=0,1,2). [10]
6. Write a subroutine in a conventional programming language (e.g., C, Pascal, Matlab or Java) to implement the filter. It should have x(n) and the filter coefficients (i.e. a0, a1, a2, b1 and b2) as input parameters, and y(n) as the output parameter. [15]
7. Use a random number generation subroutine to generate zero mean additive noise (n) of variance 0.3 and add it to the sinusoid x(m,n)=cos(mn) to produce noisy sequences g(m,n) for m=1,5, i.e.
E (n) = 0
E (n) 2 = 0.3
g(m,n) = x(m,n)+ (n)
Calculate the mean square error
M 1
Ee [x(m, n) g(m, n)]2
Pole
Zero
1/2 + j /2, 1/2- j /2
-1, -1
m
n0
where M=40. Describe the behaviour of Eem/M as a function of M. [10]
8. Download a noisy sound file from http://www.dcs.warwick.ac.uk/~feng/teaching/dcsp.html. Using a filter designed by yourself to clean up the noise as much as possible. Write down in details on how you do it into a report and submit the code and report via Tabula. [20]