code: def attenuate(signal, attenuation):
      """
      Attenuate the signal.
  
      Parameters
      ----------
      signal : numpy array
          Signal to be attenuated.
      attenuation :  float
          Attenuation level [dB].
  
      Returns
      -------
      numpy array
          Attenuated signal (same dtype as `signal`).
  
      Notes
      -----
      The signal is returned with the same dtype, thus rounding errors may occur
      with integer dtypes.
  
      """
      # return the signal unaltered if no attenuation is given
      if attenuation == 0:
          return signal
      return adjust_gain(signal, -attenuation)
  
imports: from __future__ import absolute_import, division, print_function
  import warnings
  import numpy
  from ..processors import BufferProcessor, Processor
  from ..utils import integer_types
label_desc: Use image node_id 3 for calling a global function with example usage: attenuate(signal, attenuation) and returns: adjust_gain, signal