0
$\begingroup$

I have a signal of the form $s(t)=A(t) \sum \cos(\omega_i(t)t +\phi_0) + n(t)$, where $n$ is gaussian noise.

I can only read the signal+noise and thus can not separate them.

I want to phase shift the signal to $A(t) \sum\cos(\omega_i(t)t)+n'(t)$ and I am at a loss on how to do this. During lectures / courses I've always done phase shifts simply by multiplying with $e^{i\phi_0}$.

My signal is of the form $s(t)=A(t) \sum \cos(\omega_i(t)t +\phi_0) + n(t)$, as opposed to $s(t)=A(t) \sum e^{\omega_i(t)t +\phi_0} + n(t)$, so I can not simply multiply with $e^{i\phi_0}$

Is there any way to do this? I'm asking because I am interested in cross-correlating two signals.

$\endgroup$
  • $\begingroup$ Can you please clarify what you mean by "total signal" and by "real space"? $\endgroup$ – MBaz Mar 24 '16 at 1:45
  • $\begingroup$ Clarified in the question :) by "real space" I simply meant there are no imaginary numbers and the total signal refers to the signal + noise $\endgroup$ – Otto Mar 24 '16 at 2:56
3
$\begingroup$

With a real cosine a phase shift is equivalent to a time delay. If you delay the signal by $\phi_0$ then you will get the result you want.

The number of samples that you will need to delay by will likely not be an integer number. You can delay by a non-integer number of samples via a fractional delay filter.

| improve this answer | |
$\endgroup$
  • $\begingroup$ I'll try this out; is the statement true even if I have a time-varying amplitude and frequency? $\endgroup$ – Otto Mar 24 '16 at 6:02
  • $\begingroup$ The amplitude doesn't matter, the frequency does. The radians per sample will change depending on the signal frequency. $\endgroup$ – Jim Clay Mar 24 '16 at 7:13
  • 1
    $\begingroup$ Even without time-varying frequencies, this will not work for a sum of cosines with different frequencies. In order to get rid of the phase shift $\phi_0$ in each of the cosine signals, you would need a delay of $-\phi_0/\omega_i$ for each of them. So for each component you would need to a apply a different delay. You can't achieve it by just delaying the total signal. $\endgroup$ – Matt L. Mar 24 '16 at 10:13
  • $\begingroup$ @Otto Matt L's comment is correct. If it is truly a sum of different frequency sinusoids, then this approach will not work. $\endgroup$ – Jim Clay Mar 24 '16 at 12:50
  • $\begingroup$ @MattL. Of course, if such is the case I am not aware of any approach that will work. $\endgroup$ – Jim Clay Mar 24 '16 at 12:51
1
$\begingroup$

Your question is a bit confusing, so take this as just a possible step to the solution you need.

If $s(t)=\cos(2\pi f_0t+\phi_0)$, then

$$ s(t)\cos(4\pi f_0t+\phi_0) =\frac12 \left( \cos(2\pi f_0t) + \cos(6\pi f_0t+2\phi_0 \right).$$

You can get rid of the high-frequency cosine with a low-pass filter. If the signal is a sum of sinusoids, and you know their frequencies, then you can use band-pass filters to isolate each sinusoid, shift each one individually using the idea above, and then add them all again. However, this process is likely to increase the noise power.

Your particular case is further complicated by the following:

  • You seem to have an undefined envelope $A(t)$. You need to be careful and define it precisely, because it will have an effect on the spectrum of $s(t)$. Recall that in suppressed-carrier modulation, the carriers are not even present in the signal anymore, so it will be impossible to shift them.

  • Your cosines seem to be angle-modulated (their instantaneous frequency is time-varying). I think in this case all bets are off: angle-modulated signals in general have infinite bandwidth and you won't be able to decompose the signal into individual sinusoids.

| improve this answer | |
$\endgroup$
  • $\begingroup$ Thank you for your time and effort. The A(t), amplitude's form is defined in my case. I tested it out and if I assume the signal is of the form $A(t)\sum e^{i \omega_i t+\phi_0}+n(t)$ I can shift the signal without any trouble by multiplying with $e^{i \phi_0}$. The problem, of course, is that in reality my signal is not of this form. The frequency modulation is really problematic. I know the form of A(t) and $\omega_i(t)$, however. I'll look a bit more into low-pass filters for cases with frequency modulation. $\endgroup$ – Otto Mar 24 '16 at 6:07
  • $\begingroup$ If you come up with a more specific question, feel free to ask again. $\endgroup$ – MBaz Mar 24 '16 at 13:53
0
$\begingroup$

Couldn't you just rewrite your signal via $\cos{x} = \frac{1}{2}(e^{ix}+e^{-ix})$ and apply your phase shifting by multiplying $e^{i\phi_0}$ then?

| improve this answer | |
$\endgroup$
  • $\begingroup$ Is that a comment, question or an answer? ;) $\endgroup$ – jojek Mar 24 '16 at 8:44
  • $\begingroup$ The problem is that I can only modify the signal through modifying $s(t)=A(t) \sum \cos(\omega_i(t)t +\phi_0) + n(t)$. I can't separate the noise. $\endgroup$ – Otto Mar 24 '16 at 9:54
  • $\begingroup$ I also tried applying the phase shift directly on $cos(x)$ by multiplication and taking the real part, but unfortunately the result is not a phase shift. $\endgroup$ – Otto Mar 24 '16 at 10:01
  • $\begingroup$ @Otto Oh, sorry, Now the problem became clear to me. In this case, my answer is sadly no good in your situation. $\endgroup$ – M529 Mar 24 '16 at 10:17
  • $\begingroup$ @jojek A little bit of all of them ;) $\endgroup$ – M529 Mar 24 '16 at 10:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.