How can I determine the complex envelope of a signal when knowing the analytic signal? Consider a signal $x(t) = \sum A_i \sin(2\pi(f_c+f_i) t + \theta_i),\, i=1\ldots N,$
and its analytic signal $Z_x(t) = x(t) + j\mathcal H[x(t)]$.

I want to describe the complex envelope (equivalent lowpass signal) as $x_{eq} (t) = r(t)\exp(j\Phi(t))$.

How do I know the amplitude $r(t)$ and the phase $\Phi(t)$ of the complex envelope?

As an example, let's consider: $x(t) = 1 sin(2\pi*11.5e9*t) + 2 sin(2\pi*11.6e9*t)$

In Matlab I would start the code with: 

T = 1e-9;
f_s = 1e12;
t = [0 : 1/f_s : T]';
f_c = 11.5e9; 

x_passband =  1*sin(2*pi*(f_c+0)*t) + 2*sin(2*pi*(f_c+0.1e9)*t);

x_analytic = hilbert(x_passband);

x_envelope = x_analytic .* exp(-1i*2*pif_ct);

The complex envelope should also be equal to: 

amplitude = abs(x_analytic);

phase = angle(x_analytic);

x_envelope = amplitude * exp(j*phase);
With constant amplitudes and phases, this becomes a simple exercise:

First, go to the spectral domain
$$
X(f) = \mathcal{F}\{x(t)\}=\sum A_i \frac{1}{2j} (\delta(f-(f_c+f_i)-\delta(f+(f_c+f_i))\exp(j2\pi\tau_if)
$$
with 
$$
\tau_i=\frac{\theta_i}{2\pi (f_c+f_i)}
$$
being phase offset translated to the equivalent time shift.

Now, you can shift this such that the carrier becomes DC:

$$X_d(f)=X(f-f_c) = \sum A_i \frac{1}{2j} (\delta(f-2f_c-f_i)-\delta(f+f_i))\exp(j2\pi\tau_i(f-f_c)$$

Applying a low-pass filter kicks out the high-frequency Dirac at $2f_c$. Then, transforming back to time, you get

$$
x_d(t) = -\sum A_i\frac{1}{2j}\exp(j2\pi f_i(t-\tau_i))\exp(-j2\pi\tau_if_c).
$$

This should be your complex envelope.

In case yo want to do this in Matlab, I would go for the following approach (which is completely different from the math above. It is the straight-forward implementation of shifting in frequency by multiplication in time):

T=1e-6;
fs=1e11;
t=[0:1/fs:T]';
fc=11.5e9;

B = 0.5e9;  % Signal bandwidth

carrier = exp(2j*pi*fc*t);

xpassband=1*sin(2*pi*(fc+0)*t)+2*sin(2*pi*(fc+0.1e9)*t);

xbaseband = carrier .* xpassband;

[b,a] = butter(6,B/(fs/2));
xbaseband_lowpass = filter(b, a, xbaseband);

subplot(2,1,1);
hold off;
plot(t, real(xpassband));
hold on;
plot(t, real(xbaseband_lowpass), 'r', 'LineWidth', 2);
plot(t, imag(xbaseband_lowpass), 'k', 'LineWidth', 2);
xlim([1e-7, 2e-7]);