Main Page   Class Hierarchy   Data Structures   File List   Data Fields   Globals  

autocorrelation.f

Go to the documentation of this file.
00001 
00002 c
00003 c       Copyright (c) 1986,1987,1988,1989,1990,1991,1992,1993,
00004 c       by Steve McMillan, Drexel University, Philadelphia, PA.
00005 c
00006 c       All rights reserved.
00007 c
00008 c       Redistribution and use in source and binary forms are permitted
00009 c       provided that the above copyright notice and this paragraph are
00010 c       duplicated in all such forms and that any documentation,
00011 c       advertising materials, and other materials related to such
00012 c       distribution and use acknowledge that the software was developed
00013 c       by the author named above.
00014 c
00015 c       THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
00016 c       IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
00017 c       WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00018 c
00019 
00020         subroutine autocorrel(a,n,w)
00021 c
00022 c       Replace a by its autocorrelation function.
00023 c
00024         real a(n),w(0:n)
00025 c
00026         if (n.le.1) return
00027 c
00028 c       First take out the mean signal.
00029 c
00030         aver = 0.
00031         do i=1,n
00032             aver = aver + a(i)
00033         end do
00034 c
00035         aver = aver/n
00036         do i = 1,n
00037             a(i) = a(i) - aver
00038         end do
00039 c
00040         n2 = n/2
00041 c
00042         do i=0,n2
00043             w(i) = 0.
00044             do j=1,n-i
00045                 w(i) = w(i) + a(j)*a(j+i)
00046             end do
00047             w(i) = w(i) / (n-i)
00048         end do
00049 c
00050 c       Normalize by the i=0 term.
00051 c
00052         do i=1,n2
00053             a(i) = w(i)/w(0)
00054         end do
00055 c
00056         n = n2
00057 c
00058         end
00059         

Generated at Sun Feb 24 09:56:55 2002 for STARLAB by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001