Search code examples
matlabsignal-processingtime-frequencyhamming-window

To create Hamming window of length 64 with overlap 60% in Matlab


I am trying to give for Wigner-Ville Distribution Hamming Window of length 64 with 60% overlap here. I can create Hamming window of length 64 by

h=hamming(64);

Here is some theoretical pieces of advice about the issue. The window seems to be some sort of convolution of three Hamming waves with 60% probability for convolution.

The overlap seems to be some sort of convolution of three functions. My try for three windows and their overlaps

conv(conv(hamming(64), hamming(64)), conv(hamming(64), hamming(64)))

My try for two windows and their overlaps

h = conv(hamming(64), hamming(64));

Both of the results do not seem to give me any better Wigner-Ville distribution results. Many cloudy peaks are still visible. So the key seems to separate in time the windows, since the current result of the window function returns exactly the same picture as with hamming(64) window only.

Thinking the 60% overlap

The dimensions of hamming(64) are 64x1 double, while of conv(hamming(64), hamming(64)) 127x1 double. To make a probabilistic algorithm of 60% chance is not straightforward, because we cannot iterate both functions linearly.

How can you create hamming window with 60% overlap?


Solution

  • A quick search indicated buffer might be worth attempting.

    h = hamming(64);
    y = buffer(h, 1, floor(64 * 0.6));
    

    But my Matlab version does not support this function, so I didn't try.