With the rapid development of Global Navigation Satellite Systems (GPS, BDS, GALILEO and GLONASS), the number of available satellites is increasing. The redundancy of GNSS is enhanced. This will offer the possibility of realizing receiver fault detection and exclusion (FDE). Due to factors such as satellite fault and strong electromagnetic interference, measurements from some satellite are vulnerable to become outliers. Unacceptable positioning errorswill occur unless such faultymeasurements are detected and excluded. Therefore, it is very important to apply RAIM (Receiver Automatic Integrity Monitoring) algorithm for improving the positioning precision. The main function of RAIM algorithm includes two aspects: fault detection and fault exclusion. This paper presents a RAIM algorithm based on residual separation. The algorithm uses the residual sum of squares of observation equations as test statistics. When test statistics exceed alarm threshold, it can be considered that there are faults in measurements. And then the visible satellites are excluded at every turn, while multi-combinations of remaining measurements are obtained. After SSE (Sum of Squared Error) calculated, the combination of remaining measurements with smallest SSE is the optimal result. Field test data and simulation data are processed in this work. The RAIM algorithm based on residual separation can not only avoid excluding too many satellites, but also improve the positioning accuracy in the case of containing faults.