## Phase recover

### Phase recover

Hello,
I am dealing with a phase recover& unwrap problem.
Suppose there is a temp*signal which is given by:
I = Ib + Im*cos(phi(t) + phi0);
where Ib, Im and phi0 is constant or with quite lower frequency comparing
with the phase signal: phi(t). Of coz 't' means time.
My problem is how to recover the 'phi(t)' signal.

This problem is simple if
phi(t) = omega*t;
The simplest way is utilizing Hilbert Tranform I guess.
But the signal I got is sth like:
phi(t) = omega * cos(k*t);
Frequency of the signal 'I' is then quite complicated. I have tried
Hilbert Transform and no wonder I failed.

Can anyone give some idea?

### Phase recover

hello,

under the condition, that your data is sampled dense enough (i.e. k
<< 1/T), you could try a strait forward method.

I = A + B*cos( w*cos(k*t) + phi0 )

lets define:

U = (I-A)/B = cos( w*cos(k*t) + phi0 )

where A and B are found by (approximately):
B = max(I)-min(I)
A = ( max(I)+min(I) )/2

then find:

V = acos(U) = w*cos(k*t) + phi0

assuming that w and phi0 are constants as well, find them like you
found A and B.

W = (V-phi0)/w

and last,

R = fft(W) -> the peaks will indicate the value of "k" (you know
the Fourier theory)

if the noise is fairly low, and A,B,phi0,w are approximately
constants, this should work.

Hi,

I am running simulation that requires a bandpass filter that has zero or
constant phase shift within the passband. Is it possible designa such a filter?
There is a filtfilt function in Matlab but it is not suitable for simulation
type of a problem. If possible, please email directly to me (I don't read
this group very often).