I know there's similar questions here, but I did not fully understand the answers I have read: in MATLAB I consider the complex envelope of an output signal:

y_low_out   = A_low_out .* exp(1i*Phi_low_in) .* exp(1i*Phi_low_out);

Now, I want to recover a sinusoidal signal, what does y_out look like in terms of superpositions of sine-waves? My guess is:

y_out = A_low_out .* sin(2*pi*f_c*t + Phi_low_in + Phi_low_out)

But this is pure guessing. $f_c$ is the carrier frequency.

Some background to what I am trying to do: I consider an input signal:

x(t) = A_in .* sin(2*pi*(f_c+f1)*t + Theta1) + A_in .* sin(2*pi*(f_c+f2)*t + Theta2))

This input signal is converted to an equivalent lowpass signal (complex envelope) with amplitude A_low_in and phase Phi_low_in and sent through a nonlinearity which changes both amplitude and phase. The amplitude of my output signal (still complex envelope) is A_low_out, the phase change is Phi_low_out. This description refers to the code that I have written. I have determined A_low_in by taking the absolute value of the analytic signal of x. For some reason A_in and A_low_in are not the same. I figured A_low_in would be twice A_in, but it's not exactly (maybe numerical differences). Anyways, in the end I get the complex envelope y_low_out. And I want to convert it to y_out.

  • $\begingroup$ Please add more detail to your question, since it's very hard to understand what you're trying to do. What is A_low_out, Phi_low_in, Phi_low_out? Can you draw a block diagram of your system? Why do you expect to see a superposition of sine waves? $\endgroup$
    – MBaz
    Commented Dec 22, 2016 at 16:08
  • $\begingroup$ allright, done. I hope it's more clear now. $\endgroup$
    – user25356
    Commented Dec 23, 2016 at 18:19

1 Answer 1


According to the usual definition, if you have a complex low pass signal (complex enevelope) $u(t)$ and a reference frequency $f_c$, then the corresponding pass band signal is

$$u_p(t)=\text{Re}\{u(t)e^{j2\pi f_ct}\}\tag{1}$$

So if $u(t)$ is given by


the real-valued pass band signal would be

$$u_p(t)=\text{Re}\{A(t)e^{j\phi(t)}e^{j2\pi f_ct}\}=A(t)\cos(2\pi f_ct+\phi(t))\tag{3}$$

  • $\begingroup$ thx, I think this is what I was looking for! $u_p(t) * Re{A(t) *( (cos(\Phi(t) + j*sin(\Phi(t)))*(cos(\2*\pi*f_c*t) + j*sin(2*pi*f_c*t)))}$ and this simplifies to $A(t)*cos(2*\pi*f_c*t + \Phi(t))$ by some trigonometric identity, I assume. $\endgroup$
    – user25356
    Commented Dec 23, 2016 at 17:45
  • $\begingroup$ But is it weird that my output signal is a cos while my input was a sine ? $\endgroup$
    – user25356
    Commented Dec 23, 2016 at 18:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.