import pyfar as pf
import numpy as np
n_samples = 256
delay_samples = n_samples // 2 + 1/2
ir = pf.signals.impulse(n_samples)
ir = pf.dsp.linear_phase(ir, delay_samples, unit='samples')
start_samples = pf.dsp.find_impulse_response_start(ir)
ax = pf.plot.time(ir, unit='ms', label='impulse response', dB=True)
ax.axvline(
    start_samples/ir.sampling_rate*1e3,
    color='k', linestyle='-.', label='start sample')
ax.axhline(
    20*np.log10(np.max(np.abs(ir.time)))-20,
    color='k', linestyle=':', label='threshold')
ax.legend()
