Having some trouble understanding this concept, really could do with some advice.
I want my STFT to have the following parameters: NFFT = 256
overlap/hop = 128
Now essentially, the algorithm will work as follows:
1) Split the signal into blocks of 256
This will result in around 72*265
:
2) For each of these blocks, calculate against the Hanning Window
3) Create a "slider" that does an overlap of 128.. So, in theory it would
therefore be: `size = 256 + 128`
Therefore, when I'm computing the DFT for each of the overlapped blocks, will my FFT remain at size 256 or will the size be 256 + 128
If this is the case, does each block in the resulting vector still have to be of size 256?
Thanks
EDIT:
This is now my result:
But, compare this to a spectrogram in matplotlib
Where am I actually going wrong? I cannot make any sense of this.
I've looked bat through all the data, the blocks are correctly overlapping, Hanning window is being applied correctly.
Could it be to do with the fact I'm using a 1D DFT? I.e.
std::vector<complex> FFT->transform(complex_vector[0...n], 256);