Gaussian Combination Model for synthesis of Electrocardiogram Signals
In this project, an algorithm is presented for electrocardiogram (ECG) synthesis based on a combination of Gaussians to fit real ECG. The method is proposed for fitting algorithm assuming that constituent Gaussian functions in GCM model are independent. The algorithm can be simply used for modeling of one or more cycle(s) without any modification. It also does not need any segmentation or windowing to separate ECG cycles and actually all cycles of ECG are modeled together. In this algorithm, the model of the main shape of ECG is obtained in minimum number of Gaussians. For example if there is no T wave in ECG Waveform, our proposed algorithm will not assign any parameters to T wave. This aspect can be useful in ECG compression. Modeling of ECG can be used in many aspects such as classification (diagnosis), simulators, and compression.
Gaussian curve is well known in many issues of Mathematics and Engineering, such as statistics, probabilistic, modeling and so many more. It would be describe mathematically as bellow:
In this work, we use the combination of a set of Gaussian curve to achieve our Signal model, as follow:
In our proposed algorithm, we assumed that ECG is composed of a set of independent Gaussian Functions; so discovery of each independent component place was very important. Steps that should be completed in our algorithm for GCM modeling are listed below:
1- Loading ECG signal from Database.
2- Selecting cycle(s) of ECG that contain P, QRS and T waves.
3- Determining number of Gaussians that are needed in synthesis process.
4- Applying suitable operation(s) as below, Based on Fitting range determination method :
1- Loading ECG signal from Database.
2- Selecting cycle(s) of ECG that contain P, QRS and T waves.
3- Determining number of Gaussians that are needed in synthesis process.
4- Applying suitable operation(s) as below, Based on Fitting range determination method :
- In case of utilizing zero crossing method for fitting range discovery, full rectification of ECG signal (calculating absolute value of ECG signal), separately modeling positive and negative parts of ECG and finally combining Gaussians that have been resulted from that parts should be applied respectively. In order to improve modeling accuracy, positive and negative parts are modeled independently.
- There is no need to apply any changes to ECG signal for minimum bank method fitting range determination. |
4- Finding biggest local maximum as Gaussian fitting locus.
5- Determining domain of Gaussian fitting around local maximum found in step 5 with zero crossing or minimum bank method.
6- Fitting a Gaussian function in the part of ECG that has been selected based on a range of fitting found in step 6.
7- Subtracting the resulting Gaussian function (result of step 6) from original ECG signal in order to determine local error.
ECGNew = ECGOld - GaussianModel
In this equation ECGNew is local error that will be used in next step, ECGOld is remaining parts of ECG from last steps and GaussianModel is Gaussian function that have been fitted in step 7 (above).
8- Substituting the original signal with local error ( ECGNew ) that has been determined in step 8 and back to step 4 until reaching maximum number of iteration (N) or satisfying desired minimum error requirement (iterative process)
Results
This page is still under construction. If you have any question about this project, please don't hesitate to ask me via [email protected]