Data
If you would like access to particular data, please contact me via email.
Biomedical Signal Quality Analysis
The Matlab files will enable people researching biomedical signal quality analysis to have a common methodology to compare against.
Keywords: biological signal, biosignal, electrocardiogram (EMG), Matlab, signal quality index (SQI), signal processing, signal quality analysis
Usage
If you are using these files (or a modification of these files) provide an acknowledgment (e.g. in publications) for their usage. Usage of these files (or a modification of these files) should reference:
- Quesnel P, Chan ADC, Yang H, "Real-Time Biosignal Quality Analysis of Ambulatory ECG for Detection of Myocardial Ischemia", IEEE International Symposium on Medical Measurements and Applications, Ottawa, Canada, pp. 1-5, 2013.
- Abdelazez M, Quesnel PX, Chan ADC, Yang H, "Signal Quality Analysis of Ambulatory Electrocardiograms to Gate False Myocardial Ischemia Alarms", IEEE Transactions on Biomedical Engineering, vol. 64. no. 6. pp 1318-1325, 2017. doi:10.1109/TBME.2016.2602283
SQIexample.zip (20-07-16) Example code of SQI that contaminates ECG with motion artifact at different levels of SNR and shows how the SQI varies with SNR.
ecgsqi.m signal quality index for ECG
Motion Artifact Signal Generation Toolkit
These files include simulated motion artifact, pretrained models to simulate motion artifact, and the ability to train new models. The models include an autoregressive (AR) model, Markov chain model, and recurrent neural network (RNN). The simulated motion artifact can be added to bioelectric signal recordings (e.g., ECG, EMG) for biomedical signal quality analysis research.
Keywords: biological signal, biosignal, electrocardiogram (EMG), motion artifact, python, signal processing, signal quality analysis
Usage
If you are using these files (or a modification of these files) provide an acknowledgment (e.g. in publications) for their usage. Usage of these files (or a modification of these files) should reference:
- A Toolkit for Motion Artifact Signal Generation", IEEE International Symposium on Medical Measurements and Applications, Taormina, Italy, 2022. , "
- Farago E, Chan ADC, "Motion artifact synthesis for research in biomedical signal quality analysis", Journal of Biomedical Signal Processing and Control, vol. 68, 2021.
MotionArtifactModels.zip (22-08-08) Simulated motion artifact, pretrained models to simulate motion artifact, and software to train and simulate motion artifact.
Motion Artifact Signal Database
These files include motion artifact signals obtained by taking 84 ambulatory ECG recordings from the Physionet Long Term AF database and removing the ECG. Each recording is about 24-hours in length.
Keywords: biological signal, biosignal, motion artifact, signal quality analysis
Usage
If you are using these files (or a modification of these files) provide an acknowledgment (e.g. in publications) for their usage. Usage of these files (or a modification of these files) should reference:
- Electrocardiogram Removal to Establish a Motion Artifact Database", submitted to IEEE Canadian Conference on Electrical and Computer Engineering, Regina SK, Canada, 2023. , "
MotionArtifactSignals.zip (23-04-22) A sample of 10 motion artifact signals, each around 24-hours in length.
Myoelectric Control (MECLab)
The Matlab files will enable people researching MES/EMG classification methods to have a common methodology to compare against. The methodology used is a relatively simple and direct approach using ULDA feature reduction and a LDA classifier; however, has shown to be quite effective.
Keywords: biological signal, electromyography (EMG), feature reduction, Matlab, myoelectric control, myoelectric signals (MES), pattern classification, prosthetic control, prosthesis, signal processing
Usage
If you are using these files (or a modification of these files) provide an acknowledgment (e.g. in publications) for their usage. Usage of these files (or a modification of these files) should reference:
Myoelectric Control Example
MECexample.zip (10-02-08) Example code and data to classify eight channels of myoelectric data to predict seven upper arm motions (i.e. using electromyography (EMG) signals for control of upper limb prostheses).
Feature Extraction
getrmsfeat.m root mean square feature
getmavfeat.m mean absolute value feature
getiavfeat.m integrated absolute value feature
getarfeat.m autoregressive feature
getzcfeat.m zero crossing feature
getsscfeat.m slope sign change feature
getwlfeat.m waveform length feature
scatterplot.m creates a scatter plot of the feature vector (likely want to use pca or ulda feature reduction first)
Feature Reduction
pca_feature_reduction.m principal component analysis feature reduction
ulda_feature_reduction.m uncorrelated linear discriminant analysis feature reduction
Classification
score_classify.m converts columns of scores into classification outputs (numbers)
confmat.m generates a confusion matrix
plotconfmat.m plots a confusion matrix
plotconfmattext.m plots a confusion matrix in text format
find_rank.m find the rank of a particular class given columns of scores
rank_classify.m converts columns of scores into ranks
majority_vote.m performs majority vote post processing on classification decisions
classification_timeplot.m plots classification results as a function of time
lda_classify.m classification performed by linear discriminant analysis
knn_classify.m classification performed by k-nearest neighbors
Myoelectric signal processing
meanfrequency.m computes the mean frequency
medianfrequency.m (09-10-07) computes the median frequency
SMratio.m computes the signal-to-motion artifact ratio
DPratio.m computes the maximum-to-minimum drop in power density
SNratio.m computes the signal-to-noise ratio
OHMratio.m computes the spectral deformation
Miscellaneous
remove_transitions.m (10-02-08) will remove transitional data (e.g. from a time series of feature vectors)
ECG Person Identification
Keywords: biological signal, electrcardiography (ECG), electrcardiogram, wavelet, Matlab, biometric, person identification
Usage
If you are using these files (or a modification of these files) provide an acknowledgment (e.g. in publications) for their usage. Usage of these files (or a modification of these files) should reference:
- Chan ADC, Hamdy MM, Badre A, Badee V, "Wavelet distance measure for person identification using electrocardiograms", IEEE Transactions on Instrumentation and Measurement, vol. 57, no. 2, pp. 248-253, 2008.
- Chan ADC, Hamdy MM, Badre A, Badee V, "Person identification using electrocardiograms", IEEE Canadian Conference on Electrical and Computer Engineering, Ottawa, Canada, DRDC Workshop S. No.1, 2006.
ECG Biometric Data Example ECG from 10 subjects from three sessions on separate days.
wavelet_dist.m wavelet distance measure
Adaptive Signal Processing
anc_lms.m adaptive filter using the LMS algorithm
anc_rls.m adaptive filter using the RLS algorithm
Miscellaneous
find_delay.m finds the delay (in samples) between two signals
approxequal.m logical function to compare numbers to see if they are within a certain tolerance of each other
remove_mean.m removes the mean from signals that arranged in columns
gausspdf.m computes the Gaussian probability distribution function
loggausspdf.m computes the log Gaussian probability distribution function
prd.m computes the percent residual difference
fft_freq.m computes fft with corresponding frequencies (fftshift is optional)
M15GUI.zip software to configure the Grass-Telefactor Model 15 Neurodata Amplifier System
findqrs_mobd.m this function is an implementation of the MOBD algorithm for QRS detection
getaxondata.m this function Loads data from Axon file (generated from AxoScope)
Disclaimer
The files provided are distributed "AS IS" and "WITH ALL FAULTS". We do not offer a warranty for the content or use of these files nor do we guarantee their quality, accuracy, fitness for a particular purpose, or safety - either expressed or implied. All questions, complaints, issues, and claims related to files should be directed to the contributing author.
You assume all risk associated with downloading these files from this site.
You are solely responsible for protecting yourself against viruses, and backing up data, files and hardware used in conjunction with the files.
Matlab is a registered trademark of The Mathworks, Inc.