I am working with real-valued baseband time series amplitude data, $x_n$, which is acoustic data (sound pressure converted to a voltage by the hydrophone) from ocean-based directional hydrophones, with a spectrum typically in the 100 - 2000Hz range. My typical sampling frequency ($f_s$) is 10kHz.
I want to use a few seconds of data ($N$ data values) at one hydrophone to determine if other hydrophones have received the same signal (say, the movement of a whale through the water) by cross-correlation to determine the time lag and thus the time difference of arrival.
The directional data of the hydrophones allow me to calculate a rough motion for the whale, which gives me an estimate of the range rate between the whale and each hydrophone. Together with the known speed of sound in sea water ($c$), I can calculate the expected Doppler shift at any particular frequency of interest ($f_0$) as: $$\Delta f = f_0 \left( \frac{c}{c+R'} - 1 \right)$$
As an example, then, say I'm trying to cross correlate data that I suspect has energy in the frequency range 400 - 600 Hz, so it seems reasonable to set $f_0$ = 500Hz.
Here's the signal processing part of my question... Before cross-correlating, I want to create a Doppler-shifted/scaled replica of the data ($\bar{x_n}$) on the nearest hydrophone (I know which is nearest because of the rough motion estimate from directional data), with respect to each other hydrophone (to account for the possible Doppler shift at each hydrophone location, since each may have a different relative range rate). Currently, I'm creating this replica by multiplying each data value by a complex phasor, $P$, defined as:
$$a = \frac{\Delta f}{Nf_s}$$ $$\Delta P = e^{i 2\pi a}$$ $$P = 1$$
Then I iterate through the data samples to produce the replica: $$\bar{x_n} = x_n P$$ $$P = P \Delta P$$
Is this procedure valid? I figured we're in baseband (no carrier frequency), so I don't have to first do a Hilbert transform.
I understand that what's happening is a time-compression (for negative range rate, motion toward a hydrophone), so I'll have $\bar{x_n}$ with $N$ values, but their $\Delta t$ will be different from the original data samples. When I then do a cross correlation with data from another hydrophone, won't that imply two different sampling rates?
My goal is to take the $\bar{x_n}$ shifted samples, and use them as a kernel in a cross-correlation to a larger collection (say, $4N$) of data samples from another hydrophone to calculate time lag, and thus time difference of arrival.
Thanks for any help - I'm clearly not a DSP engineer, but find myself having to solve this problem, and want to make sure my process is valid.