In recent years, new algorithms have been continuously applied in the field of geophysical data processing, all of which have achieved good results. However, there is currently no dedicated signal separation method for self-potential field signal processing. In this paper, we propose a self-potential signal separation algorithm based on non-negative matrix factorization (NMF) to perform blind source signal separation. We aim to separate different self-potential signals from the collected mixed signals, laying the foundation for subsequent work such as feature recognition. We utilized analytical formulas of simple polarization bodies and forward modeling procedures to generate a series of self-potential signal data. Subsequently, we conducted numerical simulation experiments for signal separation. The numerical simulation results demonstrate that the proposed algorithm is capable of separating self-potential signals of different models from mixed signals.