I have a MATLAB script which process IF signals to acquire GPS satellites.

I decided to capture IF signals containing GPS L1 C/A (1575.42 MHz) myself.

What I have:

  • HackRF
  • TCXO for HackRF
  • Active GPS antenna
  • RTL-SDR v3

What I did so far:

  1. I set the center frequency to 1571.42 MHz to get the GPS signals on 4 MHz IF, with 20 MHz sampling frequency.
  2. I set the center frequency to 1575.42 MHz to get the GPS signals directly on baseband, with 20 MHz sampling frequency.
  3. Tried different RF, IF, BB gain values of HackRF.
  4. Different active/passive antennas which is known working properly.
  5. RTL-SDR instead of HackRF.

After the unexpected output from my MATLAB script, I used GNSS-SDR on Ubuntu for HackRF monitoring, and GNSS-SDR-LIB on Windows for RTL-SDR monitoring for the tests above. These software also could not acquire/track any satellite.

Which parameter should I focus now? Is there anyone who could manage to acquire GPS satellites using HackRF or RTL-SDR?

  • $\begingroup$ while the bitdepth should be more than sufficient, the clock quality of the RTL-SDR might simply be too bad. HackRF should be fine. How are you powering your active antenna? Are the values you receive in a reasonable range, or are they nearly all zero, or maybe clipping? $\endgroup$ Nov 30 '21 at 19:49
  • $\begingroup$ (also, I think none of the SDR GNSS receiver implementations expect things to be on an IF) $\endgroup$ Nov 30 '21 at 20:21
  • $\begingroup$ HackRF provides a bias tee for the antenna, I verified the power via multimeter measurement. HackRF records IQ signals in "int8" type as far as I know. Now, I plotted the signals captured in the time domain, the values are between -127 and 127. I changed the gain parameters of HackRF, the limits remained the same. Also, I recognized something interesting. After I run the command "hackrf_transceiver" for the first time, HackRF works properly but when I run the same command again, the IQ signal is between -5 and 5. I have to unplug and replug for the proper operation. $\endgroup$ Nov 30 '21 at 22:34
  • $\begingroup$ if it reaches up from -127 to +127, it's most probably clipping a lot. Reduce gain significantly; if necessary, add attenuation. $\endgroup$ Nov 30 '21 at 23:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.