P20151: Satellite Localization
/public/

Integrated System Build & Test

Table of Contents

Team Vision for Integrated System Build & Test Phase

The COVID outbreak and RIT shutdown led us to reprioritize our objectives for the rest of the term.

Accomplishments

Box Current State

The Hopper box is nearly complete. The first prototype is only missing the Power Over Ethernet power solution. However, it is still fully operational, and can collect signals. The Hopper box has a removable base plate that allows for the team to easily test the electronics. The base plate is connected to the box to allow for a ground connection. Each electrical component is connected to the base plate by an aluminum bracket. The bracket utilizes normal force and friction to keep each component in place. The box has only three holes drilled into it for the wiring.
 Inside Hopper Box, without POE solution.

Inside Hopper Box, without POE solution.

In future iterations, the holes will all be drilled on the bottom of the box. The bottom will depend on how the box is mounted at each location. Each hole will also have bulkheads at each hole for easy wire connection, and for waterproofing.

 Assembled Testing Prototype.

Assembled Testing Prototype.

Williamson Site Survey

 Williamson Spyglass Screenshot.

Williamson Spyglass Screenshot.

 Williamson Spyglass Screenshot.

Williamson Spyglass Screenshot.

 Williamson Spyglass Screenshot.

Williamson Spyglass Screenshot.

 Williamson Spyglass Screenshot.

Williamson Spyglass Screenshot.

The site survey at Williamson High School was the only site survey we were able to complete this semester. We needed to choose a location with good elevation, and no obstruction in view. We decided to place the Antenna on a 10 ft mounting pole that attaches to a ladder leading to the highest part of the high school roof.

 Ladder on Williamson High School Roof where antenna will be mounted to a 10 ft pole.

Ladder on Williamson High School Roof where antenna will be mounted to a 10 ft pole.

 Top roof where mounting ladder leads to.

Top roof where mounting ladder leads to.

Our testing setup only included our Uninterrupted Power Source, the mounting plate of the Hopper box that included our Raspberry Pi and our Hack RF One SDR. The GPS and QFH antenna were also connected to try and acquire a satellite signal.

 Testing Setup for acquiring signal at Williamson high school.

Testing Setup for acquiring signal at Williamson high school.

 Antenna placement for Williamson Site Survey Test.

Antenna placement for Williamson Site Survey Test.

Electrical Current State

Power over Ethernet

Currently there is adequate electrical equipment to run a functional base station. Power over Ethernet PoE has not yet been tested on any active base stations. All functional base stations have all been run on a standard 120V wall outlet with equipment team LASSO had in-stock pre-Covid19.

Power Budget

Since the system has never been powered using PoE, there is no in field data stating how much power the system draws. There has been a power study performed that displays accurate estimates of how much power this system design supplies and how much power the various electronic components will draw under various conditions.

Software Current State

Orekit Current State

Orekit doppler shift and access time code is finalized. In its current state, it outputs two text files: one text file prints the access times with doppler frequencies and the other prints the access times with the elevation, azimuth, and range of the satellite at each step during the pass.

The orbit determination simulations are still in a very simplified state. The next team should consider investigating a more accurate model within Orekit to perform orbit determination.

TDoA Current State

The TDoA program is in a “functional state” for 3 stations. This means future teams could use the algorithm that is to compute the direction of satellites based on the time delays. However, it does not work with more than 3 stations and the interfaces between TDoA and other aspects of the larger architecture are not implemented or not updated.

This code is capable of both calculating the direction of a satellite and estimating the uncertainty in that direction based on input uncertainty.

Cowboy Current State The GUI is a work in progress. It error checks and stores input for the NoradID, access times, and station settings. The functionality of the Check Access Times button is a work in progress. The Orekit program is called by Cowboy, but the access times should be shown to the user.

The code is properly commented and some code snipped examples are saved.

Test Results Summary

Cross Correlation Test Results

Integration and testing on the lab bench was carried out using a the "surrogate station" receivers (consisitng of the QFH antenna, preamp, hackRF and Raspberry Pi) with FM radio stations and an Arduino antenna as transmitters. This presentation details the findings from the tests, but they are sumarized by:

Time Synchronization Test Results

Springing from the cross-correlation test results, the goal was to determine whether we can obtain cross-correlation values of zero with stations located next to each other. We tried the following with the schedule_Runner.py code.
  1. Sample datetime.now() before we start collecting data and at the time the file is created.
  2. Sample datetime.now() multiple times throughout the recording process: at entry, after setup, after starting recording, after fininshing recording.
  3. Use the same Pi with 2 hackRFs and antennas hooked up to it.
  4. Use Pentoo on a laptop instead of a Raspberry Pi.
  5. We tried using both unified.py and the Python APScheduler add-on package for these tests.

All results are tabulated in the below figure and can be found here:

 Table of average cross-correlation values with and without corrections.

Table of average cross-correlation values with and without corrections.

We found that correcting the raw cross-correlation using certain offsets that are measured using datetime.now() does improve results. The offsets atEntry, afterSetup, and afterStartingGNU all seem to work, reducing the time delay to 1.5ms. This is still not small enough for cross-correlation. The better results seen with the laptop and Pentoo and the APScheduler indicate that the Pi CPU may be getting overloaded during record times with unified.py. We recommend looking into more efficient schedulers as a potential solution.

The timing resolution of 1.5ms is still unacceptably high for satellite tracking and is the primary reason why in the Hail Mary Satellite test, we fail to get accurate cross-correlation results.

Hail Mary Satellite Test Results

The final analysis of our design requirements is here. Each requirement corresponds to a test from the test plan. Overall, 12 requirements were left unfinished or unverified, 16 requirements were achieved and 1 requirement was failed. The failing requirement relates to a GPS timing and accuracy issue. During testing, the GPS clocks were only able to accurately control the pi clock to the nearest 100ms, which does not meet the engineering requirement which is having a GPS/system time resolution of less than 100us. The final test conducted is a good benchmark for system level performance and therefore the test results are used to judge each design requirement. The final test was the attempted tracking of the LUSAT cubesat from two ground stations. A detailed report of that test is here.

Risk and Problem Tracking

Functional Demo Materials

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

https://creativecommons.org/licenses/by-nc-sa/4.0/


Home | Planning & Execution | Imagine RIT

Problem Definition | Systems Design | Preliminary Detailed Design | Detailed Design

Build & Test Prep | Subsystem Build & Test | Integrated System Build & Test | Customer Handoff & Final Project Documentation