Signal processing methods are widely used in fault diagnosis and are known for their strong interpretability. Among them, signal adaptive decomposition algorithms are used to extract the features of fault signals. As an effective adaptive decomposition algorithm, difference mode decomposition divides the signals into three components using spectrum weighting. However, it can only separate mixed fault components and is not suitable for multi-class fault diagnosis tasks. This paper presents a successive difference mode decomposition method, which first defines the reference component and concerned component (fault features) based on the differences in fault. Then, the corresponding filter indexes are solved through iterative convex optimization at each layer. Finally, signals are decomposed into multiple fault components corresponding to different fault sources. The white noise replacement module is further proposed to solve the gradient vanishing problem introduced by successive decomposition. The effectiveness of this method is validated on real datasets.