From 1e9fc7e9102332541da7ad509177fc11c7fdd81c Mon Sep 17 00:00:00 2001
From: "Lentz, Rick" <rick.w.lentz.civ@mail.mil>
Date: Thu, 9 Sep 2021 05:46:21 -0700
Subject: [PATCH] Presentation video
 https://www.youtube.com/watch?v=e7BWm0TBmFk&t=4s

---
 .../projects/Lentz/README.md                  | 69 ++++++++++++++++++-
 1 file changed, 66 insertions(+), 3 deletions(-)

diff --git a/assignments/src/MV3500Cohort2021JulySeptember/projects/Lentz/README.md b/assignments/src/MV3500Cohort2021JulySeptember/projects/Lentz/README.md
index 78e86d6a79..160a69f4d8 100644
--- a/assignments/src/MV3500Cohort2021JulySeptember/projects/Lentz/README.md
+++ b/assignments/src/MV3500Cohort2021JulySeptember/projects/Lentz/README.md
@@ -1,4 +1,67 @@
-## 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) 
-- 
GitLab