diff --git a/Readme.md b/Readme.md index 1e615803f..97c1818f4 100644 --- a/Readme.md +++ b/Readme.md @@ -89,7 +89,7 @@ If you use your own location for libhackrf install directory you need to specify `-DLIBHACKRF_LIBRARIES=/opt/install/libhackrf/lib/libhackrf.so -DLIBHACKRF_INCLUDE_DIR=/opt/install/libhackrf/include` -HackRF is better used with a sampling frequency over 8 MS/s. You can use the 9.6Ms/s setting that decimates nicely into integer kS/s sample rates. There are quite a few problems with narrowband work with this hardware. You may try various amplifiers settings to limit images and I/Q imbalance with varying success... The cheap RTL-SDR dongles usually do better. +HackRF is better used with a sampling rate of 4.8 MS/s and above. The 2.4 and 3.2 MS/s rates are considered experimental and are way out of specs of the ADC. You may or may not achieve acceptable results depending on the unit. A too low sampling rate will typically create ghost signals (images) and/or raise the noise floor.

RTL-SDR

diff --git a/plugins/samplesource/hackrf/hackrfgui.cpp b/plugins/samplesource/hackrf/hackrfgui.cpp index fc00d8652..783eb1031 100644 --- a/plugins/samplesource/hackrf/hackrfgui.cpp +++ b/plugins/samplesource/hackrf/hackrfgui.cpp @@ -287,7 +287,7 @@ void HackRFGui::updateHardware() m_updateTimer.stop(); } -unsigned int HackRFSampleRates::m_rates_k[] = {2400, 3200, 4800, 6400, 9600, 12800, 19200}; +unsigned int HackRFSampleRates::m_rates_k[] = {2400, 3200, 4800, 5600, 6400, 8000, 9600, 12800, 19200}; unsigned int HackRFSampleRates::getRate(unsigned int rate_index) { diff --git a/plugins/samplesource/hackrf/hackrfgui.h b/plugins/samplesource/hackrf/hackrfgui.h index 6355bd8b6..71b0c11d8 100644 --- a/plugins/samplesource/hackrf/hackrfgui.h +++ b/plugins/samplesource/hackrf/hackrfgui.h @@ -89,7 +89,7 @@ class HackRFSampleRates { public: static unsigned int getRate(unsigned int rate_index); static unsigned int getRateIndex(unsigned int rate); - static const unsigned int m_nb_rates = 7; + static const unsigned int m_nb_rates = 9; static unsigned int m_rates_k[m_nb_rates]; };