Implementing short-time Fourier transform I have a $512$ sample frame, lets call it X. The frame is further divided into four sub-frames of $128$ samples each. Each of these sub-frames have a different frequency. 

For STFT, I use MATLAB's gausswin(N) function where N is equal to $128$ in my case to generate a Gaussian window, let's call it W. I zero-pad my windows W to make it equal to $512$ samples. 

I now multiply my original frame X point by point with W to get y. I then take FFT of y to get Y. It works till here.

My question is, naturally the next logical step should be to shift my zero-padded window W to right by 128 samples and repeat the multiply and FFT procedure again. 


But how do I accumulate these results? 
Concretely, how do I convert it into a time-frequency plot?
admittedly, i have never used the buffer() function in matlab.  for doing STFT analysis and processing, i have just broken it into frames myself with code similar to this answer.  it's easier to see what's going on.

while you can use a gaussian window for analysis (i found it mathematically useful in this paper, email me if you want a pdf copy), you must use a complementary window, one that adds to 1 with the windows of its adjacent frames, for the reconstruction of the signal.  at least if you want this to pass the signal unchanged when the processing is set to "null".