Local rub-impact is the common fault in rotating machinery and results in impact and friction between rotor and stator. The vibration signal due to impact and friction is always non-stationary which includes three components, namely, the rub-impact signal, the background signal and the noise signal. EMD (Empirical mode decomposition) is based upon the local characteristic time scale of signal and could decompose the complicated signal into a number of IMFs (intrinsic mode functions). However, because the weak rub-impact signal is always submerged in the background signal and noise signal. The EMD procedure will generate the components redundancy. In order to solve the problem, a novel method combining with independent component analysis (ICA) and EMD is proposed. ICA is introduced into the EMD procedure, so that the components are orthogonal to each other and the components redundancy can be cut down. In the end, a much better decomposition performances can be obtained. Furthermore, integration of EMD with Hilbert envelope analysis is applied to component instantaneous amplitude in order to obtain envelope spectra from which the mechanical fault can be diagnosed. The analysis results from the rub-impact vibration signals show that the proposed method can be applied to the machinery fault diagnosis effectively.