MATLAB: Preprocessing ECG signals from 3 channels

ecgsignal processing

I am using 3 ECG channels to read heartbeats, ECG1 (upper right corner of chest, under clavicle bone), ECG2 (upper left corner of chest, under clavicle bone) and ECG3 (left side of abdomen).
The outputs are 3 ECG signals which are differ from each other.
My question is which signal is considered as heartbeat signal or do I need to merge all the signals togather or process each one individually to get the exact heartbeat?

Best Answer

You have to have a fourth (reference or ‘ground’ electrode (ideally) to make any sense of those data. First, look up a reference on ‘vectorcardiography’. It’s too complicated to explain in detail here, so I’ll just provide an outline. You did not describe in sufficient detail your experimental setup, so my ability to reply to it is limited.
The cardiac electrophysiologic cycle traces a series of three principal 3D loops, corresponding to the P-wave, QRS complex, and T-wave. The scalar EKG (that you are recording) are projections of this loop on the axes between any two electrodes. Your ‘EKG1-EKG2’ correspond approximately to Lead I, ‘EKG1-EKG3’ to Lead II, and ‘EKG2-EKG3’ to Lead III of the standard scalar electrocardiogram.
Each lead is ‘correct’ and each will give you the ‘heartbeat’. The only way to merge them correctly is to combine them to form a vectorcardiogram. I went into this in considerable detail in Detecting QRS Complex in ECG Signal. I refer you to it.
See the appropriate sections of Braunwald's Heart Disease: A Textbook of Cardiovascular Medicine, 9th Edition for a full discussion.