Hamming, Blackman, and Blackman-Harris

Python. This is my implementation for some of windows used in audio applications. I chose Hamming, Blackman, and Blackman-Harris window functions. Instead of using FFT pack, I directly applied DFT since the DFT size is not too big. I scaled the amplitude for a better view. In the figure, we see their main-lobe width and side-lobes. The main lobe and the highest side lobe are important for us. I chose the small window and DFT sizes (64 and 512).

The results  are (approximately):

Hamming: Main lobe width is 4 bins and side-lobe level is -42.7 dB.

Blackman: Main lobe width is 6 bins and side-lobe level is -58.2 dB.

Blackman-Harris: Main lobe width is 8 bins and side-lobe level is -92 dB.

References:

[1] Mathematics of the Discrete Fourier Transform, Julius O. Smith III

[2] FFT Bin Interpolation, Ted Knowlton

[3] Windows, Matlab Documentation