Skills Mapping
Dr P. Shields - 07/03/2024
Schedule:
Tuesday, Week 21 .

Decode data


This lab script describes an data processing problem that you can solve using MATLAB. Solving this problem will allow you to claim Programming in MATLAB at the Application level.

Introduction

You have been provided with a set of measurements of some parameter as a function of time. The results are affected by periodic variations. It is important to establish the frequency of these variations. shows a signal with two separate frequencies.

Example of data without noise.
Example of data without noise.

The problem is that the data does not look as clean as above. Instead, it suffers from a high degree of noise, the order in which the measurements were made has been jumbled and the data is not equally spaced in time, as shown below. shows data with the same two frequencies as shown above, but now with noise on the signal and time axes.

Example of data with noise.
Example of data with noise.

In this task you will write code to work out the frequencies from signals of differing degrees of complexity and with more and more noise.

You should complete the following exercises on the way to solving the overall problem. Your code should be optimised in order to cope with large datasets and solve the problem in the shortest time possible.

Tasks

There are five tasks within MATLAB Grader that you should solve in order:

  1. Sort data
  2. Smooth data
  3. Interpolate data
  4. Fourier analysis
  5. Decode data

Resources

You will need the following resources to complete these tasks (right click and ‘Save link as…‘):

  1. calcFFT.p
  2. MeasureData.p
  3. data.mat