Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
HackRF One RX spectrum #109
The extreme spurs you are seeing are due to harmonic relationships among the LO, RF, and/or IF. They can be avoided by configuring the IF differently. We could use some better code in the firmware to automatically select a better IF and LO.
I would be interested to see a comparison of the 40MHz/50MHz/100MHz spurs between versions.
Center = 1277MHz
NOTE: the spur can be filtered by MAX2837 bandwidth filter.
It looks like you're getting the hang of it, but here is an answer to your earlier question about how to predict the bad spurs.
The IF is the intermediate frequency the MAX2837 is tuned to. The RF is the radio frequency of interest at the antenna port. The LO is the local oscillator frequency of the RFFC5072. (Technically there is another LO in the MAX2837, but it is the same frequency as IF. When I refer to LO, I am talking about the LO in the RFFC5072.)
RF = |IF+LO|
Which one (the sum or the difference) depends on the configuration of the image reject filter stage.
Bad spurs occur when LO or an integer multiple of LO is within 10 MHz (or half of your baseband filter bandwidth) of RF. This happens due to leakage of the LO into the RF side of the RFFC5072.
Bad spurs occur when LO or an integer multiple of LO is within 10 MHz (or half of your baseband filter bandwidth) of IF. This happens due to leakage of the LO into the IF side of the RFFC5072.
To be safe, it is probably best to keep LO harmonics 20 MHz or further away from RF or IF. Right now our automatic tuning code (which is already fairly complicated) does not take LO leakage into account.
May I know how can I get the IF or LO frequency? IF is a fixed frequency right. Based on RF frequency we tune to PLL gives right LO frequency to get the required IF frequency.
Thanks & Best Regards,