资源简介
matlab开发-最大相关系数。一种从一维信号中提取周期脉冲的方法。

代码片段和文件信息
function [y_final f_final ckIter] = mckd(xfilterSizetermIterTMplotMode)
%MAXIMUM CORRELATED KURTOSIS DECONVOLTUION
% 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.
%
% mckd(xfilterSizetermIterplotModeTM)
%
% Description:
% 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)
%
% Inputs:
% 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
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 9324 2011-05-06 17:46 mckd.m
文件 1314 2017-05-06 23:13 license.txt
评论
共有 条评论