
Intro: Some of the Hackrf board use a bad performance crystal, it will cause some program can't work---such as GNSS(GPS) simulation. Most GPS receiver can capture the satellite when the doppler within 10KHz, but 10ppm bias of the crystal will cause 15Khz doppler. And my hackrf board uses a 16ppm crystal :( normal Of course, I can replace the crystal or use a external clock. But for most people, add a ppm correct function to hackrf_transfer is useful. How to use: 1, measure your crystal's error You can use a precision counter to measure it. Connect the hackrf's "clock out" to the counter, get the frequency Fh, then , ppm = (Fh - 10000000)/10 You can use a standard clock source such as OCXO, TCXO, or Atom Clock, and a counter to measure the crystal error too. 2, add an argument "-C ppm " when you use hackrf_transfer. Eg. , your crystal error is -8ppm ( In other words , your clock is slower than the standard clock), then you should add "-C -8" follow the hackrf_transfer command. Hope you can understand my poor English:) -------------------------- Thanks to Michael Ossmann; Thanks to Jared Boone ; Thanks to Benjamin Vernoux ; Thanks to GPL.
This repository contains hardware designs and software for HackRF, a project to produce a low cost, open source software radio platform.
How to build host software on Windows: prerequisite for cygwin or mingw:
- cmake-2.8.10.2 or more see http://www.cmake.org/cmake/resources/software.html
- libusbx-1.0.14 or more see http://sourceforge.net/projects/libusbx/files/latest/download?source=files
- Install Windows driver for HackRF hardware or use Zadig see http://sourceforge.net/projects/libwdi/files/zadig
- If you want to use Zadig select HackRF USB device and just install/replace it with WinUSB driver.
- Build libhackrf before to build this library, see host/libhackrf/Readme.md.
For Cygwin: cmake -G "Unix Makefiles" -DCMAKE_LEGACY_CYGWIN_WIN32=1 -DLIBUSB_INCLUDE_DIR=/usr/local/include/libusb-1.0/ make make install
For Mingw: #normal version cmake -G "MSYS Makefiles" -DLIBUSB_INCLUDE_DIR=/usr/local/include/libusb-1.0/ #debug version cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Debug -DLIBUSB_INCLUDE_DIR=/usr/local/include/libusb-1.0/ make make install
How to build host software on Linux: cmake ./ make make install
principal author: Michael Ossmann mike@ossmann.com