As a project requirement, I am supposed to modulate a complex baseband signal to a carrier frequency of 2.4 GHz. These are the steps I followed for the baseband modulation and demodulation:
Generate Data -> OQPSK Modulation -> Up Sample -> Pulse shaping -> AWGN Channel -> Matched Filter -> Down Sample -> OQPSK Demodulation
The sampling frequency at baseband is 12 MHz. Now if I were to modulate this baseband signal to a carrier at 2.4 GHz, I believe that these are the steps to be followed:
%Generate Carrier
t = (0 : 1/Fs : (length(baseband_Signal)-1)*1/Fs)
carrier = sqrt(2)*exp(1i*2*pi*Fc*t);
where sampling frequency $Fs=12MHz$ and carrier frequency $Fc=2.4GHz$
% Frequency upconvert to passband.
xUp = real(baseband_Signal.*carrier);
% Downconvert to baseband
yACI = rx_sgl.*conj(carrier);
When I perform upconversion, I expect to have 2 peaks centered at +2.4GHz and -2.4 GHz when I plot the frequency spectrum. However I see that $xUp$ is centered at 0.
I am not sure about what I am missing. Should the complex baseband signal again be upsampled ?