code: def add_noise(
      inst, cov, iir_filter=None, random_state=None, verbose=None
  ):
      """Create noise as a multivariate Gaussian.
  
      The spatial covariance of the noise is given from the cov matrix.
  
      Parameters
      ----------
      inst : instance of Evoked, Epochs, or Raw
          Instance to which to add noise.
      cov : instance of Covariance
          The noise covariance.
      iir_filter : None | array-like
          IIR filter coefficients (denominator).
      %(random_state)s
      %(verbose)s
  
      Returns
      -------
      inst : instance of Evoked, Epochs, or Raw
          The instance, modified to have additional noise.
  
      Notes
      -----
      Only channels in both ``inst.info['ch_names']`` and
      ``cov['names']`` will have noise added to them.
  
      This function operates inplace on ``inst``.
  
      .. versionadded:: 0.18.0
      """
      # We always allow subselection here
      return _add_noise(inst, cov, iir_filter, random_state)
  
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 3 for calling a global function with example usage: add_noise(inst, cov, iir_filter, random_state, verbose) and returns: _add_noise