关键词 > EEE339/EEE309

EEE339/EEE309: DSP Coursework

发布时间:2023-03-29

Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

EEE339/EEE309: DSP Coursework.

An electrocardiogram (ECG) is a measurement of the heart’s electrical activity, collected by attaching electrodes at various locations around a patient’s torso. Traditionally ECGs were plotted on a rolling  sheet of paper, but today many ECG machines are digital.

Within the Coursework folder on the EEE339 Blackboard page you will find four examples of ECG signals, in the format of MATLAB “ .mat” data files. When you load these files into MATLAB you will see they contain two digital signals: “origSig” and noisySig” . The origSig” signals are real-world ECG data collected from patients with a range of heart conditions, taken from the ECG database at: https://physionet.org/. The “noisySig” signals are copies of the real-world data, but with a large amount of additional noise added.

•   The ECG signals were collected with a sampling frequency of 360 samples per second.

•    Each signal corresponds to ten seconds of data collection.

•   The values in the data are the voltage in millivolts read in from the ECG sensors. The diagnostic details for each of the data sets were as follows:

-      ECGData1: 69 year-old male with premature ventricular contraction (PVC)

-      ECGData2: 75 year-old female with atrial premature complex (APC)

-      ECGData3: 84 year-old female with data showing pace maker fusion beats

-      ECGData4: 64 year-old male with a left bundle branch block

Your task in this exercise is to design digital filters to remove the noise from one of these ECG signals. You will implement your filters and assess their performance using MATLAB.

You can use the user-interfaces provided by the Signal Processing MATLAB toolbox to complete this task, so you will need to do some background research to learn how the toolboxes are used. There are many Youtube videos and tutorial resources available, just search for matlab digital filter” . A good      starting point is on the Mathworks website:

https://uk.mathworks.com/help/signal/getting-started-with-signal-processing-toolbox.html

Requirements.

You will need to take the following steps:

1.    Choose and download one of the data sets from Blackboard, then load it into MATLAB.

2.    Produce plots of the noisySig” and the origSig”, making sure you plot these signals as a function of time vs millivolts.

3.    Calculate (approximately) the heart rate (beats per minute) of your patient.

4.    Produce a plot of the Fourier Transform (FFT) of noisySig”, making sure you plot the FFT as a function of frequency in Hz. There is code on Blackboard to help you to do this.

5.    You should see in the FFT that there is unusual high frequency noise in the spectrum. There will also be a small noise peak associated with the mains hum” from the electricity grid. Identify     and label this peak in your data.

6.    Determine a cutoff frequency for a low-pass filter that will remove this noise. You should provide this as both a frequency in Hz and a normalised frequency in cycles/sample. Label your FFT plot   from step 4 to show your chosen cutoff frequency.

7.    Use any of the MATLAB filter design tools to design two filters based on your selected cutoff frequency. One must be an FIR” filter and the other an IIR” filter. The filters must have a maximum order of 5.

8.    Plot frequency responses to illustrate your designs.

9.    Apply your filter designs to the noisySig.

10.  Produce combined plots of the filtered signals and the original signal (“origSig”) and compare the results.

11. To access the top marks, it is your chance to play: can you improve your filter design to give a really clear view of the whole PQRST” complex of the heartbeat?

(see: https://en.wikipedia.org/wiki/Electrocardiography)

Submit a short report, a maximum of 500 words, including:

-      All the plots mentioned above, with short descriptions of what the plots show. DO NOT TAKE SCREENSHOTS; format and present your plots professionally.

-      A short comparison of the FIR and IIR filter performance.

-      If you have implemented any improvements (step 11 above), describe these and demonstrate their performance.

A. Maiden (31/01/23)

Mark Scheme.

0-40% 40-50% 50-60% 60-70% 70%+ Weight

Plots

Missing,

incomplete

or very

wrong

Some plot inaccuracies, and/or poor formatting

Reasonable,

labelled plots, perhaps some inaccuracies

Clear plots showing the correct data with accurate labels

Professional

standard

60%

Comparison of filters

Missing,

incomplete

or very

wrong

Basic, little

detail

Reasonable

explanation of

some

differences

Evidence of understanding and thought

Well

researched

comparison

with insight

20%

Improvements

Not

attempted

Attempted, but no sensible additions to initial design

Reasonable

steps taken to make an improvement

Well-reasoned improvement steps with clear performance advantages

Excellent,

functional filter design with insightful design explanation

20%

Total:

100%