numpy bartlett() in Python

The Bartlett window is very similar to a triangular window, except that the endpoints are at zero. It is often used in signal processing for tapering a signal, without generating too much ripple in the frequency domain.
Parameters(numpy.bartlett(M)): 
M : int Number of points in the output window. 
     If zero or less, an empty array is returned.
Returns: 
out : array
The triangular window, with the maximum value normalized to one (the value one appears only if the number of samples is odd), with the first and last samples equal to zero.
Example:
| importnumpy as np print(np.bartlett(12))  | 
Output:
[ 0. 0.18181818 0.36363636 0.54545455 0.72727273 0.90909091 0.90909091 0.72727273 0.54545455 0.36363636 0.18181818 0. ]
Plotting the window and its frequency response (requires SciPy and matplotlib):
For Window:
| importnumpy as np importmatplotlib.pyplot as plt fromnumpy.fft importfft, fftshift window =np.bartlett(51) plt.plot(window) plt.title("Bartlett window") plt.ylabel("Amplitude") plt.xlabel("Sample") plt.show()  | 
Output:
For frequency:
| importnumpy as np importmatplotlib.pyplot as plt fromnumpy.fft importfft, fftshift window =np.bartlett(51) plt.figure() A =fft(window, 2048) /25.5mag =np.abs(fftshift(A)) freq =np.linspace(-0.5, 0.5, len(A)) response =20*np.log10(mag) response =np.clip(response, -100, 100) plt.plot(freq, response) plt.title("Frequency response of Bartlett window") plt.ylabel("Magnitude [dB]") plt.xlabel("Normalized frequency [cycles per sample]") plt.axis('tight') plt.show()  | 
Output:
 
				 
					



