MATLAB: Detecting QRS complex in ECG signal

cardiac pacemakerdigital signal processingecgqrsusurp-afvectorcardiography

Hi guys,
I have a few ECG mat files of USUSRP-AF patients with me. I was told that the signals have been sampled at 512Hz. I'm working on a project to prototype a PaceMaker. Therefore I need to filter these ECG signals to find the QRS complex by applying the necessary filters as appropriate. I'm very new to this MATLAB environment. What filters I need to use (lowpass, hihgpass, bandpass)? Please advice and appreciate if someone could include the commands to accomplish this task.
I have tried few examples in search results from Google. However, there wasn't a complete solution or clear instructions or guidance on how to do it. Therefore, I decided to post here so that an expert in this area would reply.
Thanks for your precious time.
Cheers, Rumi

Best Answer

When you say ‘EKG’ do you mean full surface 12-lead, Lead-II rhythm strips, or intracardiac recordings (taken with an electrophysiology catheter)? Atrial fibrillation (AF) and most other rhythm disturbances are rarely isolated pathology. The ventricular (QRS) rhythm is by definition irregularly-irregular, with a quite uneven baseline.
I certainly suggest a bandpass filter, but I’ve never analysed an AF EKG from a signal processing perspective, so I’m not certain what the best passband would be. The low end must be high enough to exclude baseline drift, and the high end low enough to filter out the atrial signal and of course exclude 50-60 Hz power frequencies. Ventricular rhythms can vary from around 50 bpm (0.8 Hz) to 300 bpm (5 Hz). I would suggest a 0.20 Hz low-frequency passband limit but your sampling frequency will only allow you at most 250 Hz at the high end.
You need to do FFTs of at least Lead II of each EKG record to see what the spectra have in common. (Posting two or more of your randomly-selected EKG mat-files, preferably of full 12-lead EKGs here would help.)