|
1 | 1 | # Antenna-array-GPS-receiver-USRP-GNSS-SDR |
2 | | -This is a GPS receiver with antenna array, built based on USRP X310 and GNSS-SDR. |
3 | | -Follow this instruction, you can build a testbed quickly. 😎 |
| 2 | +This is a GPS receiver testbed with antenna array, built based on USRP X310 and GNSS-SDR. |
| 3 | +Follow this instruction, you can build a testbed quickly 😎. |
4 | 4 | ## Introduction |
5 | 5 | This project is a GPS receiver testbed with antenna array, built based on USRP X310 and GNSS-SDR. The receiver is designed to receive GPS signals from multiple antennas(1x4 ants) and process them to improve the accuracy of the position estimation. The gps signal is received by an USRP X310, and then the signal is processed by GNSS-SDR to get the position information. This project can be used for GPS positioning, navigation, and some other research purposes, which need to receive gps signal via an antenna array. |
6 | 6 |
|
7 | 7 | ## Hardware |
8 | 8 | The hardware used in this project includes: |
9 | | -- USRP X310: a software-defined radio platform (RF_front_end) for receiving and transmitting radio signals. My USRP X310 has two TwinRX-80MHz daughterboards with 4 RX channels in total, which can be connected to 4 antennas. |
10 | | -- GPS active antenna: 4 active GNSS antennas, which have internal LNA and need to be powered with 3~5 V DC. |
| 9 | +- **USRP X310:** a software-defined radio platform (RF_front_end) for receiving and transmitting radio signals. My USRP X310 has two TwinRX-80MHz daughterboards with 4 RX channels in total, which can be connected to 4 antennas. |
| 10 | +- **GPS active antenna**: 4 active GNSS antennas, which have internal LNA and need to be powered with 3~5 V DC. |
11 | 11 | - Antenna array: using above described 4 active GNSS antennas fixed on a line with $\frac{\lambda }{2} \approx 9.5cm$ spacing among them. |
12 | | -- Bias-Tee: a RF Bias Tee is used to feed DC power to active antenna. |
13 | | -- GPSDO: a GPS disciplined oscillator is used to provide a stable reference clock for the USRP X310. And this GPSDO need to connect a passive GPS antenna. Once it runs correctly and shows GPS locked, 10MHz signal and 1PPS signal will be generated and provided to USRP X310. |
14 | | -- PC: a computer with GNSS-SDR installed, which is used to configure and control the USRP X310 and GNSS-SDR. I use a compact industrial computer: IPC-240 with Ubuntu 20.04. To have enough communication bandwidth to aviod overflow error, I have a 10Gbps Ethernet controller in my PC and use a 10Gbps Ethernet cable to connect the PC and the USRP X310. |
| 12 | +- **Bias-Tee**: a RF Bias Tee is used to feed DC power to active antenna. |
| 13 | +- **GPSDO:** a GPS disciplined oscillator is used to provide a stable reference clock for the USRP X310. And this GPSDO need to connect a passive GPS antenna. Once it runs correctly and shows GPS locked, 10MHz signal and 1PPS signal will be generated and provided to USRP X310. |
| 14 | +- **PC:** a computer with GNSS-SDR installed, which is used to configure and control the USRP X310 and GNSS-SDR. I use a compact industrial computer: IPC-240 with Ubuntu 20.04. To have enough communication bandwidth to aviod overflow error, I have a 10Gbps Ethernet controller in my PC and use a 10Gbps Ethernet cable to connect the PC and the USRP X310. |
15 | 15 |
|
16 | 16 | ## Software |
17 | 17 | The software used in this project includes: |
18 | | -- GNSS-SDR: an open-source software defined radio receiver for GNSS signals. |
19 | | -https://gnss-sdr.org/ |
20 | | -- UHD: a driver for USRP X310 to communicate with the USRP hardware. |
21 | | -- GNURadio: a software development toolkit that enables the creation of radio communications applications using GNU Radio blocks. |
| 18 | +- **GNSS-SDR:** an open-source software defined radio receiver for GNSS signals.You can install the gnss-sdr following the instruction in https://gnss-sdr.org/. |
| 19 | +- **UHD:** a driver for USRP X310 to communicate with the USRP hardware. |
| 20 | +- **GNURadio:** a software development toolkit that enables the creation of radio communications applications using GNU Radio blocks. |
22 | 21 |
|
23 | 22 | ## Testbed Overview |
24 | 23 |  |
25 | 24 |
|
26 | 25 | ## Usage |
27 | | -To use this project, you need to install GNSS-SDR on your computer at first. Then, you can build this testbed and configure the GNSS-SDR to receive GPS signals from multiple antennas and process them to get the output decoded files. The configuration file for GNSS-SDR can be modified to adjust the parameters of the receiver, such as the sampling rate, the number of antennas, and the signal source if you use other SDR. |
| 26 | +To use this project, you need to install GNSS-SDR on your computer at first. Then, you can build this testbed and configure the GNSS-SDR to receive GPS signals from multiple antennas and process them to get the output decoded files. The configuration file for GNSS-SDR can be modified to adjust the parameters of the receiver, such as the sampling rate, the number of antennas, and the signal source if you use other type of SDR. |
| 27 | + |
| 28 | +### 1. Install gnss-sdr |
| 29 | +You can install gnss-sdr following the instruction in https://gnss-sdr.org/. After installing it in Ubuntu 22.04, 20.04 and MacOS, I really recommand to Install on an Ubuntu. Don't waste your time to install gnss-sdr on MacOS, it's really difficult and bad to use. My software versions are: |
| 30 | +- Ubuntu 20.04 (on IPC-240) |
| 31 | +- gnss-sdr 0.19 |
| 32 | +- UHD 4.0 |
| 33 | +- GNU Radio 3.9 |
| 34 | + |
| 35 | +If using Ubuntu 20.04 or 22.04, I provide the optimal install steps as follow: |
| 36 | +(1) |
| 37 | + |
| 38 | +### 2. Build this testbed |
| 39 | + |
| 40 | +### 3. Matters need attention |
| 41 | + |
| 42 | +### 4. Run and process the result |
| 43 | + |
| 44 | + |
28 | 45 |
|
29 | 46 | ## Reference |
30 | 47 | - GNSS-SDR: https://gnss-sdr.org/ |
|
0 commit comments