Extensive Age-Balanced and Subject-Varied mmWave Radar Dataset of Referenced Records for Vital Signs
Authors/Creators
Description
This repository contains a mmWave radar dataset of referenced records for vital signs. 110 participants have been recorded under four different tests. The database is structured in folders - one for each participant and each test - and each one contains the files for radar data (signals, time reference and chirp configuration), reference ECG and accelerometer data, and timestamps for the non-breathing part of some experiments. A deeper description will be added upon acceptance of the research paper accompanying the publication of the dataset.
Devices:
- Reference: Movesense Medical Device
- Non-breathing indicator: USB push-button
- Lying tests: NodeNs IWR6843ISK
- Sitting tests: Texas Instruments IWR6843ISK-ODS
The repository contains:
- db_records.zip - The database itself, with one folder for each participant
- ExampleCode.ipynb - Jupyter Notebook with example code on how to work with the data
- helper_fns.py - Python script with the functions needed by the notebook
- ParticipantsInfo.xlsx - Excel file with anonymised participant information
Records:
For each participant-test folder reference accelerometer and ECG measurements are stored in the files movesense_acc.csv and movesense_ecg.csv. Each row of these files contains the raw data as sent by the Movesense device - x, y and z acceleration components and a timestamp in the case of accelerometer data, and millivolts and a timestamp for the ECG data. For the tests in which participants were instructed to hold their breath, the USB push-button data were stored in the file non_breathing_ts.csv containing the begin and end timestamps of the non-breathing time. The radar chirp configuration is stored in the file radar_chirpConfig.json. Radar measurements are stored in the compressed file radar_rFFTs.zlib, packed using the pickle object serialisation library and saved using the zlib compression library, both part of the standard libraries of Python 3.11.0. The file contains a Python list of the range Fast Fourier Transforms (FFTs) as received from the radar and the range bins computed using the chirp configuration. The shape of the provided FFT arrays is $(n_v, n_b)$, being $n_v$ the number of virtual antennas and $n_b$ the number of range bins. Radar timestamps are saved as a Python list in the file radar_timestamps.csv. The example Jupyter notebook includes a detailed guide to working with all these files.
It must be noted that 12 of the 440 experiments present some FFTs where all values were recorded as 0. Only a small number of frames, located at the beginning of the recording for all experiments, have been affected by this. The following table shows the affected experiments and the number of frames that must be skipped:
| Experiment | Damaged Frame Count |
| P004/Lying/Rest/ | 11 |
| P020/Sitting/Post-exercise/ | 2 |
| P023/Sitting/Post-exercise/ | 2 |
| P041/Sitting/Post-exercise/ | 2 |
| P046/Lying/Rest/ | 4 |
| P050/Sitting/Post-exercise/ | 6 |
| P056/Lying/Rest/ | 4 |
| P077/Lying/Rest/ | 1 |
| P084/Lying/Rest/ | 4 |
| P100/Sitting/Rest/ | 2 |
| P104/Sitting/Post-exercise/ | 2 |
| P106/Sitting/Rest/ | 1 |
This should not have any impact on the extraction of vital signs, as in the first and most damaged experiment (P004/Lying/Rest) the ratio of damaged frames is 1.83% over the whole recording.
Files
db_records.zip
Additional details
Funding
- Ministerio de Ciencia, Innovación y Universidades
- PID2021-122642OB-C42
- Government of Extremadura
- GR24102
- Ministerio de Ciencia, Innovación y Universidades
- FPU20/07469
Dates
- Collected
-
2025-02-01Began collection campaign
- Collected
-
2025-07-30Finished collection campaign
- Created
-
2025-08-07Repository creation
- Updated
-
2025-10-02Included damaged frames table
- Updated
-
2026-02-10Updated example code to include preliminary overall results
Software
- Programming language
- Python , Jupyter Notebook