联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> Matlab编程Matlab编程

日期:2025-04-30 12:52

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
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp