This paper introduces an algorithm for removing high frequency noise components from electrocardiograms (ECGs) based on Savitzky-Golay finite duration impulse response (FIR) smoothing filter. The peaks of R waves and the points at which Q waves end and S waves start are detected for all beats. These points are used to separate the low amplitude parts of the ECG in each beat, which are most affected by high frequency noise. The Savitzky-Golay smoothing algorithm is then applied to these parts of the ECG and the resultant filtered signals are added back to their corresponding QRS parts. The effect of high frequency noise removal on nonlinear features such as largest Lyapunov exponent and minimum embedding dimension is also investigated. Performance of the filter has been compared with an equiripple low pass filter and wavelet de-noising.