Page 1 of 7
Coursework for CAN202 2024/25 S1
Summary of the coursework:
i. The coursework contributes to 20% of the final mark of CAN202.
ii. The maximum possible mark for this coursework is 100.
iii. There are three questions, where each question contains a number of sub-questions.
iv. Assessed learning outcome: B.
v. Release date of the coursework: 7
th April 2025.
vi. Submission deadline: 23:59, 28
th April 2025.
vii. The usual late-submission policy may apply (i.e., 5 marks deduction per working day).
viii. No generative AI may be used when completing the coursework.
ix. Please submit ONE PDF file that contains your report and FOUR .m files. See below for
more information.
Please also read the following instructions for detailed guidance and requirements:
i. The coursework requires you to perform programming in MATLAB.
ii. Some MATLAB functions require additional toolboxes. You may need to install the following
MATLAB Toolbox: Signal Processing Toolbox.
iii. In the .m files, you must arrange the codes according to the sequence of the sub-questions.
Add comments such that one can clearly identify the code designed for any sub-question;
see appendix for an example.
iv. You must ensure that the .m files can be executed without any error message. If an error
occurs during execution, then the corresponding sub-question and all following
programming sub-questions cannot earn more than 50% of their allocated marks (unless
otherwise specified).
v. Unless otherwise specified, programming sub-questions without any executable code cannot
earn more than 50% of their allocated marks.
vi. Any question that is not about programming can be answered by writing. Such writings
should be clearly scanned and attached to the single PDF file that you are asked to submit.
vii. When asked to provide plots (both in MATLAB-programming questions and analytical
questions), please ensure that all axes are well defined and all labels and curves on the plots
are readable to an old person.
viii. Clearly label questions’ indices. Label page numbers and the total page number in the PDF.
ix. Control the length of your answers as much as possible.
Questions will begin from the next page. Attempt ALL questions.
Page 2 of 7
1. Double-sideband Suppressed-Carrier Amplitude Modulation (DSB-SC AM):
In this question, you will use MATLAB and realize the modulation and demodulation of DSB SC AM. The modulating signal for this question can be found by running the command “load
handel” in MATLAB. After running the command, you will see two variables “Fs” and “y” in
the workspace. The variable “y” is the digital data of a piece of song “hallelujah,
hallelujah, …”, and the variable “Fs” gives the sampling frequency in Hz that is used to
generate the data in “y”. You can listen to the song by running the following command in
MATLAB (make sure you adjust the volume of your loudspeaker to a safe and audible level):
“player = audioplayer(y, Fs); play(player);”
The value of “Fs” is 8192. This sampling frequency should practically satisfy the Nyquist
sampling theorem, i.e., one may consider that the samples in “y” are taken by a sampling
frequency that is at least twice as much as the “effective” bandwidth of the soundtrack.
The carrier frequency that you must use for the DSB-SC AM signal is 𝑥 × 105 Hz, where 𝑥 is
the last non-zero digit of your student ID. For example, if your student ID is 1234560, then
you should use 6 × 105 Hz as the carrier frequency. The demodulation is done using
coherent detection, i.e., the correct carrier signal is multiplied to the modulated signal,
followed by a suitable lowpass filter. After the demodulation process, you should get the
same piece of song as the modulating signal from “handel”.
We will implement the above in MATLAB. When doing so, we are in fact simulating a digital
DSB-SC AM system. The carrier frequency is significantly larger than the bandwidth of the
modulating signal, and the highest frequency component of the modulated signal will be
much larger than the bandwidth of the modulating signal. Sampling the modulated signal
with insufficient sampling frequency would cause frequency aliasing (as suggested by the
Nyquist sampling theorem). As a result, we must sample the modulated signal with a much
higher frequency than “Fs” from “handel”.
Based on the above information, create a .m script named as “Q1_partA_abcdefg.m” for
the sub-questions from a to i below, where abcdefg is your student ID:
a. In MATLAB, load handel and play the soundtrack. Report what you hear. (1 mark)
b. What is the maximum bandwidth of the soundtrack in “handel” such that the
Nyquist sampling theorem is still satisfied? (1 mark)
c. Plot a block diagram that shows how a DSB-SC AM signal is generated and how
coherent detection is performed. Note that the bandwidth in Q1-a should be used to
guide your design.11 (3 marks)
d. Use the MATLAB function “fft” to plot the magnitude spectrum of the signal “y”
from “handel”. You must supply both the code and the resulting plot in the report.
Also, your plot must satisfy the following:
(1) Clearly label the frequency axis in Hz.
(2) Plot the spectrum such that the 0 Hz is at the middle of the frequency plot. In
other words, show both the “negative” and positive frequencies in the plot.
Consider the use of the MATLAB function “fftshift”.
(3) Justify why the range of the frequency axis in your plot is correct (in relation to
the sampling frequency that you use to perform the discrete Fourier transform).
(4 marks)
Page 3 of 7
e. It is sufficient to use the following sampling frequency to sample the DSB-SC
modulated signal without frequency aliasing, i.e.,
“Fs_new = ceil( (Fs/2+fc) / Fs * 2 ) * Fs;”
where fc is the carrier frequency you should use. Provide sufficient reasonings in the
report on why Fs_new is sufficient to avoid frequency aliasing.1111111111(2 marks)
f. Insert more samples to “y” from “handel” such that the sampling frequency is
changed from “Fs” to “Fs_new”. You may use the MATLAB function “resample”.
1 (2 marks)
g. Plot the frequency spectrum of the signal in Q1-f using the MATLAB function “fft”,
where the requirements listed in Q1-d must be satisfied. Compare the spectrum plot
in this question to the spectrum in Q1-d and comment on your observation.
(4 marks)
h. Perform DSC-SC AM using the signal generated in Q1-f and a cosine carrier signal of
the correct frequency (see rubric in the previous page). 1111111111111 (2 marks)
i. Plot the frequency spectrum of the signal generated in Q1-h. Your answer to this
question must satisfy the requirements as specified in Q1-d. 111111 (2 marks)
j. Multiply the signal in Q1-h by the same carrier signal used for DSB-SC AM and plot
the frequency spectrum of the resultant signal. Your answer to this question must
satisfy the requirements as specified in Q1-d. You may need to revise the sampling
frequency. 11111111111111111111111 (4 marks)
k. Apply lowpass filtering to the signal generated in Q1-j such that the frequency
spectrum of the filtered signal resembles the spectrum of “y”. You may consider the
use of the MATLAB function “lowpass”. (2 marks)
l. Down-convert the sampling frequency of the signal generated in Q1-k to 8192 Hz.
Then, play the down-converted signal in MATLAB. Discuss whether you have heard
the same soundtrack as the one originated from “handel”. Note that your code must
run and play in order to get marks for this sub-question. (3 marks)
It is possible to use a non-sinusoidal periodic signal as a carrier signal. In this case, the to-be modulated periodic signal is a periodic sawtooth wave that can be decomposed into an
infinite number of sine waves (by means of the Fourier series). The sawtooth waveform 𝑠(𝑡)
is illustrated in Figure 1, where the Fourier series representation is given as
𝑠(𝑡) =
𝐴
2
−
𝐴
𝜋
∑
∞
𝑛=1 𝑛
1
sin (
2𝜋𝑛𝑡
𝑇
) .
After applying a suitable bandpass filter to 𝑠(𝑡), one may obtain a desired carrier signal.
Figure 1 A periodic sawtooth wave
Page 4 of 7
Use another .m script named as “Q1_partB_abcdefg.m” to answer the sub-questions from
m to p below, where abcdefg is your student ID.
m. In MATLAB, generate a periodic sawtooth wave using the MATLAB function
“sawtooth” using a sufficiently high sampling frequency. Then, apply a suitable filter
such that a sinusoidal wave of the desired carrier frequency (see rubric) appears at
the output of the filter. Plot the output signal of the filter and verify that the output
signal is indeed a desired carrier signal. You may use MATLAB functions “lowpass” or
“bandpass” for designing the filter. (4 marks)
n. Use the signal generated in Q1-m as the carrier and generate the DSB-SC AM signal,
where the signal generated in Q1-f should be used as the modulating signal.
(2 marks)
o. In MATLAB, mix the signal in Q1-n with a suitable sinusoidal wave and apply a
suitable lowpass filter to obtain a baseband signal. Plot the frequency spectrum of
the filtered signal, where the spectrum plot must satisfy the requirements in Q1-d.
(4 marks)
p. Down-sample the signal generated in Q1-o and play the signal. Comment on
whether you hear the same piece of song as that in Q1-a. Your code must be able to
play the down-sampled version of the signal from Q1-o. (3 marks)
(Question 1 carries 43 marks)
2. Superheterodyne Receiver:
In this question, you will implement a superheterodyne receiver in MATLAB to demodulate
one piece of music from the signal that is stored in the file “soundtrack.mat”. The file
“soundtrack.mat” should be downloaded from LMO.
Specifically, there are 10 pieces of music that are modulated by DSB-SC AM. Each piece of
music lasts for 23 seconds, where the music signal has a bandwidth of 5000 Hz and a
sampling frequency of Fs=10000 Hz. According to the last digit of your student ID, you
should demodulate the bandpass music signal that has a carrier frequency as specified in the
table below:
Carrier Frequency Last Digit of Student ID
1.0 × 105 Hz 0
1.2 × 105 Hz 1
1.4 × 105 Hz 2
1.6 × 105 Hz 3
1.8 × 105 Hz 4
2.0 × 105 Hz 5
2.2 × 105 Hz 6
2.4 × 105 Hz 7
2.6 × 105 Hz 8
2.8 × 105 Hz 9
The signal “soundtrack” in “soundtrack.mat” are constructed by adding all 10 pieces of the
DSB-SC AM signals, where the sampling frequency of “soundtrack” is 1140000 Hz and is
stored as “Fs_new”.
The baseband version of the 10 pieces of the music can be found in “music.zip”. You should
download this file from LMO. Your task is to answer the sub-questions below which will
enable you to demodulate the signal located at the carrier frequency as suggested by the
table above. You must construct a superheterodyne receiver in MATLAB to perform the
demodulation, where you must use the intermediate frequency of 𝑓𝑖 = 5 × 104 Hz.
Create a .m script named as “Q2_abcdefg.m” for answering the following sub-questions,
where abcdefg is your student ID:
a. Plot the frequency spectrum of the signal in “soundtrack”, where you must fulfill the
requirements in Q1-d.111111111111111111111 (4 marks)
b. Observe the frequency spectrum in Q2-a and identify the 10 modulated signals by
specifying the carrier frequencies and the bandwidths.1 (2 marks)
c. What is the minimum required bandwidth of a communication channel such that the
signal in “soundtrack” can be transmitted? Support your answer with evidence.
111111111!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1!!!!!!!!!11 (2 marks)
d. For demodulation, using a superheterodyne receiver, you should first convert the
target DSB-SC AM signal from the carrier frequency in the above table to 𝑓𝑖
, then use
coherent detector to obtain the baseband music signal. Draw a block diagram that
contains three filters and two mixers to achieve the demodulation, where you must
specify the functionality of each component in the block diagram.1 (5 marks)
e. Write a piece of MATLAB code that realizes the demodulation process in Q2-d.
Specifically, you must fulfill the following requirements:
(1) Provide a frequency spectrum plot at the output of each mixer and also each
filter (5 spectra in total). The spectra figures must satisfy the requirements in Q1-d.
(2) Make sure that the sampling frequency of the signal at the coherent detector
output is 10000 Hz.
(3) Play the signal at the output of the coherent detector and state if you hear a
piece of guzheng music. 11
111111111111111!111!1 (14 marks)
f. Compare the sound you get from Q2-e to the 10 pieces of music in “music.zip”. You
should un-zip “music.zip” and listen to each of the 10 music. Do you find one piece
that is the same as the one from Q2-e? Are there any differences? State your answer
and provide justifications.!!!!!!!!!!!1 (2 marks)
g. State both the last digit of your student ID and the name of the music file that best
matches the sound you obtain from Q2-e. Note that there is a single correct
answer.111!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! (1 mark)
(Question 2 carries 30 marks)
Page 5 of 7
Page 6 of 7
3. Frequency Modulation (FM):
In this question, you are asked to study the following FM signal, i.e.,
𝑥𝐹𝑀(𝑡) = cos (2𝜋𝑓𝑐
𝑡 +
2𝜋
𝛽
𝑓𝑚
∫ cos(2𝜋𝑓𝑚𝑡)
0
𝑡
) ,
where 𝑓𝑐 = 5 × 105 Hz and 𝑓𝑚 = 104 Hz. The value of 𝛽 that you should use depends on the
last digit of your student ID; see the table below.
Last
digit
0 1 2 3 4 5 6 7 8 9
𝛽 2 2.2 2.4 2.6 2.8 3 3.2 3.4 3.6 3.8
You need to generate a digital version of 𝑥𝐹𝑀(𝑡) with a sampling frequency of 107 Hz.
Create a .m script named as “Q3_abcdefg.m” for answering the following sub-questions,
where abcdefg is your student ID:
a. Select the 𝛽 value according to the above table. Then, based on the 𝛽 value, obtain
the theoretical frequency spectrum expression for 𝑥𝐹𝑀(𝑡), assuming that 𝑥𝐹𝑀(𝑡)
lasts forever. You should use the MATLAB function “besselj” to evaluate the
numerical value of the relevant Bessel functions of the first kind. 1111111 (3 marks)
b. In MATLAB, create and plot the signal 𝑥𝐹𝑀(𝑡) for 3 × 10−4
second, where you must
use the settings as mentioned previously. 1!!!!!!!!11111 (2 marks)
c. In MATLAB, plot the frequency spectrum of the signal in Q3-b using the MATLAB
function “fft”, where the frequency spectrum plot must satisfy the requirements in
Q1-d.11 (4 marks)
d. Verify that the results in Q3-a and Q3-c agree with each other. 1 (2 marks)
e. In MATLAB, apply differentiation to the signal in
𝑥
Q3-b and plot the resultant signal
𝐹𝑀′(𝑡). You may use the MATLAB function “gradient” for differentiation. Verify that
the envelope of the signal 𝑥𝐹𝑀′(𝑡) is oscillating at a frequency of 𝑓𝑚 Hz.11 (3 marks)
f. In MATLAB, apply a hard limiter to the signal in Q3-b, where the amplitude of the
hard limiter output is limited to the range of [−0.1, 0.1]. Then, plot the output signal
of the hard limiter. 11111111111111111111111111111111111 (3 marks)
g. Obtain the frequency spectrum of the output signal of the above hard limiter using
the MATLAB function “fft”, where the spectrum must satisfy the requirements as
specified in Q1-d. Then, compare this spectrum with the spectrum obtained from
Q3-c and discuss any differences.11111111111111111111111111111111 (6 marks)
h. Based on the result in Q3-g, apply a suitable bandpass filter to the output signal of
the hard limiter such that the bandpass-filtered signal resembles 𝑥𝐹𝑀(𝑡). Verify your
result by examining the frequency spectrum of the bandpass-filtered signal.
(4 marks)
(Question 3 carries 27 marks)
– End of Questions –
See Appendix next page
Appendix:
The following provides a guideline on how you may format the .m file. Other formatting is
acceptable as long as one can clearly identify the codes for each sub-question.
Page 7 of 7
版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。