ES3C5: Signal Processing Coursework Lab Assignment Brief 2025 | University

Published: 25 Sep, 2025
Category Assignment Subject Education
University University of Warwick Module Title ES3C5 Signal Processing

ES3C5: Signal Processing Coursework Lab Assignment Brief

ES3C5: Signal Processing Coursework Lab Assignment Briefing Sheet

1. Relevant Content

The focus of this assignment is Parts 2 and 3 of the module, in particular content related to digital filtering and signal estimation.

2.  Sessions and Support

There are 2 sets of in-person lab sessions to be held in Weeks 7 and 8 (exact dates and times listed in Tabula). You must attend your own sessions. If you would like to change either of your sessions: You must find someone to swap with and both of you must email the module leader to confirm that you agree. Otherwise, your entry at the other session may be refused.  Extra support can be obtained during the module leader’s support and feedback sessions in D2.11.

There is a support forum for all Lab Assignments under the “Key Module Resources”heading on Moodle. Emailed questions will generally be re-directed to the forum unless the question is truly individual.  Email/forum cutoff: In fairness to all students, the module leader will not respond to Assignment queries (either forum or email) sent after 9pm on Wednesday 27 November until after the submission deadline, unless there is an internal (i.e., university-side) problem with submissions.

3. Academic Misconduct

Your submission must be your own. Plagiarism of any kind is not acceptable and can result in a mark of zero. Many cases of academic misconduct (including plagiarism) have previously resulted in penalties for the assignments in this module. 

It is expected that you may discuss the assignment with your classmates. However, you should keep the following best practices in mind to avoid having your work flagged for academic misconduct:

  • Write your own code, comments, and written answers. Start from the provided templates. 
  • You should not adapt code from external sources, but if you do then they should be cited.
  • Do not write your implementation together with another student and submit it as your own work. This includes talking through your implementation line-by-line. Such cases count as academic dishonesty.
  • Do not share your assignment files with another student or use files from another student or other source as a starting point for your own submission. Copying or allowing your work to be copied, even if it is modified, still counts as plagiarism and can be flagged by our academic integrity processes.

Do You Need ES3C5 Assignment of This Question

Order Non Plagiarized Assignment

4. General Instructions

Heads up regarding names: These instructions include precise case-sensitive guidance regarding names of files, directories, functions, and variables. These must be followed exactly so that the marking scripts run correctly. There will be marks deducted for any deviations. Precise naming is standard practice in programming to ensure integration.  The instructions to complete this lab assignment are as follows:

1. Download the four files from Coursework Lab Assignment Data from the ES3C5 Moodle Page under the Assessment Information heading.  (a) ES3C5_2024_2025_lab_template.m (b) ES3C5_2024_2025_lab_template.docx (c) u<ID>_lab.txt (d) ES3C5_2024_2025_lab_recording.pdf  where <ID> is your student number.

2. Download your signals file u<ID>_lab_signals.mat from the ES3C5 Coursework Lab Assignment Signals Files page (link) under the Assessment Information heading, where <ID> is your student number.
Note: This is a separate download so that you do not need to download everyone else’s signals (over 100 MB).

3. Rename the template files as follows: 

  • ES3C5_2024_2025_lab_template.m to u<ID>_lab.m (where <ID> is your student number; don’t forget the “u” prefix here!) and place the file in your MATLAB working directory (this should be a directory where you have write privileges on your computer). 
  • ES3C5_2024_2025_lab_template.docx to u<ID>_labreport.docx.

4. Open u<ID>_lab.m and rename the function title in the first line from ES3C5_2024_2025_lab_template() to u<ID>_lab() (where <ID> is your student number). Do not change the output argument Answers or any of the code in the top-level function. Do not change the input or output arguments of the subfunctions. 

5. Complete the prescribed steps in the Recording Supplement (ES3C5_2024_2025_lab_recording_v1_1.pdf) to record the audio data that you will use to answer the problems in Question 1. This data will be stored to the file u<ID>_lab_Audio.mat.

6. Complete the problems listed below in Section 6 and refer to u<ID>_lab.txt for the functions and parameter values that you must use. You will need to load signals from u<ID>_lab_signals.mat and there are already calls to do this in the template code. Enter the required code in the corresponding subfunctions in u<ID>_lab.m; you should not write your own functions and you should only use functions from toolboxes that we cover in the module. The code must calculate the answers using your assigned parameters unless otherwise indicated. Take care to use parameters with the correct units.

7. When a question includes plotting a figure, please account for the following:

(a) Always start by creating a new blank figure. Do not close or overwrite existing figures.
(b) The plot function calls must be inside the question subfunction code.
(c) Carefully consider appropriate parameter ranges to view all necessary detail.
(d) ALL submitted plots must have labelled axes. You can add labels after your code runs.
(e) Any data point label should include the parameter name, value, and units. (f) Figures must include your student number and question number at the top.
(g) ALL submitted plots must be placed in u<ID>_labreport.docx as png images.

