code: def periodic_hann(window_length):
      """Calculate a "periodic" Hann window.
  
      The classic Hann window is defined as a raised cosine that starts and
      ends on zero, and where every value appears twice, except the middle
      point for an odd-length window.  Matlab calls this a "symmetric" window
      and np.hanning() returns it.  However, for Fourier analysis, this
      actually represents just over one cycle of a period N-1 cosine, and
      thus is not compactly expressed on a length-N Fourier basis.  Instead,
      it's better to use a raised cosine that ends just before the final
      zero value - i.e. a complete cycle of a period-N cosine.  Matlab
      calls this a "periodic" window. This routine calculates it.
  
      Args:
        window_length: The number of points in the returned window.
  
      Returns:
        A 1D np.array containing the periodic hann window.
      """
      return 0.5 - (
          0.5
          * np.cos(2 * np.pi / window_length * np.arange(window_length))
      )
  
imports: import numpy
label_desc: Use image node_id 2 for calling a global function with example usage: periodic_hann(window_length) and returns: unknown