  # NumPy Bartlett () in Python

NumPy | Python Methods and Functions

The Bartlett window is very similar to the triangular window, except that the endpoints are at zero. It is often used in signal processing to narrow the signal without creating 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`

Triangular box with maximum value normalized to one (value one appears only if the number of samples is odd), with the first and last samples equal to zero.

Example :

` `

` import numpy as np print (np.bartlett ( 12 )) Exit: [0. 0.18181818 0.36363636 0.54545455 0.72727273 0.90909091 0.90909091 0.72727273 0.54545455 0.36363636 0.18181818 0.] Plotting a window and its frequency response (SciPy and matplotlib required): For a window: import numpy as np import matplotlib.pyplot as plt from numpy.fft import fft, fftshift window = np.bartlett ( 51 ) plt.plot (window) plt.title ( "Bartlett window" ) plt.ylabel ( "Amplitude" ) plt.xlabel ( "Sample" ) plt.show () `

` `

Exit:

For frequency:

 ` import ` ` numpy as np ` ` import ` ` matplotlib.pyplot as plt ` ` from ` ` numpy.fft ` ` import ` ` fft, fftshift ` ` window ` ` = ` ` np.bartlett (` ` 51 ` `) `` plt.figure () A = fft (window, 2048 ) / 25.5 mag = 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 () `

Exit: