annotate maths/Correlation.cpp @ 241:a98dd8ec96f8

* Move dsp/maths to maths ; bring PCA and HMM across from Soundbite
author Chris Cannam <c.cannam@qmul.ac.uk>
date Wed, 09 Jan 2008 10:31:29 +0000
parents
children d5014ab8b0e5
rev   line source
c@241 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
c@241 2
c@241 3 /*
c@241 4 QM DSP Library
c@241 5
c@241 6 Centre for Digital Music, Queen Mary, University of London.
c@241 7 This file copyright 2005-2006 Christian Landone.
c@241 8 All rights reserved.
c@241 9 */
c@241 10
c@241 11 #include "Correlation.h"
c@241 12
c@241 13 //////////////////////////////////////////////////////////////////////
c@241 14 // Construction/Destruction
c@241 15 //////////////////////////////////////////////////////////////////////
c@241 16
c@241 17 Correlation::Correlation()
c@241 18 {
c@241 19
c@241 20 }
c@241 21
c@241 22 Correlation::~Correlation()
c@241 23 {
c@241 24
c@241 25 }
c@241 26
c@241 27 void Correlation::doAutoUnBiased(double *src, double *dst, unsigned int length)
c@241 28 {
c@241 29 double tmp = 0.0;
c@241 30 double outVal = 0.0;
c@241 31
c@241 32 unsigned int i,j;
c@241 33
c@241 34 for( i = 0; i < length; i++)
c@241 35 {
c@241 36 for( j = i; j < length; j++)
c@241 37 {
c@241 38 tmp += src[ j-i ] * src[ j ];
c@241 39 }
c@241 40
c@241 41
c@241 42 outVal = tmp / ( length - i );
c@241 43
c@241 44 if( outVal <= 0 )
c@241 45 dst[ i ] = EPS;
c@241 46 else
c@241 47 dst[ i ] = outVal;
c@241 48
c@241 49 tmp = 0.0;
c@241 50 }
c@241 51 }