Measuring acoustic phase difference between two receivers I am trying to measure the acoustic phase difference between two sensors 30cm apart each other. The sampling frequency is 20kHz, and my interest frequency is about 1700 Hz.
The below is how I proceeded.


Take FFT of T = 1 sec time domain signal. 
In spectrum, there are several peaks including the interest frequency.
Bandpass filter around the interest frequency (e.g. 1700+-100 Hz)
Reconstruct(or IFFT) the signal in time domain.
Take Hilbert transform and get phase in time domain
Do the same thing for the other receiver.
Compare Hilbert transform phase between two signals in time domain 


When I did this, the phase difference between two signals is not constant, but changes with time, which is out of my expectation. Shouldn't the phase difference be constant if they have the same frequency peak? Is there any issue with the above procedure?
Keep in mind the following calculation:

$$ \frac{1130~\text{feet}/\text{s}}{1700~\text{cycle}/\text{s}} \approx 0.66~\text{feet/cycle} \approx 20.26~\text{cm}/\text{cycle} $$

Your delay distance is longer than your wavelength.  With an FFT approach, you will only get the delay as a fraction of a cycle, so you'll have to account for that.  If you can't frame your FFT on a whole number of cycles, you will need to estimate the frequency and calculate the phase shift from there.  Then, using your frequency you will need to calculate the actual delay distance.

Generally, if it is the same signal, you will get much better results using autocorrelation in the time domain.  Your next best bet is to make sure your FFT is aligned on a whole number of cycles, then you only need to calculate one bin.  If you can't do that, in my blog articles, I have frequency formulas from two or three bins and an method for determining the phase very accurately using the nearest three bins.  (See my profile page for a link to my blog).