About Site Map Submit Contact Us Log in | Create an account
Create an account Log In
Average Rating
User Rating:
Visitors Rating:
My rating:

Write review
See full specifications

scripts default iconMaximum Correlated Kurtosis Deconvolution (MCKD) (Scripts) Publisher's description

code and method by Geoff McDonald

code and method by Geoff McDonald (glmcdona@gmail.com), May 2011
This code file is an external reference for a paper being submitted
for review.


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 = 100

Signal to perform deconvolution on. This should be a 1d vector.
MCKD will be performed on this vector by designing a FIR

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.

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.

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.

If this value is > 0, plots will be generated of the iterative
performance and of the resulting signal.

The input signal x filtered by the resulting MCKD filter.
This is obtained simply as: y_final = filter(f_final,1,x);

The final MCKD filter in finite impulse response format.

Correlated Kurtosis of shift M according to MED iteration.
ckIter(end) is the final ck.

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

System Requirements:

MATLAB 7.6 (R2008a)
Program Release Status: New Release
Program Install Support: Install and Uninstall

Maximum Correlated Kurtosis Deconvolution (MCKD) (Scripts) Tags:

Click on a tag to find related softwares

Is Maximum Correlated Kurtosis Deconvolution (MCKD) (Scripts) your software?

Manage your software

Most Popular

scripts default icon ASK, OOK, FSK, BPSK, QPSK, 8PSK modulation 1.1
ASK, OOK, FSK, BPSK, QPSK, 8PSK modulation contain several functions for digital modulation simulation
scripts default icon Simulink Communication Labs 1.1
Simulink Communication Labs allows you to learn communication systems in greater depth.
scripts default icon M-QAM modulation and demodulation 1.1
M-QAM modulation and demodulation is the QAM modulation and demodulation tech.
scripts default icon LZW Compression/Decompression 1.1
LZW Compression/Decompression - Updated LZW compressor and decompressor with reasonable performance
scripts default icon InSPIRE utility to plot a 2D displacement field (Scripts) 1.0
This program plots the deformation field (displace vectors) contained in vector.txt.