联系方式

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

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

日期:2019-12-03 09:32

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,

u<ID>Lab3_signals.mat and <ID>Lab3.txt, where <ID> is your student number.

3. Rename the file ES3C5_1920_lab3_template.m to u<ID>Lab3.m (where <ID> is your student

number) and place that file and u<ID>Lab3_signals.mat in your MATLAB working

directory (this should be a directory where you have write privileges on your computer).

4. Open u<ID>Lab3.m and rename the function title in the first line from

ES3C5_1920_lab3_template() to u<ID>Lab3() (where <ID> 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 to <ID>Lab3.txt for the parameter

values that you must use. You will also need to load data from u<ID>Lab3_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 u<ID>Lab3.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 u<ID>Lab3.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 u<ID>Lab3.m with all of the saved figures into a single zip-file called

u<ID>Lab3.zip (where <ID> is your student number). You must submit the zip-file to

Tabula.

3 Problems

Please answer all of the following questions with reference to <ID>Lab3.txt for your specific

parameter values and u<ID>Lab3_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 u<ID>Lab3_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 u<ID>Lab3_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 u<ID>Lab3_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 u<ID>Lab3_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 u<ID>Lab3.zip (where <ID> is your student number) that should contain:

? u<ID>Lab3.m (where <ID> is your student number)

? Q1.jpg

? Q2.jpg

? Q4.jpg

Be sure that u<ID>Lab3.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


版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp