Skip to content
Snippets Groups Projects
Commit 1e9fc7e9 authored by Lentz, Rick's avatar Lentz, Rick
Browse files
parent fbdaaca9
No related branches found
No related tags found
No related merge requests found
## Final Course Project
In this project, we use several techniques and concepts to simulate software-defined transmitter/receiver systems through an aviation rf receiver use case. This version of the project plays a passive role. The SDR component is an RF receiver node to collect and transform broadcast messages into DIS messages to produce a 'home aviation spotter' awareness system.
Final project deliverables:
* TBD
The system is composed of a few parts:
A software-defined radio setup [1] with a compiled FPGA image and PDU transmitter source code [2] to receive ADS-B data [3]
A conversion model for transforming message traffic in the DIS PDU Entity State messages
A watch system to visualize DIS broadcasts and alerts when variables are within tolerance for conditions of interest.
This project's video walkthrough[ 4] and captured PCAP data is available [5].
### install gnu radio using conda
'conda config --env --add channels conda-forge'
'conda config --env --set channel_priority strict'
'conda create --name rf_pdu python=3.8'
'conda activate rf_pdu'
'conda install --yes gnuradio=3.8.1'
### when not needed
conda env remove --name rf_pdu
### install opendis
'git clone https://github.com/open-dis/open-dis-python.git'
'cd open-dis-python'
'pip install .'
### pull the Ettus Research repo and configure the Linux rules using the following steps
'git clone https://github.com/EttusResearch/uhd.git'
'cd uhd/host/utils'
'sudo cp uhd-usrp.rules /etc/udev/rules.d/.'
'sudo udevadm control --reload-rules'
'sudo udevadm trigger'
### clone, build, and run
'git clone https://github.com/ricklentz/gr-adsb'
'mkdir build'
'cmake -DCMAKE_INSTALL_PREFIX=~/anaconda3/envs/rf_pdu ../'
'make'
'sudo make install'
'cd ..'
'cd examples'
### ensure the UHD device is connected to the source node
'sudo uhd_find_devices'
### make sure the device fpga images are available e.g.
'python ~/anaconda3/envs/rf_pdu/lib/uhd/utils/uhd_images_downloader.py'
### build the adsb_rx.grc graph using grcc
'cd ~/Github/gr-adsb/examples/'
'grcc adsb_rx.py'
### and run the compiled flowgraph or
'python adsb_rx.py'
### build and run with the gnuradio-companion
'gnuradio-companion adsb_rx.grc'
### References
[1 Ettus Research SDR FPGAs](https://www.ettus.com/all-products/ub210-kit/)
[2 Project Source Code](https://github.com/ricklentz/gr-adsb)
[3 ADSB Nextgen Program](https://www.faa.gov/nextgen/programs/adsb/)
[4 Project Overview and Technical Walkthrough](https://youtu.be/e7BWm0TBmFk?t=4)
[5 DIS7 Entity State PCAP Data Collection](https://drive.google.com/file/d/1KCuFVBYzKMHhdhrRL40G5zzu1c6ivymz/view?usp=sharing)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment