Electromyographic (EMG) noise has a broad bandwidth overlapping on the ECG signal, which is hard to suppress. This research uses one-dimensional Kalman filter to remove EMG noise after preliminary filtering and QRS complex wave recognition of real-time ECG signal. In this research, the low pass and high-pass FIR filter are used firstly to suppress power line and high frequency interference. Then a median filter is used to delete baseline wander. A Kaiser window is also used to prevent spectrum leakage. After these pre-processing, the wavelet transform method is used to initially identify the R peaks, Q peaks and S peaks. Since EMG noise is similar as white noise as to ECG, Kalman filter is suitable to remove EMG in real time. We generate an EMG noise database by adding EMG noise from Noise Stress Test database to clean ECG data in MIT-BIH Arrhythmia Database. We test the ECG data in EMG noise database and 1475 ECG data collected by a portable ECG card. Without weakening the R peaks, the EMG noise is suppressed successfully, while P-peaks can be automatically identified with the smooth signal, which helps to identify premature ventricular contraction (PVC). The sensitivity and positive predict value (+P) of QRS recognition and P recognition of EMG noise database are all above 99%.