Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

# Maximum Correlated Kurtosis Deconvolution (MCKD) 1.0

Date Added: April 18, 2013  |  Visits: 199

This method tries to deconvolve a periodic series of impulses from a 1d vector. It does this by designing a FIR filter to maximize a norm criterion called Correlated Kurtosis. This method is has applications in fault detection of rotating machinery (such as ball bearing and gear faults).Algorithm Reference: (Paper link coming soon. If you are interested in this, please contact me at glmcdona@gmail.com. I will add the link if/when the paper is available online)Example Usage: % We want to extract the periodic impulses % from the very strong white noise! n = 0:999; x = 3*(mod(n,100)==0) + randn(size(n)); [y_final f_final ck_iter] = mckd(x,400,30,100,7,1); % M = 7 % T = 100Inputs: x: Signal to perform deconvolution on. This should be a 1d vector. MCKD will be performed on this vector by designing a FIR filter. filterSize: This is the length of the finite impulse filter filter to design. Using a value of around 100 is appropriate depending on the data. Investigate the performance difference using different values. termIter: (OPTIONAL) This is the termination number of iterations. If the the number of iterations exceeds this number, the MCKD process will complete. Specify [] to use default value of 30. T: This is the period for the deconvolution. The algorithm will try to deconvolve periodic impulses separated by this period. This period should be specified in number of samples and can be fractional (such as 106.29). In the case of a fractional T, the method will resample the data to the nearest larger integer T: i.e. 106.29 -> 107 and the y_final output will still be at this resampled factor. M: This is the shift order of the deconvolution algorithm. Typically an integer value between 1 and 5 is good. Increasing the number increases the number of periodic impulses it tries to find in a row. For example M = 5 would try to extract at least 5 impulses in a row. When you use a larger M you need a better estimate of T. Using too large a M (approx M > 10) will result in a loss of numerical precision. plotMode: If this value is > 0, plots will be generated of the iterative performance and of the resulting signal.Outputs: y_final: The input signal x filtered by the resulting MCKD filter. This is obtained simply as: y_final = filter(f_final,1,x); f_final: The final MCKD filter in finite impulse response format. ckIter: Correlated Kurtosis of shift M according to MED iteration. ckIter(end) is the final ck.Note: The solution is not guaranteed to be the optimal solution to the correlated kurtosis maximization problem, the solution is just a local maximum and therefore a good pick

 Requirements: No special requirements Platforms: Matlab Keyword: Factor,  Integer,  Larger,  Nearest,  Output,  Resample,  Resampled,  Shift Users rating: 0/10