I have been wracking my brain over this problem for weeks and I finally have to throw in the towel and ask for help. My background is not formally in signal processing, so I may just lack the experience to solve what is a "simple" problem.
Problem statement:
I have a set of $N$ complex-valued time series $S_1, S_2,\ldots,S_N$. The timeseries consist of an unknown complex signal that has been copied, shifted in time, shifted in phase, and scaled. In mathematical terms, the timeseries can be defined by the following equation:
$$S_n(t) = x_0(t) + A x_o(t-\tau_n)e^{i\theta \tau_n}$$
$x_0(t)\in \mathbb C$ is the unknown complex signal. It is the same in all $S$, i.e. it does not change from $S_{n-1}$ to $S_n$.
$\tau_n \in \mathbb R$ is an unknown value that time shifts and phase shifts the copy of $x_0$. It is known to change slowly from $S_{n-1}$ to $S_n$.
$A\in \mathbb R$ is an unknown constant that scales the copy of $x_0$. It is slightly noisy, but we assume this can be neglected.
$\theta\in \mathbb R$ is a known constant that relates the time shift to the phase shift.
The final goal is to subtract $x_0(t)$ from all $S_n(t)$ so that we are left with only the time-shifted and phase-shifted version:
$$\hat S_n(t) = Ax_o(t-\tau_n)e^{i\theta \tau_n}$$
I would be very grateful for nudges in the right direction. Do any algorithms or methods spring to mind as being suitable for this task?