Statement Of Work

We believe that most of our original project can be maintained, since the crux of the project is software that will be loaded onto CubeRover’s modules.  Since we can no longer simulate the protocols using physical components, we intend to simulate the protocols. Because the hardware aspect is no longer feasible, we plan on re-focusing our project to create, implement and test various error detection and correction algorithms to determine which methods best meet CubeRover’s specifications and hardware specifications.  Creating these various error detection and correction protocols are the priority; a stretch goal would be creating the GUI to make our error detection and correction simulations more presentable.

Error Detecting and Correcting Algorithms that we will be creating and testing:

I2C + UART GPIO + SPIO Wifi
  1. Reed Solomon
  2. Hamming Code
  3. Low-Density Parity Check Code (LDPC)
  4. BCH code
  1. Turbo Codes
  2. Convolutional Code + Viterbi
1. TCP over UDP w/o windowing

2. TCP over UDP w/ windowing

 

Currently, we’ve decided to start looking into and implementing Forward Error Correction Codes, LDPC Codes, and Turbo Codes; a reach goal is researching and implementing other error correction and detection methods.

Current State:

Right now, we are finished writing and verifying the correctness of the initial error correction and detection methods that we decided on implementing (reflected in our most recent Gantt Chart created before spring break).  Our current implementations, however, are designed to send data to the microcontrollers; we will therefore spend a few days modifying our current implementations to be simulated and verified using test benches. 

Old vs. New Phases:

Old Phases New Phases
  1. Creating the algorithm implementations
  2. Data Verification
  3. Protocol Verification and Throughput Test
  4. Hands-Off
  1. Creating the algorithm implementations
  2. Data Verification
  3. Analysis of tradeoffs/runtimes

We have updated our previous phase plans to reflect the changes that we have made to the project; instead of verifying the accuracy of the data being passed to and from the microcontroller, we will instead shift to writing more algorithms to determine which error detection and correction implementations best fit the requirements of the project.

New Tasks + Splitting New Tasks Between Team Members:

Previous Tasks New Tasks
Mia:

  • GUI Implementation
  • SPI/GPIO: Convolutional Codes + Viterbi

John Paul:

  • UART/I2C: Hamming Code

Sam:

  • Wifi

All: Integration

Mia:

  1. SPI/GPIO
  • Turbo Codes
  • Convolutional Codes + Viterbi
  1. GUI 

John Paul:

  1. UART/I2C
  • Reed Solomon
  • Hamming Code
  • BCH code

Sam:

  1. UART/I2C:
  • LDPC
  1. Wifi
  2. GUI

Leave a Reply

Your email address will not be published. Required fields are marked *