+ float *_hanning = _graph->_hanning;
+ float *_in = _graph->_in;
+ float *_out = _graph->_out;
+
+ int i;
+ // Copy the data and apply the hanning window
+ for (i = 0; i < _windowSize; i++) {
+ _in[i] = window[ i ] * _hanning[ i ];
+ }
+
+ fftwf_execute(_graph->_plan);
+
+ float b = _out[0] * _out[0];
+
+ _data_avg[0] += b;
+ if (b < _data_min[0]) _data_min[0] = b;
+ if (b > _data_max[0]) _data_max[0] = b;
+
+ for (i=1; i < _dataSize - 1; i++) { // TODO: check with Jesse whether this is really correct
+ b = (_out[i] * _out[i]);
+
+ _data_avg[i] += b; // + (_out[_windowSize-i] * _out[_windowSize-i]);, TODO: thanks to Stefan Kost
+
+ if (_data_min[i] > b) _data_min[i] = b;
+ if (_data_max[i] < b ) _data_max[i] = b;
+ }
+
+