view 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
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;
        }
    }
}