Suppose you have a signal that consists of 3 tones with frequencies f1, f2, and f3 which are not necessarily multiples of one another. The signal begins as cosines of frequencies f1, f2, and f3, with corresponding phases p1, p2, and p3. Is it possible to recover the phase of various frequency tones with some possible offset (ie. p1+delta, p2+delta, and p3+delta) without exactly knowing the delay that the signals experience in going through the measurement setup before being digitally acquired?
Recovering Phase of different frequency tones
Started by ●December 18, 2007
Reply by ●December 18, 20072007-12-18
On Dec 18, 10:07 am, "dsavio" <dsa...@ieee.org> wrote:> Suppose you have a signal that consists of 3 tones with frequencies f1, f2, > and f3 which are not necessarily multiples of one another. The signal > begins as cosines of frequencies f1, f2, and f3, with corresponding > phases p1, p2, and p3. > > Is it possible to recover the phase of various frequency tones with some > possible offset (ie. p1+delta, p2+delta, and p3+delta) without exactly > knowing the delay that the signals experience in going through the > measurement setup before being digitally acquired?I think this can be done by means of cross correlating the input with the output. cross correlation is useful to find the lag between two signals. hence you can split the input signal into three components s1, s2, s3 , take each component and cross correlate with the output you got. when you do individually then you will get 3 lag numbers using these 3 lag numbers you can find out the phase delays p1, p2 and p3. rgds bharat
Reply by ●December 18, 20072007-12-18
multiply with exp(-i*2*pi*fx*t) for each fx, lowpass filter and sum. The angle of the three resulting complex numbers gives you the phase p1+delta etc. The result is exact, if done over a full number of periods of -all- tones.
Reply by ●December 18, 20072007-12-18
>multiply with exp(-i*2*pi*fx*t) for each fx, lowpass filter and sum. >The angle of the three resulting complex numbers gives you the phase >p1+delta etc. >The result is exact, if done over a full number of periods of -all-tones.>Thanks for the responses, guys. For the multiply by exp(-j*2*pi*fx*t) method, can you elaborate a little bit? I understand that this multiplication downconverts each tone to DC. What exactly does the low-pass filter and sum give me? Am I summing the three low-pass filtered, down-coverted signals together? How is the result "three complex numbers"? I guess i'm not really following the math...
Reply by ●December 18, 20072007-12-18
"dsavio" <dsavio@ieee.org> wrote in news:QfmdnUQZqN7cQPranZ2dnUVZ_veinZ2d@giganews.com:>>multiply with exp(-i*2*pi*fx*t) for each fx, lowpass filter and sum. >>The angle of the three resulting complex numbers gives you the phase >>p1+delta etc. >>The result is exact, if done over a full number of periods of -all- > tones. >> > > Thanks for the responses, guys. > > For the multiply by exp(-j*2*pi*fx*t) method, can you elaborate a > little bit? I understand that this multiplication downconverts each > tone to DC. What exactly does the low-pass filter and sum give me? Am > I summing the three low-pass filtered, down-coverted signals together? > How is the result "three complex numbers"? I guess i'm not really > following the math... >exp(-j*2*pi*fx*t) is a sinusoid of period fx. This is thus something like a cross correlation with the sinusoid. I don't get how anything with a low-pass filter in it could be an "exact" solution, though. -- Scott Reverse name to reply
Reply by ●December 18, 20072007-12-18
dsavio wrote:> Suppose you have a signal that consists of 3 tones with frequencies f1, f2, > and f3 which are not necessarily multiples of one another. The signal > begins as cosines of frequencies f1, f2, and f3, with corresponding > phases p1, p2, and p3. > > Is it possible to recover the phase of various frequency tones with some > possible offset (ie. p1+delta, p2+delta, and p3+delta) without exactly > knowing the delay that the signals experience in going through the > measurement setup before being digitally acquired?Phase relative to what? Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Reply by ●December 18, 20072007-12-18
On Dec 18, 2:52 am, "mnentwig" <mnent...@elisanet.fi> wrote:> multiply with exp(-i*2*pi*fx*t) for each fx, lowpass filter and sum. > The angle of the three resulting complex numbers gives you the phase > p1+delta etc. > The result is exact, if done over a full number of periods of -all- tones.You might be able to get any phase result you want by changing the reference point for t=0 in your exp(-i*2*pi*fx*t) multiplication. What is the value of that kind of answer?
Reply by ●December 19, 20072007-12-19
>>exp(-j*2*pi*fx*t) is a sinusoid of period fx. This is thus somethinglike a cross correlation with the sinusoid. I don't get how anything with a>>low-pass filter in it could be an "exact" solution, though.Right, but it's only the negative frequency side. It shifts the positive signal from around fx to baseband, and the negative frequencies from around -fx to -2 fx. The lowpass filter gets rid of the latter. The "full number of period" requirement relates to orthogonality, and the tones at two different frequencies are orthogonal, as long as I multiply / integrate over a full number of cycles. It's comparable to cross correlation with a sine, but I rely on the signal being real-valued and use the one-sided exp(...) instead of the two-sided cos(x)=exp(-i x)/2+exp(i x)/2>You might be able to get any phase result you want by >changing the reference point for t=0 in your exp(-i*2*pi*fx*t) >multiplication. What is the value of that kind of answer? >Well, it gives me the relative phases. Of course you are right, if I move the origin, all the phases change. But that's the nature of the problem. BTW, "multiply with exp(...) and sum" is the same as what happens for one bin in an IFFT.
Reply by ●December 19, 20072007-12-19
There are two parts to your question: First Question: Given a measured signal containing three cosine waves, how do you measure the phase of the three cosine waves? I’d do it by running the signal through an FFT, and then converting to a magnitude and phase representation. This directly gives you the phase for each frequency you are interested in. Second Question: Given these three measured phases, and the knowledge that the signal has passed through a delay of unknown length, is it possible to know what the phases were before the delay? Say the original three phases are P1, P2, and P3. The problem is that we also need to specify what reference these three phases are measured to. (I think this is where your idea of an “offset” comes in, but it is different than you describe.) To get around this, we will define the reference point, t=0, to be the time where the first cosine wave reaches its highest point. This forces P1 to have a value of zero. That is, we are referencing everything to the phase of the first cosine wave, and have reduced the number of unknowns from 3 to 2 (i.e., P1 goes away). When this first cosine wave passes through the delay, it will have a phase shift of: 2 x pi x D x F1, expressed in radians, where D is the delay, and F1 is the frequency. This means you have one measured value (the measured phase of the delayed cosine wave) and one unknown (the delay). Therefore you can solve for the delay. This can be extended to three cosine waves. Before the delay the second cosine wave has a phase of P2, and after it has a phase of: P2 + 2 x pi x D x F2. The same holds for the third cosine wave. In this case there are three measured values (the phases of the three delayed cosine waves), and three unknowns (P2, P3, and the delay). Therefore you can solve for all of the unknowns. (However, note that this assumes that the delay is short enough that all of the phase shifts are less than 2 pi. That is, the delay must be shorter than one period of the cosine waves.) What happens if you don’t set P1 = 0? You end up with more unknowns than measured values and will not be able to solve the equations. Hope this helps! Best Regards, Steve Smith Steve.Smith1@SpectrumSDI.com
Reply by ●December 19, 20072007-12-19
On Dec 19, 4:54 pm, "SteveSmith" <Steve.Smi...@SpectrumSDI.com> wrote:> There are two parts to your question: > > First Question: Given a measured signal containing three cosine waves, how > do you measure the phase of the three cosine waves? > > I'd do it by running the signal through an FFT, and then converting to a > magnitude and phase representation. This directly gives you the phase for > each frequency you are interested in.Not quite directly, unless the FFT window length is an exact multiple of the period of every cosine wave. If the FFT window length is not an exact multiple of all the periods, then one will need to interpolate the phase (this can be done more easily using linear interpolation if one first rotates the FFT results so that they reference the center of the aperture instead of the beginning). And if the FFT window also isn't long enough to resolve each cosine wave into bins spaced several bins apart, the phases will interact (the Sinc's will overlap) and have to be extracted by doing something like a least squares estimation or solving a system of equations. IMHO. YMMV. -- rhn A.T nicholson d.0.t C-o-M






