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.
- Our focus shifted to project documentation and creation of user manuals for the next team to easily pick up from where we left off.
- The project's hardware has all been accounted for and will be sent to Martin Pepe for safekeeping until RIT classes resume.
- Pieces of software have had final changes made. We are now prioritizing user manuals.
- A ground station box prototype has been made.
- A site survey at Williamson High School was completed before the quarantine began.
- A final cross correlation and TDoA test was performed with two stations.
- At this point, 13 tests have passed, 1 test has failed, and 28 tests are left incomplete.
- The poster, paper, and lightning talk video are completed.
Box Current StateThe 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.
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.
Williamson Site Survey
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.
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.
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.
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 StateOrekit 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 ResultsIntegration 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:
- 2 reveivers in the same place capture the time offset between the receivers when finding a time dealy using cross-correlation
- Synchronizing the receivers is necessary in order to avoid including the offset in the results
- Analyzing the captured data in time domain is a useful tool for determining the best scheme for data processing/demodulation
- WBFM receiver blocks in software (GNURADIO) improve the accuracy of the corsscorrelation for FM signals
Time Synchronization Test ResultsSpringing 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.
- Sample datetime.now() before we start collecting data and at the time the file is created.
- Sample datetime.now() multiple times throughout the recording process: at entry, after setup, after starting recording, after fininshing recording.
- Use the same Pi with 2 hackRFs and antennas hooked up to it.
- Use Pentoo on a laptop instead of a Raspberry Pi.
- 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:
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 ResultsThe 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.