docs: def energy_entropy(data, fs, numOfShortBlocks=10):
      """Computes entropy of energy"""
      data = np.mean(data, axis=1)
  
      Eol = np.sum(data ** 2)    # total data energy
      L = len(data)
      subWinLength = int(np.floor(L / numOfShortBlocks))
      if L != subWinLength * numOfShortBlocks:
          data = data[0:subWinLength * numOfShortBlocks]
  
      # subWindows is of size [numOfShortBlocks x L]
      subWindows = data.reshape(subWinLength, numOfShortBlocks, order='F').copy()
  
      # Compute normalized sub-data energies:
      s = np.sum(subWindows ** 2, axis=0) / (Eol + EPSILON)
  
      # Compute entropy of the normalized sub-data energies:
      Entropy = -np.sum(s * np.log2(s + EPSILON))
      return Entropy