Decoupling two signals where one is a delayed version of the other
You can employ cross correlation of the received signal with the signal you know that is contained.

Fs = 1000;
t = np.arange(0, 2, 1./Fs)
s = lambda t: np.cos(2*np.pi*10*t*t)

t0 = 0.5

single = s(t)
signal = s(t) + s(t-t0)

plt.subplot(1,2,1)
plt.plot(t, signal)
plt.plot(t, single)

plt.subplot(1,2,2)
plt.plot(t, np.correlate(signal, single, 'same'));




The delay between the peaks is the time distance between both signals.