8. Include readable comments in your code that briefly summarise your work, especially critical steps. See the subfunction Q0 in u<ID>_lab.m as a template example.
9. Run your code file from the MATLAB command line and write the output to a structure named Answers. Save Answers to a mat file named u<ID>_lab_Answers.mat. For example, you can run your code as follows (remember to correct the apostrophes if copying):  Answers = u<ID>_lab; % Runs assignment code save(‘u<ID>_lab_Answers’, ‘Answers’) % Writes output to file
10. Place all necessary files into 1 folder named u<ID>_lab, and compress it into a single zip-file called u<ID>_lab.zip (where <ID> is your student number). Submit the zip-file to Tabula.  - Be sure to place the files into the named folder before zipping. This ensures that your code is nested in its own subdirectory when unzipping.

5. Questions (Total: 75 Marks)

Please answer all of the following questions with reference to u<ID>_lab.txt for your parameter values. All code to solve the following problems must be included in u<ID>_lab.m. Written answers in u<ID>_labreport.docx are required where specified, including copies of output figures.

25 marks are designated as being part of “First Class Problems”. These questions are deliberately more challenging. The instructors and lab demonstrators will not provide guidance on how to answer them. Clarifications can be made regarding what these questions are asking.

Up to 30 Marks in total can be deducted for poor coding style. Poor style includes:

  • Writing output to the command line (e.g., by omitting semi-colons for output suppression) 
  • Insufficient use of code comments to explain key steps and demonstrate your understanding of your implementation. However, succinctness is still appreciated.

ii. Filter design: Using the target specification, design the FIR filter. Assign the impulse response of the filter to Q1.h.
iii. Frequency response plot: Use the freqz function to plot the magnitude of the filter's frequency response. Save the plot and ensure it is well-labelled to validate the design, including frequency cutoffs and passband/stopband. Include the plot in u<ID>_labreport.docx. 
iv. Design validation: In 2 lines, briefly comment on whether the plot validates your design. 
v. Test Filter design: Pass the noisy audio signal Q1.audioNoisy through your filter using the filter function, and assign the output to Q1.filteredAudio.  
vi. Label the plot with the noisy signal and filtered signal and save it as a .png file to be included in u<ID>_labreport.docx. (d) (10 marks)

Applying a Chorus Effect with Time-Varying Delay You want to enhance your voice recording by applying a chorus effect. Use the following time-domain difference equation to apply a chorus effect with a time-varying delay:
𝑦[𝑛]= 𝑥[𝑛]+ 𝛼1 ⋅ 𝑥[𝑛 − (𝐷1 + 5  ∗ sin(2𝜋𝑓 ∗ 𝑛 ))] + 𝛼2 ⋅ 𝑥[𝑛 − (𝐷2 + 10 ∗⋅ 𝑠𝑖𝑛(2𝜋𝑓 ∗ 𝑛 + 𝜋/2))]

where a1 and a2 are the intensity of the chorus effect, D1 and D2 are the base delay times (measured in samples), and f is the modulation frequency (measured in cycles/sample).

i. Chorus application: Given values for chorus intensity (a1, a2), base delay times (D1, D2), and modulation frequency f in the . Use a for-loop to apply the chorus effect to your original, clean audio Q1.audioInput. Ensure the output signal is the same length as the input and assign the result to Q1.audioChorus. 
ii. Label the plot with the original signal and the output signal in the same graph and save it as a .png file to be included in u<ID>_labreport.docx. 

  • Ensure appropriate handling for values of n where the index expression might go out of range.
  • Hint: The index variable must be a positive integer. iii. Listening test: In no more than 5 lines, briefly comment in u<ID>_labreport.docx on how varying the modulation frequency f affect the sound of the chorus effect?

Question 2 (15 marks)

You are tasked with designing an IIR band-stop (notch) filter to remove a narrowband interference signal from a data acquisition system. The system operates at a sampling frequency fs kHz. The interference occurs at fo Hz, and you need to attenuate this frequency with a sharper transition band while leaving the surrounding signal components unaffected. The filter should have maximum attenuation (provided in dB) at the stop band frequency and maximum pass band (provided in dB) in the frequency ranges outside the stop band. The parameters are provided in the u<ID>_lab.txt file.

(a) Filter Design (9 marks):

i. Design an IIR notch filter to meet the above specifications using the Butterworth or Chebyshev approach.
ii. Justify your choice of filter type (Butterworth or Chebyshev) based on the requirements and explain the difference between them, in no more than 5 lines, in u<ID>_labreport.docx
iii. Use MATLAB to calculate the filter order and the filter coefficients (b and a). Assign the filter order to Q2.filterOrder and coefficients to Q2.b and Q2.a.

(b) Frequency Response Analysis (6 marks):

i. Plot the magnitude response and phase response of the filter using MATLAB’s freqz function. Clearly label the pass band and stop band frequencies on the plot. 
ii. Annotate the plot with the stop band attenuation at fo kHz and verify whether the attenuation meets the design requirement of maximum attenuation (provided in dB) at the stop band frequency and include in u<ID>_labreport.docx. 
iii. In no more than 5 lines, briefly comment in u<ID>_labreport.docx on the effectiveness of the filter in attenuating the interference while preserving the rest of the signal. Which specific parameters would you adjust to enhance the filter's performance in terms of interference suppression and signal preservation, and how would these adjustments impact the overall filter behaviour?"

