https://github.com/sabaudian/ecg_mmf_project
ECG signal conditioning by Morphological Filtering - Biomedical Signal Processing project
https://github.com/sabaudian/ecg_mmf_project
biomedical-signal-processing ecg ecg-signal filtering heartbeat matlab morphological-filtering morphological-filters morphological-operators noise-reduction signal-processing structuring-elements university-project
Last synced: about 2 months ago
JSON representation
ECG signal conditioning by Morphological Filtering - Biomedical Signal Processing project
- Host: GitHub
- URL: https://github.com/sabaudian/ecg_mmf_project
- Owner: Sabaudian
- License: mit
- Created: 2022-03-12T15:35:00.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-06-22T09:30:12.000Z (11 months ago)
- Last Synced: 2025-03-25T09:12:21.684Z (2 months ago)
- Topics: biomedical-signal-processing, ecg, ecg-signal, filtering, heartbeat, matlab, morphological-filtering, morphological-filters, morphological-operators, noise-reduction, signal-processing, structuring-elements, university-project
- Language: MATLAB
- Homepage:
- Size: 3.26 MB
- Stars: 9
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# ABSTRACT #
ECG signal conditioning by morphological Filtering## MATLAB (v.R2022a) Requirements ##
- **Communications Toolbox**
- (**Image Processing Toolbox**, if you want to use the build-in functions like: imopen, imclose, imerode and imdilate to process the signal)## STRUCTURE ##
- **ECG_MMF.m**: main class of the project.
- **GenDrift.m**, **GenNoise.m** and **GenStrel.m**: generation of structures and artifacts useful for the project.
- **erosion.m**, **dilatation.m**, **closing.m** and **opening.m**: definition of the morphological processes.## INFO ##
The directory '*dataset*' contains a series of ECG signals recovered from the [physionet database](https://physionet.org/content/mitdb/1.0.0/)The functions '*erosion.m*', '*dilatation.m*', '*closing.m*' and '*opening.m*' are used to process the signals. The functions '*GenDrift.m*', '*GenStrel.m*' are used to generate respectively a baseline drift in the signal and to generate a bunch of Structuring Element to operate on signals.
If you do not want to use the **Communication Toolbox** with the '*awgn*' (Add White Gaussian Noise) function, instead you can adopt the '*GenNoise*' function to generate noise.
## DOCUMENTATION ##
To built this project I have used the following papers:
- [ECG signal conditioning by morphological filtering](https://www.sciencedirect.com/science/article/abs/pii/S0010482502000343?via%3Dihub)
- [Impulsive noise suppression and background normalization of electrocardiogram signals using morphological operators](https://www.sciencedirect.com/science/article/abs/pii/S0010482502000343?via%3Dihub)The pdf file named as *'Progect_Review'* consist in a simple presentation of the project.