def METHOD_NAME(sampling_rate=1000, length=None, time_peak=3.0745, rise=0.7013, decay=[3.1487, 14.1257]):
    """Simulate a canonical skin conductance response (SCR)
    Based on `Bach (2010)
    <https://sourceforge.net/p/scralyze/code/HEAD/tree/branches/version_b2.1.8/scr_bf_crf.m#l24>`_
    Parameters
    -----------
    sampling_rate : int
        The desired sampling rate (in Hz, i.e., samples/second). Defaults to 1000Hz.
    length : int
        The desired length of the signal (in samples). Defaults to None.
    time_peak : float
        Time to peak.
    rise : float
        Variance of rise defining gaussian.
    decay : list
        Decay constants.
    Returns
    ----------
    array
        Vector containing the SCR signal.
    Examples
    --------
      # scr1 = _eda_simulate_scr(time_peak=3.0745)
      # scr2 = _eda_simulate_scr(time_peak=10)
      # pd.DataFrame({"SCR1": scr1, "SCR2": scr2}).plot()
    """
    if length is None:
        length = 9 * sampling_rate
    t = np.linspace(sampling_rate / 10000, 90, length)
    gt = np.exp(-((t - time_peak) ** 2) / (2 * rise ** 2))
    ht = np.exp(-t / decay[0]) + np.exp(-t / decay[1])  # pylint: disable=E1130
    ft = np.convolve(gt, ht)
    ft = ft[0 : len(t)]
    ft = ft / np.max(ft)
    return ft