view WindowFunction.cpp @ 8:4e429b9f2b4d

* Fixed memory leak bug. Issue with calculating size of spectrogram array. * Fixed bug in Tempogram::reset() where specData wasn't reinitialised.
author Carl Bussey <c.bussey@se10.qmul.ac.uk>
date Thu, 07 Aug 2014 17:25:24 +0100
parents 21147df9cb2d
children be59b4a73f49
line wrap: on
line source
//
//  WindowFunction.cpp
//  Tempogram
//
//  Created by Carl Bussey on 26/06/2014.
//  Copyright (c) 2014 Carl Bussey. All rights reserved.
//

#include "WindowFunction.h"
using std::vector;

void
WindowFunction::hanning(float *signal, const unsigned int N, const bool normalise){
    
    float sum = 0;
    for(int i = 0; i < N; i++){
        signal[i] = 0.5*(1-cos((float)2*M_PI*i/N));
        sum += signal[i];
    }
    if (normalise){
        for(int i = 0; i < N; i++){
            signal[i] /= sum;
        }
    }
}