def METHOD_NAME(
    self, f_center, length, sample_rate, output_gain=1.0, filter_order=4, phase_shift=0.0
):
    """
    Compute gammatone impulse response based on [1]
    :param float f_center: center frequency
    :param int|float length: length of finite impulse response in seconds
    :param int sample_rate: sample rate of audio signal in Hz
    :param float output_gain: output gain, named k in [1]
    :param int filter_order: order of filter, named n in [1]
    :param float phase_shift: phase shift, named phi in [1]
    :return: gammatone impulse response
    :rtype: numpy.array
    """
    bandwidth = self.bandwidth_by_center_frequency(f_center)  # bandwidth (duration of impulse response)
    num_samples = int(numpy.floor(sample_rate * length))
    t = numpy.linspace(1.0 / sample_rate, length, num_samples)
    return (
        output_gain
        * numpy.power(t, filter_order - 1)
        * numpy.exp(-2 * numpy.pi * bandwidth * t)
        * numpy.cos(2 * numpy.pi * f_center * t + phase_shift)
    )