# How to recover a signal from its complex envelope

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.

• 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?
– MBaz
Commented Dec 22, 2016 at 16:08
• allright, done. I hope it's more clear now.
– user25356
Commented Dec 23, 2016 at 18:19

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

$$u(t)=A(t)e^{j\phi(t)}\tag{2}$$

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}$$

• 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.
– user25356
Commented Dec 23, 2016 at 17:45
• But is it weird that my output signal is a cos while my input was a sine ?
– user25356
Commented Dec 23, 2016 at 18:20