code: def _generate_noise(
      info,
      cov,
      iir_filter,
      random_state,
      n_samples,
      zi=None,
      picks=None,
  ):
      """Create spatially colored and temporally IIR-filtered noise."""
      rng = check_random_state(random_state)
      _, _, colorer = compute_whitener(
          cov,
          info,
          pca=True,
          return_colorer=True,
          picks=picks,
          verbose=False,
      )
      noise = np.dot(
          colorer, rng.standard_normal((colorer.shape[1], n_samples))
      )
      if iir_filter is not None:
          if zi is None:
              zi = np.zeros((len(colorer), len(iir_filter) - 1))
          noise, zf = lfilter([1], iir_filter, noise, axis=-1, zi=zi)
      else:
          zf = None
      return noise, zf
  
file_path: mne-python/mne/simulation/evoked.py
imports: import math
  import numpy
  from scipy.signal import lfilter
  from .._fiff.pick import pick_info
  from ..cov import Covariance, compute_whitener
  from ..epochs import BaseEpochs
  from ..evoked import Evoked
  from ..forward import apply_forward
  from ..io import BaseRaw
  from ..utils import _check_preload, _validate_type, check_random_state, logger, verbose
label_desc: Use image node_id 5 for calling a global function with example usage: _generate_noise(info, cov, iir_filter, random_state, n_samples, zi, picks) and returns: noise,  zf