# Calculating SNR for ECG signals

I'm reading through the literature for finding the best way to calculate SNR for a ECG signal. While there are many algorithms for improving SNR, I couldn't find any that details any standard procedure for evaluating the SNR itself. The following are my questions.

1. What is the SNR of a typical ECG signal from the MIT/BIH database? What is considered a good SNR for a typical ECG signal? http://www.physionet.org/physiobank/database/mitdb/

2. What would qualify as Signal and Noise for ECG? The assumption that I worked with is to apply a bandpass filter with cut-offs fc=[0.5Hz,45Hz] on the recorded ECG signal to get the Clean ECG signal, then subtract the clean ECG signal from recorded signal to obtain noise and then use the matlab snr function to evaluate SNR with the clean signal and noise as arguments. But, in some papers it is recommended to reject everything except the QRS complex to get the clean signal. Is there any standard/recommended procedure for calculating SNR for ECG? http://en.wikipedia.org/wiki/QRS_complex

3. What would be the best way to calculate ECG SNR in real-time in an embedded platform?

• What are MIT, BIH and QRS?
– Deve
Mar 27, 2015 at 16:12
• @Deve these are ECG specific terminology. MIT/BIH database contains some standard recorded ECG data under various circumstances and from patients with a variety of cardio disorders. physionet.org/physiobank/database/mitdb QRS is a event related signal complex related to ventricular activity. en.wikipedia.org/wiki/QRS_complex Mar 27, 2015 at 16:46
• You can increase the probability of answers if you rephrase your question, so that people without ECG expert knowledge can answer it.
– Deve
Mar 27, 2015 at 16:49
• There is nothing unique about the ECG signal as a DSP challenge. What should be considered is the cause and source of the noise to model it. Using a low pass filter assumes that you do not have meaningful ECG in the high frequencies and that there is much noise in the high frequency. The best filter, assuming white noise, is a matched filter.
– Moti
Mar 29, 2015 at 15:58
• This paper summarises a few methods for estimating the SNR and contain several useful references: cinc.org/archives/2011/pdf/0609.pdf Apr 2, 2018 at 13:36

I don't know about real time application normally what I am doing is to calculate $$\mathrm{PRD}$$ first and calculate $$\mathrm{SNR}$$ from $$\mathrm{PRD}$$
$$\mathrm{SNR}=-20\log_{10}(0.01\mathrm{PRD})$$
$$\mathrm{PRD}$$ - Percentage Root Mean Square Deviation