from numpy import kaiser kaiser(12, 14) # array([ 7.72686684e-06, 3.46009194e-03, 4.65200189e-02, # 2.29737120e-01, 5.99885316e-01, 9.45674898e-01, # 9.45674898e-01, 5.99885316e-01, 2.29737120e-01, # 4.65200189e-02, 3.46009194e-03, 7.72686684e-06]) # Plot the window and the frequency response: from numpy import clip, log10, array, kaiser, linspace from numpy.fft import fft, fftshift import matplotlib.pyplot as plt window = kaiser(51, 14) plt.plot(window) # [] plt.title("Kaiser window") # plt.ylabel("Amplitude") # plt.xlabel("Sample") # plt.show() plt.figure() # A = fft(window, 2048) / 25.5 mag = abs(fftshift(A)) freq = linspace(-0.5,0.5,len(A)) response = 20*log10(mag) response = clip(response,-100,100) plt.plot(freq, response) # [] plt.title("Frequency response of Kaiser window") # plt.ylabel("Magnitude [dB]") # plt.xlabel("Normalized frequency [cycles per sample]") # plt.axis('tight') # (-0.5, 0.5, -100.0, ...) plt.show()