gnss-sdr / gnss-sdr

GNSS-SDR, an open-source software-defined GNSS receiver
https://gnss-sdr.org
GNU General Public License v3.0
1.64k stars 593 forks source link

How can I use HackRF with non-zero IF frequency signal ? #718

Closed gnsssdr closed 3 weeks ago

gnsssdr commented 1 year ago

I'm new to the GNSS world. I have successfully run gnss-sdr with HackRF and obtained the correct position. Additionally, I have been able to record data using GNU Radio Companion and HackRF, and then process it offline with gnss-sdr. However, when I attempt to use a non-zero IF frequency in either method, it does not work at all. What do I need to do for this purpose? Capture

vladisslav2011 commented 1 year ago

Hello. You may use freq_xlating_fir_filter IF parameter to compensate IF offset. https://gnss-sdr.org/docs/sp-blocks/input-filter/#implementation-freq_xlating_fir_filter

gnsssdr commented 1 year ago

Hello vladislav 2011 Thanks for reply. Does HackRF capable of sampling signal in non-zero IF at all? Based on this block diagram it has not band pass filter at mixer output, it has only two tunable LPF. Capture

vladisslav2011 commented 1 year ago

HackRF has non-zero first IF (2300...2700MHz), but band-pass filter between RRFC5072 and MAX283 is not shown on this diagram.

SDR_HackRF_one_PCB

HackRF does not have complex band-pass filters after second mixer inside of MAX2837, so the ADC will always sample at zero, but it is possible to tune several MHz above or below frequency of interest to get rid of DC spike / cellular base stations products.