FECGSYN is a realistic non-invasive foetal ECG (NI-FECG) generator that uses the Gaussian ECG model originally introduced by McSharry et al. The toolbox generates synthetic NI-FECG mixtures considering various user-defined settings, e.g. noise sources, heart rate and heart rate variability, rotation of the maternal and foetal heart axes due to respiration, foetus movement, contractions, ectopic beats and multiple pregnancy. Any number of electrodes can be freely placed on the maternal abdomen. The synthetic ECG simulator is a good tool for modelling realistic FECG-MECG mixtures and specific events such as abrupt heart rate increase, in order to benchmark signal processing algorithms on realistic data and for scenarios that resemble important clinical events.
FECGSYN is fruit of the collaboration between the Department of Engineering Science, University of Oxford (DES-OX) and the Institute of Biomedical Engineering, TU Dresden (IBMT-TUD). The authors are Joachim Behar (DES-OX), Fernando Andreotti (IBMT-TUD), Julien Oster (DES-OX), Sebastian Zaunseder (IBMT-TUD) and Gari D. Clifford (DES-OX).
A stable version of the source code for MATLAB and Octave is available here. For developers, a Git repository with the latest modifications is also available here. A standalone applications (using the MATLAB Compiler Runtime) is also available here. The source code comes with a graphical user interface that was contributed by Mohsan Alvi (DES-OX). All the code is freely available under the GNU GPL (General Public License). A log of the changes made to this Physionet webpage is available here.
From left to right: screenshots of the volume conductor with the electrodes and hearts location, the FECGSYN graphical user interface (FECGSYNGUI) and an example of FECG extraction from the abdominal mixture using the template subtraction approach.
When using FECGSYN, please reference the following original paper:
Behar J., Andreotti F., Zaunseder S., Li Q., Oster J. and Clifford G D., An ECG model for simulating maternal-foetal activity mixtures on abdominal ECG recordings. Physiological Measurement 35. 1537-50; 2014.
FECGSYN is built upon the work from McSharry et al. and Sameni et al.. The original code from McSharry et al. is available in MATLAB and in C on PhysioNet (see this link). The code developed by Sameni et al. is part of the OSET toolbox, also available online in MATLAB (link).