# Roll Eccentricity Signal Detection and Its Engineering Application Based on SFFT-IAA
## 3 Roll Eccentricity Signal Detection Based on SFFT-IAA
### Steps of Roll Eccentricity Signal Detection  
The proposed eccentricity signal detection algorithm based on SFFT and IAA consists of the following steps:  
Step 1: Set the initial parameters of the algorithm [28]. Set the number of sampled roll eccentricity signals \(N\); set the sampling frequency \(f_{S}\); set the signal sparsity \(K=2R\), where \(R\) is the number of rollers; set the number of buckets of the signal \(B\approx\sqrt{NK}\), where \(N\) is divisible by \(B\); design the flat window function filter according to \(N\) and \(B\); since the signal frequency range is required for the SFFT algorithm and accuracy is not required, set the number of iterations of the SFFT algorithm as \(L=O(\log_{2}N)\); set the number of data used in the IAA algorithm as \(N_{I}\); set the maximum number of iterations of the IAA algorithm as \(L_{I}\) and the power threshold as \(P_{TH}\);  
Step 2: perform frequency spectra rearrangement and filtering for the original signal sequence \(x(n)\) to obtain \(y(n)\);  
Step 3: perform time domain frequency aliasing for \(y(n)\) to obtain \(q(i)\); perform \(B\) points FFT operation for \(q(i)\) to obtain \(Q(k)\);  
Step 4: Define the hash function \(h_{\sigma}(k)\) and the offset function \(O_{\sigma}(k)\) according to Equations (22) and (23). Put the coordinate \(k\) of \(2K\) large values in \(Q(k)\) to the set \(J\), and use reverse hash mapping to obtain the set \(I\) of \(2K\cdot(N/B)\) original image coordinates in \(J\);  
Step 5: calculate the frequency estimate \(X^{\prime}(k)\) according to Equation (25);  
Step 6: perform \(L\) iterations for Steps 2\(\sim\)5 and update the set \(I_{r}=[I_{r}\ I]\), \(r\in\{1,2,\cdots,L\}\) for each iteration;  
Step 7: for any coordinate \(k\in I=I_{1}\cup I_{2}\cup\cdots\cup I_{L}\), count the number of occurrences \(S\) of \(k\) and put it into the set \(I_{S}=\{k\in I|S\geq L/2\}\); for any \(k\in I_{S}\), set the median of \(X_{r}(k)\) obtained from \(L\) iterations as the final frequency estimate \(X(k)\);  
Step 8: according to \(X(k)\), count each harmonic frequency range of the signal, and set \(R/2\) (\(R\) is the number of rollers) frequency band range \([\omega_{z}-d\omega,\omega_{z}+d\omega]\), \(z\in\{1,\cdots,R/2\}\) and the grid spacing \(\Delta\omega\);  
Step 9: perform Steps 10\(\sim\)13 in order for each frequency band range;  
Step 10: compute the initial value with the threshold \(\hat{d}_{j}\) according to Equation (10), compute \(A_{j}\) according to Equation (13), and compute the initial value of \(R\) according to Equation (14);  
Step 11: calculate \(\hat{d}_{j}\) and \(A_{j}\) according to Equation (13) and calculate \(R\) according to Equation (14);Step 12: Determine whether the number of iterations is greater than \(L_{I}\). If it is, go to Step 12; otherwise, go to Step 10;  
Step 13: calculate the power \(P(\omega_{j})\) of each grid frequency in order according to Equation (18); search for all the peak values greater than \(P_{TH}\), and find the frequency \(\omega_{j}\) and amplitude \(a_{j}=\big{[}a(\omega_{j}),b(\omega_{j})\big{]}^{T}\) of the peak values;  
Step 14: The computation of all frequency bands is completed. Then, the obtained frequency \(\omega_{j}\) and amplitude \(a_{j}\) are used to obtain the initial phase angle \(\varphi_{i}\) and signal amplitude \(A_{i}\) according to Equation (7) through the formulas of trigonometric functions. Finally, the roll eccentricity signal model is established.