辅导ES3C5留学生、systems讲解、MATLAB程序语言调试、MATLAB设计辅导 辅导留学生 Statistics统计、回归、迭
- 首页 >> 其他 ES3C5: Signal Processing
Lab Assignment 3 Briefing Sheet
Submission Deadline: 12pm (Noon) on 5 December 2019
Autumn 2019
1 Purpose
The following module learning objectives are applicable for this assignment:
• Model signals, filters and processes using computer packages.
• Design signal processing systems.
• Apply signal processing systems to classify signals and extract information.
The focus of this assignment is signal estimation as an application of signal processing. You will
find that the material from Lectures 21 and 22 and Lesson 18 in the notes is particularly relevant,
though a general understanding of earlier module material is also helpful, including Lecture 20
(Lesson 17) on random signals and our coverage of FIR filters.
2 General Instructions
1. While it is expected that you may discuss the assignment with your classmates, your submission
must be your own. Plagiarism of any kind is not acceptable and can result
in a mark of zero.
2. Download the zip directory ES3C5_1920_lab3_data.zip from the ES3C5 Assessment
and Feedback Moodle page. Extract three files: ES3C5_1920_lab3_template.m,
uLab3_signals.mat and Lab3.txt, where is your student number.
3. Rename the file ES3C5_1920_lab3_template.m to uLab3.m (where is your student
number) and place that file and uLab3_signals.mat in your MATLAB working
directory (this should be a directory where you have write privileges on your computer).
4. Open uLab3.m and rename the function title in the first line from
ES3C5_1920_lab3_template() to uLab3() (where is your student number).
Do not change the output argument Answers or any of the code in the top-level function.
You will be entering all of your code in the subfunctions. Also, do not change the output
arguments of the subfunctions or introduce any new input arguments.
1
5. Complete the problems listed in Section 3 and refer toLab3.txt for the parameter
values that you must use. You will also need to load data from uLab3_signals.mat,
and there are already calls to do this as needed in the template code. Enter the required code
for each problem in the corresponding subfunction in uLab3.m. The code must calculate
the answers using your assigned parameters and data set unless otherwise indicated. When
a question includes plotting a figure, the corresponding plot call must be included inside the
subfunction code, but details such as axis labels and legends can be added after your solution
function runs.
6. ALL plots must be labelled with suitable axis and curve labels. There are points specifically
allocated for this. Include your student number and the question number in each plot title.
Each plot shall be saved as a jpg-file where the filename is the number of the question.
7. Include readable comments in your code that briefly summarise your steps. See the subfunction
Q0 below (and in uLab3.m) as a template example with suitable comments:
function c0 = Q0()
% Assign answer to c0 (double value)
% Define triangle lengths
a0 = 2; % 1st side
b0 = 1; % 2nd side
% Find length of hypothenuse
c0 = sqrt(a0^2 + b0^2); % Pythagorean theorem to find 3rd side
end
8. Combine your code file uLab3.m with all of the saved figures into a single zip-file called
uLab3.zip (where is your student number). You must submit the zip-file to
Tabula.
3 Problems
Please answer all of the following questions with reference toLab3.txt for your specific
parameter values and uLab3_signals.mat for your data where applicable.
4 points (1 for each problem) are allocated for providing suitable comments in your code that
explain key steps and demonstrate your understanding of your implementation. However, succinctness
is still appreciated.
1. (6 Points) You work for Midlands Space and are helping to monitor a series of test rocket
launches that will be used to install navigation satellites. You are assessing the performance
of a time-of-flight sensor that will be used to help measure the rocket altitude. You have
collected a series of noisy altitude data and you wish to fit the data to the quadratic function
y (t) = A1 + B1t + C1t2 + w (t),
such that you need to estimate the parameters A1, B1, and C1 (you do not need to worry
about the units of these parameters) and w (t) is a noise signal. Your data was collected
starting from time t = 0 at the constant interval defined in your parameter file. The noisy
data vector y1 is provided in your data file uLab3_signals.mat and there is already a
call to load this vector in the Q1 subfunction. Please answer the following:
(a) Construct the linear model observation matrix O to estimate the unknown parameters
A1, B1, and C1. Assign O to Q1 subfunction output argument O1.
(b) Apply linear model estimation to estimate the unknown parameters A1, B1, and C1.
Assign these three constants in the same order to the 3×1 Q1 subfunction output vector
param1.
(c) Use the parameter estimates to predict the altitude data for the same times at which
the sensor values were taken. Compare the predictions with the actual sensor values in
a time-domain plot (treat the y-axis as altitude in metres). Save the plot as a jpg-file
named Q1.jpg. Calculate the mean square error of the predicted values and assign this
error to Q1 subfunction output argument mse1.
2. (6 Points) You are a control engineering consultant and are visiting the factory of the
XYZ Manufacturing company to test an industrial heating system. Based on the system
specification, you expect the impulse response to behave according to the general equation
provided in your parameter file where w (t) is the noise signal. You have collected noisy
thermometer readings but a poor uplink from your sensor meant that many readings were
dropped and you only have recordings y2 for the times given by the vector tVector2 (both
provided in your data file uLab3_signals.mat). Please answer the following:
(a) Construct the linear model observation matrix O to estimate the unknown parameters
A2, B2, and C2. Assign O to Q2 subfunction output argument O2.
(b) Apply linear model estimation to estimate the unknown parameters A2, B2, and C2.
Assign these three constants in the same order to the 3×1 Q2 subfunction output vector
param2.
(c) Use the parameter estimates to predict the temperature for the same times at which
the sensor values were taken. Compare the predictions with the actual sensor values
in a time-domain plot (treat the y-axis as arbitrary temperature). Save the plot as a
jpg-file named Q2.jpg. Calculate the mean square error of the predicted values and
assign to Q2 subfunction output argument mse2.
Hint: This is intended to be a challenging problem, but we have covered all of the material
that you need to solve this problem in Lecture 21 / Lesson 18. Note that you do not have
a fixed sampling interval here. Also, the lectures and module notes state that our signal
can “include polynomial terms of the function variables”. This generalises even further; our
signal can include practically any function of the variables, as long as the signal is linear in
the unknown parameters.
3. (6 Points) You work for ACME Mobile and you are performing wireless propagation testing
in Coventry where a new 5G base station will be installed. Since there are many cloudy days,
you are measuring the impact of signal reflections when the base station is communicating
with a mobile user. You have worked out that there are two primary signal paths of interest:
3
the direct path from the base station and one that reflects off of the clouds. The reflected
cloud signal arrives 2 samples later than the direct signal. Thus, you can write the received
signal as a noisy difference equation of the form:
y [n] = A3x [n] + B3x [n − 2] + w [n] .
You have collected samples of the received signal y [n] based on the transmission of a pseudorandom
pilot sequence x [n], and these are given as the vectors y3 and x3, respectively, in your
data file uLab3_signals.mat. The noise signal is w [n]. Please answer the following:
(a) Construct the linear model observation matrix O to estimate the unknown parameters
A3 and B3. Assign O to Q3 subfunction output argument O3.
(b) Apply linear model estimation to estimate the unknown parameters A3 and B3. Assign
these two constants in the same order to the 2×1 Q3 subfunction output vector param3.
(c) Use the parameter estimates to predict the received signal for the same pilot sequence.
You do not need to save a plot. Calculate the mean square error of the predicted values
and assign to Q3 subfunction output argument mse31.
(d) Consider an alternative received signal model where you account for an additional re-
flected component that arrives 1 sample after the direct signal, i.e., the received signal
is a difference equation of the form:
y [n] = αx [n] + βx [n − 1] + γx [n − 2] + w [n] .
Repeat the estimation problem with these three unknown parameters and determine
the corresponding mean square error with the same data set y3 and pilot sequence
x3. Assign the mean square error to Q3 subfunction output argument mse32. Provide
a brief (1-2 sentences) comment on the significance of the difference (if any) between
mse31 and mse32. Write this comment as a string to Q3 subfunction output argument
comment3.
4. (6 Points) You work for Healthy R Us Medical Devices and you are testing a new batch of
EEG sensors for recording electrical brain activity. You have identified a sensor that appears
to be particularly noisy and is reading strong values even when there is no connection. You
have made a recording of values produced by the sensor and these are saved to y4 in your
data file uLab3_signals.mat. You wish to determine the probability distribution of the
signal using maximum likelihood estimation. Please answer the following questions:
(a) Use the mle function to fit the sensor data to a continuous uniform distribution. Assign
the lower and upper bounds of the estimated distribution to the 1 × 2 Q4 subfunction
output argument param4Uni.
(b) Use the mle function to fit the sensor data to a Gaussian (i.e., normal) distribution.
Assign the mean and variance of the estimated distribution to the 1 × 2 Q4 subfunction
output argument param4Normal.
(c) Superimpose both estimated distributions on the empirical distribution of the data set.
The empirical distribution is obtained by plotting the signal histogram and is included
in the Q4 template code. The addition of your probability density curves (without
overwriting the histogram) is enabled by setting the plot’s hold option “on”. Clearly
4
distinguish and label all of the data (e.g., using a legend). Save the plot as a jpg-file
named Q4.jpg. Hint: We describe several useful probability density functions in Lecture
20 / Lesson 17.
(d) Briefly comment (1-2 sentences) on which distribution appears to be more accurate and
why. No calculations are necessary. Write this comment as a string to Q4 subfunction
output argument comment4.
4 Submission of Deliverables
You submit the zip-file uLab3.zip (where is your student number) that should contain:
• uLab3.m (where is your student number)
• Q1.jpg
• Q2.jpg
• Q4.jpg
Be sure that uLab3.m runs correctly with no other custom files required. You must submit
the zip-file to Tabula.
Your assignment must be submitted by 12pm (noon) on Thursday 5 December 2019,
otherwise late penalties will apply.
5 Marking Criteria
Each problem will be marked according to:
• Correctness of the answers and figure contents.
• Calculations and labelled plots used to arrive at the answers.
• Code running efficiently as expected.
There is a total of 24 points available. This includes 4 points allocated for providing suitable
comments in your code.
6 Assignment Weighting
This assignment is worth 10 % of your module mark.
5
Lab Assignment 3 Briefing Sheet
Submission Deadline: 12pm (Noon) on 5 December 2019
Autumn 2019
1 Purpose
The following module learning objectives are applicable for this assignment:
• Model signals, filters and processes using computer packages.
• Design signal processing systems.
• Apply signal processing systems to classify signals and extract information.
The focus of this assignment is signal estimation as an application of signal processing. You will
find that the material from Lectures 21 and 22 and Lesson 18 in the notes is particularly relevant,
though a general understanding of earlier module material is also helpful, including Lecture 20
(Lesson 17) on random signals and our coverage of FIR filters.
2 General Instructions
1. While it is expected that you may discuss the assignment with your classmates, your submission
must be your own. Plagiarism of any kind is not acceptable and can result
in a mark of zero.
2. Download the zip directory ES3C5_1920_lab3_data.zip from the ES3C5 Assessment
and Feedback Moodle page. Extract three files: ES3C5_1920_lab3_template.m,
u
3. Rename the file ES3C5_1920_lab3_template.m to u
number) and place that file and u
directory (this should be a directory where you have write privileges on your computer).
4. Open u
ES3C5_1920_lab3_template() to u
Do not change the output argument Answers or any of the code in the top-level function.
You will be entering all of your code in the subfunctions. Also, do not change the output
arguments of the subfunctions or introduce any new input arguments.
1
5. Complete the problems listed in Section 3 and refer to
values that you must use. You will also need to load data from u
and there are already calls to do this as needed in the template code. Enter the required code
for each problem in the corresponding subfunction in u
the answers using your assigned parameters and data set unless otherwise indicated. When
a question includes plotting a figure, the corresponding plot call must be included inside the
subfunction code, but details such as axis labels and legends can be added after your solution
function runs.
6. ALL plots must be labelled with suitable axis and curve labels. There are points specifically
allocated for this. Include your student number and the question number in each plot title.
Each plot shall be saved as a jpg-file where the filename is the number of the question.
7. Include readable comments in your code that briefly summarise your steps. See the subfunction
Q0 below (and in u
function c0 = Q0()
% Assign answer to c0 (double value)
% Define triangle lengths
a0 = 2; % 1st side
b0 = 1; % 2nd side
% Find length of hypothenuse
c0 = sqrt(a0^2 + b0^2); % Pythagorean theorem to find 3rd side
end
8. Combine your code file u
u
Tabula.
3 Problems
Please answer all of the following questions with reference to
parameter values and u
4 points (1 for each problem) are allocated for providing suitable comments in your code that
explain key steps and demonstrate your understanding of your implementation. However, succinctness
is still appreciated.
1. (6 Points) You work for Midlands Space and are helping to monitor a series of test rocket
launches that will be used to install navigation satellites. You are assessing the performance
of a time-of-flight sensor that will be used to help measure the rocket altitude. You have
collected a series of noisy altitude data and you wish to fit the data to the quadratic function
y (t) = A1 + B1t + C1t2 + w (t),
such that you need to estimate the parameters A1, B1, and C1 (you do not need to worry
about the units of these parameters) and w (t) is a noise signal. Your data was collected
starting from time t = 0 at the constant interval defined in your parameter file. The noisy
data vector y1 is provided in your data file u
call to load this vector in the Q1 subfunction. Please answer the following:
(a) Construct the linear model observation matrix O to estimate the unknown parameters
A1, B1, and C1. Assign O to Q1 subfunction output argument O1.
(b) Apply linear model estimation to estimate the unknown parameters A1, B1, and C1.
Assign these three constants in the same order to the 3×1 Q1 subfunction output vector
param1.
(c) Use the parameter estimates to predict the altitude data for the same times at which
the sensor values were taken. Compare the predictions with the actual sensor values in
a time-domain plot (treat the y-axis as altitude in metres). Save the plot as a jpg-file
named Q1.jpg. Calculate the mean square error of the predicted values and assign this
error to Q1 subfunction output argument mse1.
2. (6 Points) You are a control engineering consultant and are visiting the factory of the
XYZ Manufacturing company to test an industrial heating system. Based on the system
specification, you expect the impulse response to behave according to the general equation
provided in your parameter file where w (t) is the noise signal. You have collected noisy
thermometer readings but a poor uplink from your sensor meant that many readings were
dropped and you only have recordings y2 for the times given by the vector tVector2 (both
provided in your data file u
(a) Construct the linear model observation matrix O to estimate the unknown parameters
A2, B2, and C2. Assign O to Q2 subfunction output argument O2.
(b) Apply linear model estimation to estimate the unknown parameters A2, B2, and C2.
Assign these three constants in the same order to the 3×1 Q2 subfunction output vector
param2.
(c) Use the parameter estimates to predict the temperature for the same times at which
the sensor values were taken. Compare the predictions with the actual sensor values
in a time-domain plot (treat the y-axis as arbitrary temperature). Save the plot as a
jpg-file named Q2.jpg. Calculate the mean square error of the predicted values and
assign to Q2 subfunction output argument mse2.
Hint: This is intended to be a challenging problem, but we have covered all of the material
that you need to solve this problem in Lecture 21 / Lesson 18. Note that you do not have
a fixed sampling interval here. Also, the lectures and module notes state that our signal
can “include polynomial terms of the function variables”. This generalises even further; our
signal can include practically any function of the variables, as long as the signal is linear in
the unknown parameters.
3. (6 Points) You work for ACME Mobile and you are performing wireless propagation testing
in Coventry where a new 5G base station will be installed. Since there are many cloudy days,
you are measuring the impact of signal reflections when the base station is communicating
with a mobile user. You have worked out that there are two primary signal paths of interest:
3
the direct path from the base station and one that reflects off of the clouds. The reflected
cloud signal arrives 2 samples later than the direct signal. Thus, you can write the received
signal as a noisy difference equation of the form:
y [n] = A3x [n] + B3x [n − 2] + w [n] .
You have collected samples of the received signal y [n] based on the transmission of a pseudorandom
pilot sequence x [n], and these are given as the vectors y3 and x3, respectively, in your
data file u
(a) Construct the linear model observation matrix O to estimate the unknown parameters
A3 and B3. Assign O to Q3 subfunction output argument O3.
(b) Apply linear model estimation to estimate the unknown parameters A3 and B3. Assign
these two constants in the same order to the 2×1 Q3 subfunction output vector param3.
(c) Use the parameter estimates to predict the received signal for the same pilot sequence.
You do not need to save a plot. Calculate the mean square error of the predicted values
and assign to Q3 subfunction output argument mse31.
(d) Consider an alternative received signal model where you account for an additional re-
flected component that arrives 1 sample after the direct signal, i.e., the received signal
is a difference equation of the form:
y [n] = αx [n] + βx [n − 1] + γx [n − 2] + w [n] .
Repeat the estimation problem with these three unknown parameters and determine
the corresponding mean square error with the same data set y3 and pilot sequence
x3. Assign the mean square error to Q3 subfunction output argument mse32. Provide
a brief (1-2 sentences) comment on the significance of the difference (if any) between
mse31 and mse32. Write this comment as a string to Q3 subfunction output argument
comment3.
4. (6 Points) You work for Healthy R Us Medical Devices and you are testing a new batch of
EEG sensors for recording electrical brain activity. You have identified a sensor that appears
to be particularly noisy and is reading strong values even when there is no connection. You
have made a recording of values produced by the sensor and these are saved to y4 in your
data file u
signal using maximum likelihood estimation. Please answer the following questions:
(a) Use the mle function to fit the sensor data to a continuous uniform distribution. Assign
the lower and upper bounds of the estimated distribution to the 1 × 2 Q4 subfunction
output argument param4Uni.
(b) Use the mle function to fit the sensor data to a Gaussian (i.e., normal) distribution.
Assign the mean and variance of the estimated distribution to the 1 × 2 Q4 subfunction
output argument param4Normal.
(c) Superimpose both estimated distributions on the empirical distribution of the data set.
The empirical distribution is obtained by plotting the signal histogram and is included
in the Q4 template code. The addition of your probability density curves (without
overwriting the histogram) is enabled by setting the plot’s hold option “on”. Clearly
4
distinguish and label all of the data (e.g., using a legend). Save the plot as a jpg-file
named Q4.jpg. Hint: We describe several useful probability density functions in Lecture
20 / Lesson 17.
(d) Briefly comment (1-2 sentences) on which distribution appears to be more accurate and
why. No calculations are necessary. Write this comment as a string to Q4 subfunction
output argument comment4.
4 Submission of Deliverables
You submit the zip-file u
• u
• Q1.jpg
• Q2.jpg
• Q4.jpg
Be sure that u
the zip-file to Tabula.
Your assignment must be submitted by 12pm (noon) on Thursday 5 December 2019,
otherwise late penalties will apply.
5 Marking Criteria
Each problem will be marked according to:
• Correctness of the answers and figure contents.
• Calculations and labelled plots used to arrive at the answers.
• Code running efficiently as expected.
There is a total of 24 points available. This includes 4 points allocated for providing suitable
comments in your code.
6 Assignment Weighting
This assignment is worth 10 % of your module mark.
5