Milestone 4
4.1 Optimization:
To fit our delivery goals, each subsystem had to be optimized.
- GPS and Gyro:
Implemented C/Arduino code for blazingly fast computations and adjustments at low power
Removed cross-language and cross-script functions, decreasing computational overhead and reducing wiring and delays
- Raytracer:
Parallelized ray tracing processes across CPU for significantly fasting computations
Implemented multi-PC implementation, splitting the workload, to further decrease simulation run times
Signicant progess on C++ custom ray tracer with GPU parallelization support, which is used in real-time ray tracing applications
- GNU Radio:
Transformed the transmission protocol into a message passing version that utilizes packets and splits the message signal into header and payload, keeping only the payload to make signal processing significantly quicker.
Troubleshooting is needed to resolve message overflows, which can cause crashes and interrupt message passing.
- Phase Shifter:
Switched from pin-set phase shifting to SPI-based control, significantly simplifying wiring
Designed and reflow soldered custom breakout boards for phase shifter IC, allowing for accurate phase shifting at a relatively low cost
Full Arduino/C implementation
4.2 Delivery:
4.3 Management:
The project (and team) was divided into three sections, based on individuals' expertise. Each team was responsible for delivering a reliable and integratable implementation of their subsystem
Radio:
Drew Pearlstein
Ben Holko
Tasks:
Develop a wireless protocol (modulation, data formatting)
GNU Radio implementation
SDR testing and operation
Phased Array:
John McAuliffe
Tasks:
Design phased array mount
Program Arduino control of phase delays
Program Arduino control of GPS and gyroscope based on ray tracing data
Ray Tracing:
Matthew Petrin
Kenneth Kim
Tasks:
Pre-compute broadcast methods using ray-tracing simulation
Run testing simulations
Data formatting, sharing, and system integration
The above represents phase 1. A phase 2 of the project was initially planned in which the team would implement ATAK app integration, improved housing, and quality of life features. However, due to changes in the implementation of beamforming mid-phase and delays in radio protocol integration, and phased array control, plans for a phase 2 were cancelled. There was thus a good learning opportunity for time-management skills. Additionally, organizational skills were learned due to a number of problems with ordering correct hardware.
The team had good opportunities to learn role division and task distribution since it was organized into sub-teams. There was also learning in team coordination through use of Git to share and distribute code and subsystem implementation near the end of the project.