{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "97Ad8yROpHV8" }, "source": [ "# Filtering Signals\n", "In this tutorial we will practice filtering MIMIC waveform signals.\n", "\n", "Our **objectives** are to:\n", "- Filter signals using the [SciPy signal processing package](https://docs.scipy.org/doc/scipy/reference/signal.html).\n", "- Understand how to interpret the amplitude-response of a filter.\n", "- Gain experience in filtering PPG signals.\n", "- Be able to use filters to obtain the derivatives of a signal" ] }, { "cell_type": "markdown", "metadata": { "id": "efztffyOpHV-" }, "source": [ "

Context: Filtering is used to eliminate noise from physiological signals. For instance, ECG signals can contain mains frequency noise due to electrical interference. Ideally, a filter would attenuate unwanted frequency content in a signal whilst retaining the physiological frequency content.

" ] }, { "cell_type": "markdown", "metadata": { "id": "1y92CrBlpHV_" }, "source": [ "

Extension: If you've not seen it before, then have a look at the SciPy signal processing package. How might it be helpful for processing PPG signals?

" ] }, { "cell_type": "markdown", "metadata": { "id": "McluxdGrpHV_" }, "source": [ "## Setup" ] }, { "cell_type": "markdown", "metadata": { "id": "742rlU3ApHV_" }, "source": [ "_The following steps have been covered in previous tutorials. We'll just re-use the previous code here._" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied: wfdb==4.0.0 in /Users/petercharlton/anaconda3/lib/python3.8/site-packages (4.0.0)\n", "Requirement already satisfied: requests<3.0.0,>=2.8.1 in /Users/petercharlton/anaconda3/lib/python3.8/site-packages (from wfdb==4.0.0) (2.25.1)\n", "Requirement already satisfied: matplotlib<4.0.0,>=3.2.2 in /Users/petercharlton/anaconda3/lib/python3.8/site-packages (from wfdb==4.0.0) (3.3.4)\n", "Requirement already satisfied: pandas<2.0.0,>=1.0.0 in /Users/petercharlton/anaconda3/lib/python3.8/site-packages (from wfdb==4.0.0) (1.2.4)\n", "Requirement already satisfied: scipy<2.0.0,>=1.0.0 in /Users/petercharlton/anaconda3/lib/python3.8/site-packages (from wfdb==4.0.0) (1.6.2)\n", "Requirement already satisfied: numpy<2.0.0,>=1.10.1 in /Users/petercharlton/anaconda3/lib/python3.8/site-packages (from wfdb==4.0.0) (1.20.1)\n", "Requirement already satisfied: SoundFile<0.12.0,>=0.10.0 in /Users/petercharlton/anaconda3/lib/python3.8/site-packages (from wfdb==4.0.0) (0.10.3.post1)\n", "Requirement already satisfied: pillow>=6.2.0 in /Users/petercharlton/anaconda3/lib/python3.8/site-packages (from matplotlib<4.0.0,>=3.2.2->wfdb==4.0.0) (8.2.0)\n", "Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.3 in /Users/petercharlton/anaconda3/lib/python3.8/site-packages (from matplotlib<4.0.0,>=3.2.2->wfdb==4.0.0) (2.4.7)\n", "Requirement already satisfied: cycler>=0.10 in /Users/petercharlton/anaconda3/lib/python3.8/site-packages (from matplotlib<4.0.0,>=3.2.2->wfdb==4.0.0) (0.10.0)\n", "Requirement already satisfied: kiwisolver>=1.0.1 in /Users/petercharlton/anaconda3/lib/python3.8/site-packages (from matplotlib<4.0.0,>=3.2.2->wfdb==4.0.0) (1.3.1)\n", "Requirement already satisfied: python-dateutil>=2.1 in /Users/petercharlton/anaconda3/lib/python3.8/site-packages (from matplotlib<4.0.0,>=3.2.2->wfdb==4.0.0) (2.8.1)\n", "Requirement already satisfied: six in /Users/petercharlton/anaconda3/lib/python3.8/site-packages (from cycler>=0.10->matplotlib<4.0.0,>=3.2.2->wfdb==4.0.0) (1.15.0)\n", "Requirement already satisfied: pytz>=2017.3 in /Users/petercharlton/anaconda3/lib/python3.8/site-packages (from pandas<2.0.0,>=1.0.0->wfdb==4.0.0) (2021.1)\n", "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /Users/petercharlton/anaconda3/lib/python3.8/site-packages (from requests<3.0.0,>=2.8.1->wfdb==4.0.0) (1.26.4)\n", "Requirement already satisfied: certifi>=2017.4.17 in /Users/petercharlton/anaconda3/lib/python3.8/site-packages (from requests<3.0.0,>=2.8.1->wfdb==4.0.0) (2022.12.7)\n", "Requirement already satisfied: idna<3,>=2.5 in /Users/petercharlton/anaconda3/lib/python3.8/site-packages (from requests<3.0.0,>=2.8.1->wfdb==4.0.0) (2.10)\n", "Requirement already satisfied: chardet<5,>=3.0.2 in /Users/petercharlton/anaconda3/lib/python3.8/site-packages (from requests<3.0.0,>=2.8.1->wfdb==4.0.0) (4.0.0)\n", "Requirement already satisfied: cffi>=1.0 in /Users/petercharlton/anaconda3/lib/python3.8/site-packages (from SoundFile<0.12.0,>=0.10.0->wfdb==4.0.0) (1.14.5)\n", "Requirement already satisfied: pycparser in /Users/petercharlton/anaconda3/lib/python3.8/site-packages (from cffi>=1.0->SoundFile<0.12.0,>=0.10.0->wfdb==4.0.0) (2.20)\n" ] } ], "source": [ "# Packages\n", "import sys\n", "from pathlib import Path\n", "!pip install wfdb==4.0.0\n", "import wfdb" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "id": "byobDIEIpHV_" }, "outputs": [], "source": [ "# The name of the MIMIC IV Waveform Database on Physionet\n", "database_name = 'mimic4wdb/0.1.0'\n", "\n", "# Segment for analysis\n", "segment_names = ['83404654_0005', '82924339_0007', '84248019_0005', '82439920_0004', '82800131_0002', '84304393_0001', '89464742_0001', '88958796_0004', '88995377_0001', '85230771_0004', '86643930_0004', '81250824_0005', '87706224_0003', '83058614_0005', '82803505_0017', '88574629_0001', '87867111_0012', '84560969_0001', '87562386_0001', '88685937_0001', '86120311_0001', '89866183_0014', '89068160_0002', '86380383_0001', '85078610_0008', '87702634_0007', '84686667_0002', '84802706_0002', '81811182_0004', '84421559_0005', '88221516_0007', '80057524_0005', '84209926_0018', '83959636_0010', '89989722_0016', '89225487_0007', '84391267_0001', '80889556_0002', '85250558_0011', '84567505_0005', '85814172_0007', '88884866_0005', '80497954_0012', '80666640_0014', '84939605_0004', '82141753_0018', '86874920_0014', '84505262_0010', '86288257_0001', '89699401_0001', '88537698_0013', '83958172_0001']\n", "segment_dirs = ['mimic4wdb/0.1.0/waves/p100/p10020306/83404654', 'mimic4wdb/0.1.0/waves/p101/p10126957/82924339', 'mimic4wdb/0.1.0/waves/p102/p10209410/84248019', 'mimic4wdb/0.1.0/waves/p109/p10952189/82439920', 'mimic4wdb/0.1.0/waves/p111/p11109975/82800131', 'mimic4wdb/0.1.0/waves/p113/p11392990/84304393', 'mimic4wdb/0.1.0/waves/p121/p12168037/89464742', 'mimic4wdb/0.1.0/waves/p121/p12173569/88958796', 'mimic4wdb/0.1.0/waves/p121/p12188288/88995377', 'mimic4wdb/0.1.0/waves/p128/p12872596/85230771', 'mimic4wdb/0.1.0/waves/p129/p12933208/86643930', 'mimic4wdb/0.1.0/waves/p130/p13016481/81250824', 'mimic4wdb/0.1.0/waves/p132/p13240081/87706224', 'mimic4wdb/0.1.0/waves/p136/p13624686/83058614', 'mimic4wdb/0.1.0/waves/p137/p13791821/82803505', 'mimic4wdb/0.1.0/waves/p141/p14191565/88574629', 'mimic4wdb/0.1.0/waves/p142/p14285792/87867111', 'mimic4wdb/0.1.0/waves/p143/p14356077/84560969', 'mimic4wdb/0.1.0/waves/p143/p14363499/87562386', 'mimic4wdb/0.1.0/waves/p146/p14695840/88685937', 'mimic4wdb/0.1.0/waves/p149/p14931547/86120311', 'mimic4wdb/0.1.0/waves/p151/p15174162/89866183', 'mimic4wdb/0.1.0/waves/p153/p15312343/89068160', 'mimic4wdb/0.1.0/waves/p153/p15342703/86380383', 'mimic4wdb/0.1.0/waves/p155/p15552902/85078610', 'mimic4wdb/0.1.0/waves/p156/p15649186/87702634', 'mimic4wdb/0.1.0/waves/p158/p15857793/84686667', 'mimic4wdb/0.1.0/waves/p158/p15865327/84802706', 'mimic4wdb/0.1.0/waves/p158/p15896656/81811182', 'mimic4wdb/0.1.0/waves/p159/p15920699/84421559', 'mimic4wdb/0.1.0/waves/p160/p16034243/88221516', 'mimic4wdb/0.1.0/waves/p165/p16566444/80057524', 'mimic4wdb/0.1.0/waves/p166/p16644640/84209926', 'mimic4wdb/0.1.0/waves/p167/p16709726/83959636', 'mimic4wdb/0.1.0/waves/p167/p16715341/89989722', 'mimic4wdb/0.1.0/waves/p168/p16818396/89225487', 'mimic4wdb/0.1.0/waves/p170/p17032851/84391267', 'mimic4wdb/0.1.0/waves/p172/p17229504/80889556', 'mimic4wdb/0.1.0/waves/p173/p17301721/85250558', 'mimic4wdb/0.1.0/waves/p173/p17325001/84567505', 'mimic4wdb/0.1.0/waves/p174/p17490822/85814172', 'mimic4wdb/0.1.0/waves/p177/p17738824/88884866', 'mimic4wdb/0.1.0/waves/p177/p17744715/80497954', 'mimic4wdb/0.1.0/waves/p179/p17957832/80666640', 'mimic4wdb/0.1.0/waves/p180/p18080257/84939605', 'mimic4wdb/0.1.0/waves/p181/p18109577/82141753', 'mimic4wdb/0.1.0/waves/p183/p18324626/86874920', 'mimic4wdb/0.1.0/waves/p187/p18742074/84505262', 'mimic4wdb/0.1.0/waves/p188/p18824975/86288257', 'mimic4wdb/0.1.0/waves/p191/p19126489/89699401', 'mimic4wdb/0.1.0/waves/p193/p19313794/88537698', 'mimic4wdb/0.1.0/waves/p196/p19619764/83958172']\n", "\n", "# Segment 0 is helpful for filtering, and 3 and 8 are helpful for differentiation\n", "rel_segment_n = 0\n", "rel_segment_name = segment_names[rel_segment_n]\n", "rel_segment_dir = segment_dirs[rel_segment_n]\n", "\n", "rel_segment_n = 8 \n", "rel_segment_name = segment_names[rel_segment_n]\n", "rel_segment_dir = segment_dirs[rel_segment_n]" ] }, { "cell_type": "markdown", "metadata": { "id": "iUNUDMnopHWB" }, "source": [ "---\n", "## Extract one minute of noisy PPG signal from this segment" ] }, { "cell_type": "markdown", "metadata": { "id": "A0YsdFikpHWB" }, "source": [ "_These steps have been covered in previous tutorials, so we'll just re-use the code here._" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "2geoFoDBpHWC", "outputId": "29847fb7-2f05-4762-b311-e40ce5a6136c" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Metadata loaded from segment: 88995377_0001\n", "60 seconds of data extracted from: 88995377_0001\n", "Extracted the PPG signal from column 4 of the matrix of waveform data.\n" ] } ], "source": [ "# Specify the segment of data to be loaded\n", "start_seconds = 20 # time since the start of the segment at which to begin extracting data\n", "n_seconds_to_load = 60\n", "\n", "# Load metadata for this record\n", "segment_metadata = wfdb.rdheader(record_name=rel_segment_name, pn_dir=rel_segment_dir) \n", "fs = round(segment_metadata.fs)\n", "print(f\"Metadata loaded from segment: {rel_segment_name}\")\n", "\n", "# Load data from this record\n", "sampfrom = fs*start_seconds\n", "sampto = fs*(start_seconds + n_seconds_to_load)\n", "segment_data = wfdb.rdrecord(record_name=rel_segment_name,\n", " sampfrom=sampfrom,\n", " sampto=sampto,\n", " pn_dir=rel_segment_dir)\n", "print(f\"{n_seconds_to_load} seconds of data extracted from: {rel_segment_name}\")\n", "\n", "# Extract the PPG signal\n", "sig_no = segment_data.sig_name.index('Pleth')\n", "ppg = segment_data.p_signal[:,sig_no]\n", "fs = segment_data.fs\n", "print(f\"Extracted the PPG signal from column {sig_no} of the matrix of waveform data.\")" ] }, { "cell_type": "markdown", "metadata": { "id": "beaUjk5spHWC" }, "source": [ "---\n", "## Create a filter" ] }, { "cell_type": "markdown", "metadata": { "id": "scLn9bVKpHWD" }, "source": [ "- Import the [SciPy signal processing package](https://docs.scipy.org/doc/scipy/tutorial/signal.html), which contains functions for filtering and differentiating." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "id": "1db-InU9pHWD" }, "outputs": [], "source": [ "import scipy.signal as sp" ] }, { "cell_type": "markdown", "metadata": { "id": "MuzX0XoCpHWD" }, "source": [ "- Specify the high- and low-pass filter cut-offs" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "id": "cGKF92QTpHWD" }, "outputs": [], "source": [ "# Specify cutoff in Hertz\n", "lpf_cutoff = 0.7 \n", "hpf_cutoff = 10" ] }, { "cell_type": "markdown", "metadata": { "id": "RtLUEaAHpHWE" }, "source": [ "- Create a Butterworth filter using the [butter](https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.butter.html) function" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "id": "HmiOvyHZpHWE" }, "outputs": [], "source": [ "sos_ppg = sp.butter(10,\n", " [lpf_cutoff, hpf_cutoff],\n", " btype = 'bp',\n", " analog = False,\n", " output = 'sos',\n", " fs = segment_data.fs)\n", "\n", "w, h = sp.sosfreqz(sos_ppg,\n", " 2000,\n", " fs = fs)" ] }, { "cell_type": "markdown", "metadata": { "id": "k84fKyK6pHWE" }, "source": [ "- Plot filter characteristics" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 295 }, "id": "fjd8i8-SpHWE", "outputId": "951c910b-e786-4598-c568-6064effb9d71" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from matplotlib import pyplot as plt\n", "import numpy as np\n", "\n", "fig, ax = plt.subplots()\n", "\n", "ax.plot(w, 20 * np.log10(np.maximum(abs(h), 1e-5)))\n", "\n", "ax.set_title('Butterworth bandpass filter frequency response')\n", "ax.set_xlabel('Frequency [Hz]')\n", "ax.set_ylabel('Amplitude [dB]')\n", "ax.axis((0, 20, -100, 10))\n", "ax.grid(which='both',\n", " axis='both')" ] }, { "cell_type": "markdown", "metadata": { "id": "G26eXYXnpHWF" }, "source": [ "

Question: What does this plot tell us about the filter characteristics? What types of noise does the filter attenuate?

" ] }, { "cell_type": "markdown", "metadata": { "id": "JJD2n5hGpHWG" }, "source": [ "

Explanation: This function generates the co-efficients for a Butterworth filter. The filter-type is specified as 'bp' - a bandpass filtter. The filter frequencies are specified in Hz (because the sampling frequency, fs, has also been specified): a high-pass frequency of 0.7 Hz, and a low-pass frequency of 10 Hz.

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Question: The filter designed here has an order of 10. What would be the impact of reducing the order, to say 4?

" ] }, { "cell_type": "markdown", "metadata": { "id": "dnSasCJ5pHWG" }, "source": [ "

Extension 1: How could we re-design the filter to retain frequency content of up to 20 Hz, but eliminate mains frequencies?

" ] }, { "cell_type": "markdown", "metadata": { "id": "3cLPjh14pHWG" }, "source": [ "

Extension 2: What would be appropriate cut-off frequencies when using the PPG for different purposes, e.g. heart rate monitoring, or blood pressure estimation? See this book chapter (Sections 2.2.4 to 2.2.5 on Sampling Frequency and Bandwidth) for details.

" ] }, { "cell_type": "markdown", "metadata": { "id": "s8NgRIcapHWH" }, "source": [ "---\n", "## Filter the PPG signal" ] }, { "cell_type": "markdown", "metadata": { "id": "5QTJpU4lpHWH" }, "source": [ "- Filter the PPG signal" ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "id": "AHbccVHppHWH" }, "outputs": [], "source": [ "ppg_filt = sp.sosfiltfilt(sos_ppg, ppg)" ] }, { "cell_type": "markdown", "metadata": { "id": "Kw90DmO_pHWH" }, "source": [ "- Plot original and filtered PPG signals" ] }, { "cell_type": "code", "execution_count": 61, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 279 }, "id": "g7E41qWdpHWI", "outputId": "40f0345d-83c9-439d-f449-72a30cce15c0" }, "outputs": [ { "data": { "image/png": "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PTXWBXWt0NgAxVe+Ylxqhx4q92Xfff1BXkp20jEJVPjH5PdzBEKfypa0/ro64Dvf4a9lZGSsHxixBLK+YLvtzEupYrQoKTecuuGk7I2xY4HPfCa9fxKkB9VizlKi1hiXoNDWZlxuPT3y8RMZGRnrPzKBrANITydb3H67Cfb+7//y17fdFvj8500sRBLatcKNNwK/+pX8IBq1QKSsJXscQ1ubfAzMT39q/p11Vvm+ZmRkDC+U9kUgN1DMnDlTz507d7i7MSLR12dcV93dJsV5//2ry6xaBZx9trnme9gsIyNj/YFS6kF7mnkssgWSkYT6epPbP2+efA5SWxvw3e+u025lbGDo6enBggUL0G1fLJOxztDS0oIpU6agMSZ1M4BMIBnJePvb5bTljIwYLFiwAJ2dnZg6dSpUKI0uo2bQWmPx4sVYsGABtpYeXktATk7MyMhY5+ju7sbEiRMzeaxjKKUwceLEmll+mUAyMjKGBZk8hge1nPdMIBkZGRkeHHLIIVgaOIrgrLPOwm233Vaq/jvuuAOHHXYY+/vYsWOx++67Y/r06Tj33HO9vwPA3//+d+y3337Ydtttsccee+DQQw/F448/XqpfMcgxkIyMjAwGWmtorXHTTTcFy5533nlD0od3vetduPHGG9HV1YXddtvtLaLhfp8yZQo++MEP4sorr8SsWbMAAHfffTeee+457CIdNjZIZAskIyNjVOJ73/sedt55Z+y88874/ve/DwCYP38+pk+fjk996lPYY4898NJLL2Hq1KlYtGgRAODrX/86dthhBxx44IE49thjccHAe2VPOukkXH21eWHq1KlTcfbZZ2OPPfbALrvsgn/84x8AjHUwa9Ys7L777pg1axbm2behRaC9vR0zZszAc889J/5+4YUX4sQTT3yLPABg3333xRFHHFF2ioLIBJKRkTGssOeZ1fqfDw8++CB+/vOf4/7778d9992Hn/zkJ3h44L0L8+bNwwknnICHH34YW5Fz5ufOnYvf/e53ePjhh3HNNdfA96zZpEmT8NBDD+GTn/zkWySzww474M4778TDDz+M8847D1/5ylei52jx4sW47777sJNzZDT9/cknn8Qe6+KtZQTZhZWRkTHqcPfdd+PII49E+8Cx00cddRTuuusuzJ49G1tttRX2Zk7wvPvuu3H44YejdeAAtw943i981MArEGfMmIFrrrkGALBs2TKceOKJeOaZZ6CUQk9PT7Cfd911F3bffXfU1dXhjDPOwE477YQ77riD/d3FO97xDixfvhzvf//78YMf/CA8KSWQCSQjI2NYMRyHYfhO4GgX3mWQcmpH88Axw/X19ejt7QUAfO1rX8P++++Pa6+9FvPnz8d+0pO4BDbWEfP7TjvthIceegiHH344AOD+++/H1Vdfzf7/WsHrwlJKHa6UOpX8fb9S6vmBf0cPWa8yMjIyhhDvfve7cd1112HVqlXo6urCtddei3f53oUAE0+44YYb0N3djZUrV+IPf/hDUpvLli3D5gOHyV1++eVluy7i1FNPxeWXX46//e1vb/22SnqXc40QskC+BODD5O9mAHsCaAfwcwBXD1G/MjIyMoYMe+yxB0466STstddeAICPf/zj2H333TF//nzx/+y5556YPXs2dt11V2y11VaYOXMmxia8rORLX/oSTjzxRHzve9/DAQccMNghVGHTTTfFb3/7W5x++ul4+eWXsfHGG2PSpEk4awhPLPUepqiUekBrvSf5+0Kt9acHvt+ntfa86mf4kA9TzMhYv/H0009juvRugvUYK1euREdHB1atWoV3v/vduPTSS9d54LoW4OZ/KA5TrDg83JLHAIS3V2RkZGSMTJxyyil46qmn0N3djRNPPHGDJI9aIkQg9yulPqG1/gn9USn1nwD+PnTdysjIyFj/cOWVVw53F9YrhAjk8wCuU0odB+Chgd9mwMRCjhjCfmVkZGRkrOfwEojW+g0As5RSBwCwicZ/0Fr/ech7lpGRkZGxXsNLIEqpFgBzAGwD4HEAP9Va966LjmVkZGRkrN8IHWXyCwAzYcjjYAAXDHmPMjIyMjI2CIQIZEet9Ue01j8GcDSAd6+DPmVkZGQMOX74wx9i+vTpOP7443H99dfj/PPPBwCcc845b51fdfnll+OVV14Zkvbnz5+PnXfemf29tbUVu+22G3bccUfMmTMH/f394u8A8Mwzz+Cwww7DtGnTMGPGDOy///648847h6TfFKEg+luHtWite/MLYDIyMkYKLr74Ytx8881vvdp19uzZVWUuv/xy7Lzzzthss82i6+3t7UVDw+BOiZo2bRoeeeQR9Pb24oADDsB1112HPfbYg/39kEMOwaGHHooLLrjgrTE88cQTmDt3Lt797qHV+UOj3FUptRyAZY5W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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "t = np.arange(0, len(ppg_filt))/segment_data.fs\n", "\n", "ax.plot(t, ppg,\n", " linewidth=2.0,\n", " color = 'blue',\n", " label = \"original PPG\")\n", "\n", "ax.plot(t, ppg_filt,\n", " linewidth=2.0,\n", " color = 'red',\n", " label = \"filtered PPG\")\n", "\n", "ax.set(xlim=(0, n_seconds_to_load))\n", "plt.xlabel('time (s)')\n", "plt.ylabel('PPG')\n", "plt.xlim([20, 45])\n", "\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "id": "rJ4aQtFvpHWI" }, "source": [ "

Note: The PPG signals in MIMIC have already been filtered somewhat by the clinical monitors used to record them.

" ] }, { "cell_type": "markdown", "metadata": { "id": "iJB6_3eUpHWI" }, "source": [ "

Further work: Several different types of filters have been used to filter the PPG signal (e.g. Chebyshev filter, Butterworth filter). Have a look at this article for examples of several filter types (on pp.8-9). Which type of filter do the authors recommend? Can you re-design the filter above to use this type of filter?

" ] }, { "cell_type": "markdown", "metadata": { "id": "b5UDOyp8pHWI" }, "source": [ "## Prepare a segment of clean PPG signal for differentiation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We'll now extract a segment of clean PPG signal, which we'll use to show the process of differentiation.\n", "\n", "_These first few steps are repeated from earlier in this tutorial._" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Extract data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Specify the segment" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [], "source": [ "rel_segment_n = 8 \n", "rel_segment_name = segment_names[rel_segment_n]\n", "rel_segment_dir = segment_dirs[rel_segment_n]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Load the data for this segment" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Metadata loaded from segment: 88995377_0001\n", "5 seconds of data extracted from: 88995377_0001\n", "Extracted the PPG signal from column 4 of the matrix of waveform data.\n" ] } ], "source": [ "# Specify the segment of data to be loaded\n", "start_seconds = 100 # time since the start of the segment at which to begin extracting data\n", "n_seconds_to_load = 5\n", "\n", "# Load metadata for this record\n", "segment_metadata = wfdb.rdheader(record_name=rel_segment_name, pn_dir=rel_segment_dir) \n", "fs = round(segment_metadata.fs)\n", "print(f\"Metadata loaded from segment: {rel_segment_name}\")\n", "\n", "# Load data from this record\n", "sampfrom = fs*start_seconds\n", "sampto = fs*(start_seconds + n_seconds_to_load)\n", "segment_data = wfdb.rdrecord(record_name=rel_segment_name,\n", " sampfrom=sampfrom,\n", " sampto=sampto,\n", " pn_dir=rel_segment_dir)\n", "print(f\"{n_seconds_to_load} seconds of data extracted from: {rel_segment_name}\")\n", "\n", "# Extract the PPG signal\n", "sig_no = segment_data.sig_name.index('Pleth')\n", "ppg = segment_data.p_signal[:,sig_no]\n", "fs = segment_data.fs\n", "print(f\"Extracted the PPG signal from column {sig_no} of the matrix of waveform data.\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Filter this signal segment" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Filter the PPG signal" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [], "source": [ "ppg_filt = sp.sosfiltfilt(sos_ppg, ppg)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plot the signal" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plot the original and the filtered PPG signal" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Import the packages required to plot the signal: [matplotlib](https://matplotlib.org/stable/index.html) which is used to create plots, and [NumPy](https://numpy.org/) which is used to create a time vector in this example." ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [], "source": [ "from matplotlib import pyplot as plt\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Make the plot" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "data": { "image/png": "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Z82aNdx4443ceeedANx66608+qgavllaWsr3v/99FixYwJw5c9izZw+gdvvLli1j/vz5LFu2jL1794Yta0pKCgsXLuTgwYMjPv6rX/2KW265xackAJYvX84111wT7UfkQ1sUGo3GUUpvf9aS9z3y4ytGfG7Tpk3cf//9rF+/HiklS5YsYcWKFWRlZbF3717uv/9+7r777kGvqays5LHHHuODDz6gr6+PBQsWsHDhwqDvn5uby+bNm7n77ru58847ue+++5g+fTrr1q3D4/Hwyiuv8J3vfIfHHnssrL+loaGB999/n+9973vU1dUFffyhhx7illtuCev9IkUrCo1Gc9bx9ttv85GPfISUlBQArr32Wt566y3Wrl3LxIkTWbp0adDXXH311SQlJQFw1VVXjfj+1157LQALFy7k8ccfB6C5uZlbbrmF/fv3I4Sgt7d3VDnfeust5s+fj8vl4vbbb2fWrFm88cYbQR8fypIlS2hpaeHiiy/m5z//+egfSgi0otBoNI4SaudvFVLKEZ8zlEckrxlKQkICAG63m76+PgC+973vsWrVKv7+979z5MgRVq5cOer7GLGIcB6fNWsWmzdv5uqrrwZg/fr1PProo0FfHykhYxRCiKuFEF8KuL9eCHHI+++6mP93jUajcYALLriAJ554go6ODtrb2/n73//O+eefH/I1y5cv5+mnn6arq4u2tjaefTYyl1lzczNFRUUAPPDAA9GKPiJf+tKXeOCBB3j33Xd9j3V0dJjy3qNZFN8CPh5wPwFYBKQA9wOPmiKFRqPR2MiCBQu49dZbWbx4MQCf+9znmD9/PkeOHBnxNYsWLWLt2rXMnTuXiRMnUlFRQUZGRtj/57e+9S1uueUW7rrrLlavXh3rnzCMcePG8fDDD/Ptb3+bmpoa8vPzyc3N5Y477oj5vUUoc0oIsVFKuSjg/q+klF/23n5fSjnckTcGqKiokJWVlU6LodFoRmD37t3MmDHDaTEipq2tjdTUVDo6Orjgggu49957WbBggdNiRUywz18IsUlKWRHs/NEsiqzAO4aS8JIXlYQajUZzhvL5z3+eXbt20dXVxS233HJGKoloGE1RrBdC/IOU8reBDwohvgBssE4sjUajGXs8+OCDTovgCKMpiq8DTwghbgI2ex9biIpVXGOhXBqNRqMZI4RUFFLKU8AyIcRqwEjUfVZK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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "t = np.arange(0, len(ppg_filt)) / segment_data.fs\n", "\n", "ax.plot(t, ppg,\n", " linewidth=2.0,\n", " label = \"original PPG\")\n", "\n", "ax.plot(t, ppg_filt,\n", " linewidth=2.0,\n", " label = \"filtered PPG\")\n", "\n", "plt.xlabel('time (s)')\n", "plt.ylabel('PPG')\n", "\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- We will use the filtered signal instead of the original PPG from now on." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Differentiate the PPG signal" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Differentiate using Savitzky-Golay filtering" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Differentiate it once and twice using the [Savitzky-Golay filtering](https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.savgol_filter.html) function in SciPy" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [], "source": [ "# Calculate first derivative\n", "d1ppg = sp.savgol_filter(ppg_filt, 9, 5, deriv=1)\n", "\n", "# Calculate second derivative\n", "d2ppg = sp.savgol_filter(d1ppg, 9, 5, deriv=1) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Resource: Savitzky-Golay filtering, which is used here to calculate derivatives, is described in this article.

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Question: Can you summarise how Savitzky-Golay filtering works? What are its advantages in physiological signal processing?

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plot the PPG and its derivatives" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "t = np.arange(0, len(ppg_filt))/segment_data.fs\n", "\n", "fig, (ax1,ax2,ax3) = plt.subplots(3, 1, sharex = True, sharey = False)\n", "ax1.plot(t, ppg_filt)\n", "ax1.set(xlabel = '', ylabel = 'PPG')\n", "\n", "plt.suptitle('The PPG signal and its first and second derivatives')\n", "\n", "ax2.plot(t, d1ppg)\n", "ax2.set(xlabel = '',\n", " ylabel = 'PPG\\'')\n", "\n", "ax3.plot(t, d2ppg)\n", "ax3.set(xlabel = 'Time (s)',\n", " ylabel = 'PPG\\'\\'')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Question: How would the derivatives have looked different if the PPG signal hadn't been filtered before differentiation?
Hint: In the differentiation step above, try replacing 'ppg_filt' with 'ppg'.

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Question: How would the derivatives have been different if the PPG signal had been filtered using different co-efficients?\n", "
Hint: Above, try replacing the relatively wide band-pass frequencies '[0.7, 10]' with '[0.8, 3]'. \n", "
Consider: Which band-pass frequencies would be most suitable for pulse wave analysis? How about heart rate estimation?

\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Comparison with a typical PPG pulse wave " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The figure below shows a typical PPG pulse wave recorded from a young, healthy subject." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![pic](https://upload.wikimedia.org/wikipedia/commons/b/b0/Photoplethysmogram_%28PPG%29_pulse_wave_fiducial_points.svg)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "_Source: Charlton PH, [Photoplethysmogram (PPG) pulse wave fiducial points](https://commons.wikimedia.org/wiki/File:Photoplethysmogram_\\(PPG\\)_pulse_wave_fiducial_points.svg), Wikimedia Commons (CC BY 4.0)._" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Question: How does this pulse wave shape and derivatives compare to the shape of those obtained from MIMIC data above? What might explain the differences?

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Extension: Try using 'rel_segment_n=3' above (i.e. analysing segment '82439920_0004'). How do the pulse waves in this signal compare? What might that tell us about this patient?

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Further reading: this article provides further information on how age affects the shape of the PPG's second derivative.

" ] } ], "metadata": { "colab": { "name": "signal-filtering.ipynb", "provenance": [] }, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.8" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": true, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": true } }, "nbformat": 4, "nbformat_minor": 1 }