annotate WindowFunction.cpp @ 7:21147df9cb2d

* Error when deleting Spectrogram object in Tempogram::getRemainingFeatures(). * Moved Spectrogram computation into own class.
author Carl Bussey <c.bussey@se10.qmul.ac.uk>
date Thu, 07 Aug 2014 16:21:21 +0100
parents 31d2a7e07786
children be59b4a73f49
rev   line source
c@0 1 //
c@0 2 // WindowFunction.cpp
c@0 3 // Tempogram
c@0 4 //
c@0 5 // Created by Carl Bussey on 26/06/2014.
c@0 6 // Copyright (c) 2014 Carl Bussey. All rights reserved.
c@0 7 //
c@0 8
c@0 9 #include "WindowFunction.h"
c@0 10 using std::vector;
c@0 11
c@0 12 void
c@0 13 WindowFunction::hanning(float *signal, const unsigned int N, const bool normalise){
c@0 14
c@0 15 float sum = 0;
c@0 16 for(int i = 0; i < N; i++){
c@0 17 signal[i] = 0.5*(1-cos((float)2*M_PI*i/N));
c@0 18 sum += signal[i];
c@0 19 }
c@0 20 if (normalise){
c@0 21 for(int i = 0; i < N; i++){
c@0 22 signal[i] /= sum;
c@0 23 }
c@0 24 }
c@0 25 }