>

BBC_CORRELATE

 NAME:
       bbc_correlate

 PURPOSE:
       This function computes the cross correlation Pxy(L) or cross
       covariance Rxy(L) of two sample populations X and Y as a function
       of the lag (L).

 CATEGORY:
       Statistics.

 CALLING SEQUENCE:
       Result = bbc_correlate(X, Y, Lag)

 INPUTS:
       X:    An n-element vector of type integer, float or double.

       Y:    An n-element vector of type integer, float or double.

     LAG:    A scalar or n-element vector, in the interval [-(n-2), (n-2)],
             of type integer that specifies the absolute distance(s) between
             indexed elements of X.

 KEYWORD PARAMETERS:
       COVARIANCE:    If set to a non-zero value, the sample cross
                      covariance is computed.

       DOUBLE:        If set to a non-zero value, computations are done in
                      double precision arithmetic.

 EXAMPLE
       Define two n-element sample populations.
         x = [3.73, 3.67, 3.77, 3.83, 4.67, 5.87, 6.70, 6.97, 6.40, 5.57]
         y = [2.31, 2.76, 3.02, 3.13, 3.72, 3.88, 3.97, 4.39, 4.34, 3.95]

       Compute the cross correlation of X and Y for LAG = -5, 0, 1, 5, 6, 7
         lag = [-5, 0, 1, 5, 6, 7]
         result = bbc_correlate(x, y, lag)

       The result should be:
         [-0.428246, 0.914755, 0.674547, -0.405140, -0.403100, -0.339685]

 PROCEDURE:
       See computational formula published in IDL manual.

 REFERENCE:
       INTRODUCTION TO STATISTICAL TIME SERIES
       Wayne A. Fuller
       ISBN 0-471-28715-6

 MODIFICATION HISTORY:
       Written by:  GGS, RSI, October 1994
       Modified:    GGS, RSI, August 1995
                    Corrected a condition which excluded the last term of the
                    time-series.
       Modified:    GGS, RSI, April 1996
                    Simplified CROSS_COV function. Added DOUBLE keyword.
                    Modified keyword checking and use of double precision.
       Modified:    W. Biagiotti,  Advanced Testing Technologies Inc., Hauppauge, NY, July 1997
                    Moved all constant calculations out of main loop for greatly
                    reduced processing time.


 DISCLAIMER:  This routine has been modified from its original form as it was
              supplied by Research Systems, Inc (RSI).  As such, RSI is not responsible
              for any errors existing in this code.