## 1 Introduction  
Rotating machinery occupies an important place in modern industry [1], including aeroengines, rotating electrical machines and wind turbines, etc. The occurrence of faults in rotating machinery may cause potential decreases in productivity, or even catastrophic casualties [2]. Rub-impact is a harmful fault in rotating machinery, which frequently occur [3; 4]. Successful rub-impact fault diagnosis reduces the cost of maintenance and improves both worker and machine efficiency [5]. Therefore, how to diagnose the rub-impact fault is an important topic in rotating machinery development and worthy of research. Vibration signals are collected by acceleration sensors mounted on the substrate of mechanical equipment [6]. When a rub-impact fault occurs in the rotor system, it will lead to an amplitude modulation (AM) in the vibration signal and the instantaneous frequency (IF) of the fundamental harmonic will fluctuate; the fluctuating frequency of IF is equivalent to the harmonic frequency [7]. In order to analyse the fault signal, the Instantaneous Fault Characteristic Frequency (IFCF) must be estimated [8]. IFCF can be obtained by ridge extraction from the Time-Frequency Representation (TFR). The synchrosqueezing transform (SST) is a method of this type [9]. The direct ridge detection algorithm is able to detect the maximum magnitude of all pixels in the frequency direction for every time instant, which can obtain the IFCF. This method is susceptible to noise and has poor results in this case [10]. IFCF can also be obtained by Hilbert transform (HT) and Hilbert-Huang transform (HHT) [11]. Empirical mode decomposition (EMD) is able to decompose the signal into some intrinsic mode functions (IMFs) [12; 13; 14]. Each IMF component can be an amplitude-modulated (AM) or frequency-modulated (FM) signal [15]. Therefore, the rub-impact information can be extracted from each IMF [16; 17]. However, as a result of the noise signal, it is unlikely that the EMD will correctly decompose the vibration signal. Variational Mode Decomposition (VMD) is able to decompose the signal into some modes, and VMD is more robust to noise [18]. Singular value decomposition (SVD) is very useful in signal denoising [19; 20; 21; 22]. Many studies are interested in the way to select a threshold \(r\), and denoise the signal by retaining the singular components (SCs) with the first \(r\) largest singular values. [PERSON] et al. utilized periodic modulation intensity to quantify the diagnostic information in a signal. With this intensity, the decomposed SCs can be sorted according to their information levels [23]. [PERSON] et al. [24] proposed a method to select the order of singular value decomposition according to the saturation order of the singular entropy. [PERSON] et al. [25; 26] have proved that there is a twofold relationship between the number of non-zero singular values and that of frequencies in sinusoidal signals, and this conclusion is proved theoretically by [PERSON] et al. [27], who also pointed out that SVD has amplitude filtering characteristics. As outlined above, many methods to obtain IF will have poor results due to the influence of noise. Additionally, when the rub-impact fault occurs, the fluctuating frequency of IF is equivalent to the harmonic frequency. In order to obtain good IF results, the two-layer SVD is proposed, which can reduce noise in the signal due to the amplitude filtering characteristics of the singular value decomposition. VMD is also used, which decomposes signals into multiple modes. A mode can be obtained by decomposition, and the decomposition has the function of removing the noise outside the frequency band of this mode. In this paper, the Hilbert transform and SVD are briefly reviewed in Section 2. In Section 3, a two-layer singular value decomposition signal denoising technique is proposed. In Section 4, the effectiveness of the proposed method is validated on synthetic signals. In Section 5, the proposed method is applied in rub-impact diagnosis. Eventually, conclusions are drawn in Section 6.