Question 3 (25 marks)

You have been called to consult for a company that manufactures medical sensors. The company is developing a new sensor for monitoring the temperature of patients in real-time. A temperature chamber is used for testing the sensor’s accuracy, and the readings obtained are suspected to contain noise. The thermal dynamics of the chamber are modelled by the equation provided in u<ID>_lab.txt, where T(t) is the chamber temperature (in degrees Celsius) and N(t) is the noise signal at time t in seconds.

You have been provided with the noisy sensor readings in the column vector T in the data file u<ID>_lab_signals.mat, recorded starting from t=0 seconds at a constant sampling interval Ts, which is provided in the parameter file. Your task is to estimate the model parameters, predict the true temperature, and evaluate the accuracy of the model both in the time and frequency domains.

(a) Construct the Linear Model (5 marks) Construct the linear model observation matrix Θ needed to estimate the unknown parameters A, B, and C (in that respective order) from the given equation. Assign this observation matrix to Q3.Obs.

i. In no more than 5 lines, briefly comment in u<ID>_labreport.docx explaining why constructing an accurate observation matrix Θ is essential in estimating parameters in linear models. If you suspect that one of the terms in the model might not be capturing the true behaviour of the system, how could this impact the parameter estimates for A, B and C? What would you consider doing to improve the model accuracy? 

(b) Parameter Estimation (4 marks) Using the least squares method, estimate the unknown parameters A, B, and C. Assign the estimated parameters in the same order to the 3 × 1 column vector Q3.param.

(c) Temperature Prediction (2 marks) Use the estimated parameters to predict the temperature readings for the same time points as the noisy sensor data. Assign the predicted temperatures to the column vector Q3.yHat.

(d) Model Error Calculation (1 marks) Calculate the mean squared error (MSE) between the predicted temperatures and the noisy sensor data. Assign the MSE to the scalar Q3.mse.

(e) Frequency Domain Analysis (8 marks) Perform a spectral comparison of the sensor readings and the predicted temperatures: 

i. Compute the double-sided Fast Fourier Transform (FFT) of the noisy temperature data. Assign the FFT result to Q3.yFFT. 
ii. Compute the FFT of the predicted temperature data and assign the result to Q3.yHatFFT. 
iii. Create a frequency vector associated with the FFT results. Assign the frequency vector to Q3.fRange. 
iv. Plot the magnitude spectra of both Q3.yFFT and Q3.yHatFFT on the same axes, over the range [0, 1/Ts] Hz. Label all key spectral peaks and axes. Save the FFT magnitude plot as a .png file and include it in u<ID>_labreport.docx  v. In no more than 5 lines, briefly comment in u<ID>_labreport.docx, commenting on the accuracy of the frequency-domain model. Would a time-domain plot be helpful in verifying model accuracy?

(f) (5 marks) In no more than 5 lines, briefly comment in u<ID>_labreport.docx. Suppose after fitting the model, you observe that the residuals (the difference between observed and predicted temperatures) show a clear pattern over time instead of appearing random. What does this indicate about the model’s assumptions or structure, and what steps would you take to address this issue to improve the model fit? 

Buy Custom Answer Of ES3C5 Coursework Assignment & Raise Your Grades

Get A Free Quote

Get expert assignment help for ES3C5 Signal Processing Assignment? We specialize in offering high-quality Management Assignment Help, with an option for students to pay our experts to take on their assignment challenges. Need a reference? We also provide a free list of assignment examples to help you get started. With years of experience, our writers deliver 100% plagiarism-free content and offer unlimited revisions to meet your needs. Trust us to help you excel in your studies!

Workingment Unique Features

Hire Assignment Helper Today!


Latest Free Samples for University Students

MED031-6 Final Project in Mass Communications Assignment 2 Example | University of Bedfordshire

Category: Assignment

Subject: Education

University: University of Bedfordshire

Module Title: MED031-6 Final Project in Mass Communications

View Free Samples

BABM2006 Work-Based Management Project Assignment 3 Example

Category: Assignment

Subject: Management

University: De Montfort University

Module Title: BABM2006 Work-Based Management Project

View Free Samples

LAA127/LAA127C Contract Law Assignment Coursework Sample 2025

Category: Coursework Example

Subject: Law

University: Swansea University

Module Title: LAA127/LAA127C Contract Law

View Free Samples

MGT4541 Strategy, Leadership and Management of Organisations Assignment 3 Example

Category: Assignment

Subject: Management

University: Middlesex University

Module Title: MGT4541 Strategy, Leadership and Management of Organisations

View Free Samples

DGM22702 Digital Consumer Journey Project Example 2025-26 | RUL

Category: Assignment

Subject: Computer Science

University: Ravensbourne University London

Module Title: DGM22702 Digital Consumer Journey

View Free Samples
Online Assignment Help in UK