• 大小: 6KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-04-18
  • 语言: Matlab
  • 标签: cumest  MATLAB  

资源简介

信号累积量的计算程序。主程序cumest.m。调用程序cum2est.m;cum3est.m;cum4est.m

资源截图

代码片段和文件信息

function   y_cum = cum2est (y maxlag nsamp overlap flag)
%CUM2EST Covariance function.
% Should be involed via “CUMEST“ for proper parameter checks.
% y_cum = cum2est (y maxlag samp_seg overlap  flag)

%        y: input data vector (column)
%   maxlag: maximum lag to be computed
% samp_seg: samples per segment (<=0 means no segmentation)
%  overlap: percentage overlap of segments
%     flag: ‘biased‘ biased estimates are computed
%           ‘unbiased‘ unbiased estimates are computed.
%    y_cum: estimated covariance
%           C2(m)  -maxlag <= m <= maxlag
% all parameters must be specified!


%  Copyright (c) 1992-96  United Signals & Systems Inc. and The Mathworks Inc.
%       $Revision: 1.3 $
%  A. Swami   January 20 1993


%     RESTRICTED RIGHTS LEGEND
% Use duplication or disclosure by the Government is subject to
% restrictions as set forth in subparagraph (c) (1) (ii) of the
% Rights in Technical Data and Computer Software clause of DFARS
% 252.227-7013.
% Manufacturer: United Signals & Systems Inc. P.O. Box 2374
% Culver City California 90231.
%
%  This material may be reproduced by or for the U.S. Government pursuant
%  to the copyright license under the clause at DFARS 252.227-7013.

% C2(m) := E conj(x(n)) x(n+k)

% ----------  parameter checks are done by CUMEST  ----------------

   [n1n2] = size(y);    N = n1*n2;

   overlap  = fix(overlap/100 * nsamp);
   nrecord  = fix( (N - overlap)/(nsamp - overlap) );
   nadvance = nsamp - overlap;

   y_cum    = zeros(maxlag+11);
   ind = 1:nsamp;

   for i=1:nrecord
       x = y(ind); x = x(:) - mean(x);     % make sure we have a colvec
       for k = 0:maxlag
           y_cum(k+1) = y_cum(k+1) + x([1:nsamp-k])‘ * x([k+1:nsamp]);
       end
       ind = ind + nadvance;
   end
   if (flag(1:1) == ‘b‘ | flag(1:1) == ‘B‘)
       y_cum = y_cum / (nsamp*nrecord);
   else
       y_cum = y_cum ./ (nrecord * (nsamp-[0:maxlag]‘ ));
   end
   if maxlag > 0
      y_cum = [conj(y_cum(maxlag+1:-1:2)); y_cum];
   end

return

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4482  1997-05-26 11:22  cum4est.m

     文件       2783  1997-05-26 11:22  cumest.m

     文件       2089  1997-05-26 11:22  cum2est.m

     文件       2921  1997-05-26 11:22  cum3est.m

     文件        231  2010-12-31 11:46  说明.txt

----------- ---------  ---------- -----  ----

                12506                    5


评论

共有 条评论