{"id":207,"date":"2020-03-22T03:48:46","date_gmt":"2020-03-22T03:48:46","guid":{"rendered":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teama3\/?p=207"},"modified":"2020-03-22T03:48:46","modified_gmt":"2020-03-22T03:48:46","slug":"statement-of-work","status":"publish","type":"post","link":"https:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teama3\/2020\/03\/22\/statement-of-work\/","title":{"rendered":"Statement Of Work"},"content":{"rendered":"<p><span style=\"font-weight: 400\">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\u2019s modules.\u00a0 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\u2019s specifications and hardware specifications.\u00a0 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.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Error Detecting and Correcting Algorithms that we will be creating and testing:<\/span><\/p>\n<table>\n<tbody>\n<tr>\n<td><span style=\"font-weight: 400\">I2C + UART<\/span><\/td>\n<td><span style=\"font-weight: 400\">GPIO + SPIO<\/span><\/td>\n<td><span style=\"font-weight: 400\">Wifi<\/span><\/td>\n<\/tr>\n<tr>\n<td>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Reed Solomon<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Hamming Code<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Low-Density Parity Check Code (LDPC)<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">BCH code<\/span><\/li>\n<\/ol>\n<\/td>\n<td>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Turbo Codes<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Convolutional Code + Viterbi<\/span><\/li>\n<\/ol>\n<\/td>\n<td><span style=\"font-weight: 400\">1. TCP over UDP w\/o windowing<\/span><\/p>\n<p><span style=\"font-weight: 400\">2. TCP over UDP w\/ windowing<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">Currently, we\u2019ve 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.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Current State:<\/span><\/p>\n<p><span style=\"font-weight: 400\">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).\u00a0 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.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Old vs. New Phases:<\/span><\/p>\n<table>\n<tbody>\n<tr>\n<td><span style=\"font-weight: 400\">Old Phases<\/span><\/td>\n<td><span style=\"font-weight: 400\">New Phases<\/span><\/td>\n<\/tr>\n<tr>\n<td>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Creating the algorithm implementations<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Data Verification<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Protocol Verification and Throughput Test<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Hands-Off<\/span><\/li>\n<\/ol>\n<\/td>\n<td>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Creating the algorithm implementations<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Data Verification<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Analysis of tradeoffs\/runtimes<\/span><\/li>\n<\/ol>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"font-weight: 400\">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.<\/span><\/p>\n<p><span style=\"font-weight: 400\">New Tasks + Splitting New Tasks Between Team Members:<\/span><\/p>\n<table>\n<tbody>\n<tr>\n<td><span style=\"font-weight: 400\">Previous Tasks<\/span><\/td>\n<td><span style=\"font-weight: 400\">New Tasks<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Mia:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">GUI Implementation<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">SPI\/GPIO: Convolutional Codes + Viterbi<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">John Paul:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">UART\/I2C: Hamming Code<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Sam:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Wifi<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">All: Integration<\/span><\/td>\n<td><span style=\"font-weight: 400\">Mia:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">SPI\/GPIO<\/span><\/li>\n<\/ol>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Turbo Codes<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Convolutional Codes + Viterbi<\/span><\/li>\n<\/ul>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">GUI\u00a0<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\">John Paul:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">UART\/I2C<\/span><\/li>\n<\/ol>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Reed Solomon<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Hamming Code<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">BCH code<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Sam:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">UART\/I2C:<\/span><\/li>\n<\/ol>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">LDPC<\/span><\/li>\n<\/ul>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Wifi<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">GUI<\/span><\/li>\n<\/ol>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>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\u2019s modules.\u00a0 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 &hellip; <a href=\"https:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teama3\/2020\/03\/22\/statement-of-work\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Statement Of Work<\/span><\/a><\/p>\n","protected":false},"author":236,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teama3\/wp-json\/wp\/v2\/posts\/207"}],"collection":[{"href":"https:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teama3\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teama3\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teama3\/wp-json\/wp\/v2\/users\/236"}],"replies":[{"embeddable":true,"href":"https:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teama3\/wp-json\/wp\/v2\/comments?post=207"}],"version-history":[{"count":1,"href":"https:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teama3\/wp-json\/wp\/v2\/posts\/207\/revisions"}],"predecessor-version":[{"id":208,"href":"https:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teama3\/wp-json\/wp\/v2\/posts\/207\/revisions\/208"}],"wp:attachment":[{"href":"https:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teama3\/wp-json\/wp\/v2\/media?parent=207"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teama3\/wp-json\/wp\/v2\/categories?post=207"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teama3\/wp-json\/wp\/v2\/tags?post=207"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}