code: def test_complex_iir_dlti(self, xp, scp):
      # regression: gh-17845
      # centre frequency for filter [Hz]
      fcentre = 50
      # filter passband width [Hz]
      fwidth = 5
      # sample rate [Hz]
      fs = 1e3
  
      z, p, k = scp.signal.butter(
          2, 2 * xp.pi * fwidth / 2, output="zpk", fs=fs
      )
      z = z.astype(complex) * xp.exp(2j * xp.pi * fcentre / fs)
      p = p.astype(complex) * xp.exp(2j * xp.pi * fcentre / fs)
      system = scp.signal.dlti(z, p, k)
  
      t = xp.arange(200) / fs
  
      # input
      u = xp.exp(2j * xp.pi * fcentre * t) + 0.5 * xp.exp(
          -2j * xp.pi * fcentre * t
      )
  
      ynzp = scp.signal.decimate(u, 2, ftype=system, zero_phase=False)
      yzp = scp.signal.decimate(u, 2, ftype=system, zero_phase=True)
      return ynzp, yzp
  
imports: import cupy
  from cupy import testing
  import cupyx.scipy.signal
  import cupyx.scipy.signal.windows
  import numpy
  import pytest
  from math import gcd
label_desc: Use image node_id 13 for calling the TestDecimate obj's underlying member method code with example usage: obj.test_complex_iir_dlti(xp, scp) and returns: ynzp,  yzp