# GPS signal tracking

I have a complex input signal of 300 ms at baseband. I have already performed acquisition on this signal and acquired four GPS satellites and have the code phase and Doppler frequency of each of them.

Now for tracking I am following Kai Borre's MATLAB code for a GPS software receiver. But, this code is written for a real input signal at IF (intermediate frequency).

Now I need my signal (which is currently on baseband (zero-IF)), to be at 1.5 MHz IF (intermediate frequency).

Is it practically possible to change the complex signal at baseband to a real signal at IF (1.5 MHz) without losing the information on imaginary part? My sampling rate is 5 MHz.

• Mix it down numerically to complex baseband! That's but a multiplication with $e^{-j2\pi f_{IF} t}$; the values of $f_{IF}$ and $t$ both depending on both the IF frequency and sample rate. – Marcus Müller Jul 2 '18 at 10:23
• Thanks, I already have the signal at complex baseband. but I have a code for a signal at IF frequency. Now I have two choices: 1: either I bring my baseband signal to IF which I think is practically not possible. 2: I make changes in the code so that it works for baseband signal. Which RF frontend can I use to receive signals at IF frequency? I tried RTLSDR and USRP frontends and both gives output at baseband. – Priyanka.P Jul 2 '18 at 11:46
• well, then mix up by multiplication with $e^{j2\pi f_{IF}t}$ (you might need to interpolate to a sufficient sampling rate first), and then throw away imaginary part. – Marcus Müller Jul 2 '18 at 11:47
• @Priyanka.P can you edit your question to tell us exactly what you're doing when mixing, and how that fails? – Marcus Müller Jul 2 '18 at 18:06
• Hello Marcus, I have edited my question. My baseband sampling rate is 5 MHz and I need 1.5 MHz IF. – Priyanka.P Jul 3 '18 at 9:20