Category Archives: Code Examples

Digital Notch Filter for 60Hz Power Line noise elimination

Relevant Notes:

The following hardware limitation has been observed while testing the OMAP-L138 LCDK frequency response: lower frequencies (1-5 Hz) input amplitudes were significantly attenuated at the output, while the amplitudes of the higher frequencies (>5 Hz) had a gain of 0 dB.

Since the ECG frequency range is approximately 1-20 Hz, in order to get an undistorted signal it was needed to modify the characteristics of the Digital Filter so that the amplitudes of the low frequencies inputs would be increased, but the amplitudes of the higher frequencies (>5Hz)  inputs would remain unchanged.

To bypass the hardware limitation, described above, a constant 40 dB gain was added to the Filter Transfer Function to increase the amplitudes of the low frequency inputs;  the Q factor value of the filter was decreased so that the amplitudes attenuation would being at frequencies of 5 Hz and above. This would cancel the 40 dB gain at higher frequencies.

As a result, a well-working Digital Filter C code has been created. The following Figures represent  recorded ECG samples, obtained after having been processed by means of the Digital Notch Filter.

(Real time ECG – normal breathing. Click on the Figure to see a larger image)

ECG1

 

(Accelerated ECG at the exhale. Click on the Figure to see a larger image)

ECG_exheal

 

The following file contains a sample Digital Notch filter C code, needed to eliminate the 60Hz Power Line interference from the acquired ECG signal. The code has been created as a part of a CCS project that was launched to an OMAP-L138 LCDK . 

Enjoy =)

Digital Notch Filter