code: def minimum_phase(x, n=None):
      r"""Compute the minimum phase reconstruction of a real sequence.
      x : ndarray
          Real sequence to compute the minimum phase reconstruction of.
      n : {None, int}, optional
          Length of the Fourier transform.
      Compute the minimum phase reconstruction of a real sequence using the
      real cepstrum.
      Returns
      -------
      m : ndarray
          The minimum phase reconstruction of the real sequence `x`.
      """
      if n is None:
          n = len(x)
      ceps = real_cepstrum(x, n=n)
      odd = n % 2
      window = numpy.concatenate(
          (
              [1.0],
              2.0 * numpy.ones((n + odd) // 2 - 1),
              numpy.ones(1 - odd),
              numpy.zeros((n + odd) // 2 - 1),
          )
      )
  
      m = numpy.fft.ifft(numpy.exp(numpy.fft.fft(window * ceps))).real
  
      return m
  
file_path: cupy/tests/cupyx_tests/signal_tests/acoustics_tests/test_cepstrum.py
imports: import pytest
  import numpy
  import cupy
  from cupy import testing
  import cupyx.signal
label_desc: Use image node_id 4 for calling a global function with example usage: minimum_phase(x, n) and returns: m