Author: jharrima
Final Video Post
Here is the unlisted video link since the file was too large to upload:
Thanks for a great semester! š
Team Update 5/2/20
John Paul Harrimanās Status Report for 5/2/2020
I implemented a couple more algorithms based on Reed-Muller error correcting code. This algorithm is able to emulate a lot of the most basic error correcting codes by tuning different parameters within the function. I also worked on integrating this added functionality within the GUI.
The video has also taken up a significant amount of time this last week so the team and I have been focusing on that the most.
Is your progress on schedule or behind? If you are behind, what actions will beĀ taken to catch up to the project schedule?
Hope to get the project code finished up, write the report, and finish the video!
John Paul Harriman’s Status Report for 4/25/2020
I rewrote a lot of the existing code I had to be more easily integratabtle into our current GUI solution with an Object oriented approach to create our Test Suite where we will be displaying the graphical information, the data being generated, and the functions working. I can show the packets that I’ve generated, but I’m still trying to figure out a good way to display the information to the viewer that isn’t just a million bits at a time. I’ve worked with the team to hammering out our system construction so all that’s left is just throwing more algorithms at our test suite, displaying information, and continual integration with the team.
I did a lot of work on refining the GUI and the displaying of data in an easy to see format.
This is an example of the data generated in three steps with a chance of a bit flipping being 1/12. The first bar is the generated data of 8bit packets set to grey scale, the second bar is the corrected data that the decoding algorithm has performed on the encoded fuzzed data, the third bar shows the difference between these two bars with white meaning that the data has been correctly decoded and black meaning that it has either corrected the wrong data or could not be fixed.
I also worked on performance benchmarks since we are working to meet the requirements of less than 1mil instructions, my simple encoding and decoding functions for hamming show these results.
I ran my encoding and decoding functions 1000 times and plotted in a histogram. The cycle count is well within the limits, but we will need to test the remaining algorithms to see how they perform.
I also tried to package the gui into its own executable, but did not have success. I think a thorough documentation on how to get started will suffice though.
Is your progress on schedule or behind? If you are behind, what actions will beĀ taken to catch up to the project schedule?
More algorithms! Shouldn’t be too bad.
John Paul Harriman’s Status Report for 4/18/2020
I rewrote a lot of the existing code I had to be more easily integratabtle into our current GUI solution with an Object oriented approach to create our Test Suite where we will be displaying the graphical information, the data being generated, and the functions working. I can show the packets that I’ve generated, but I’m still trying to figure out a good way to display the information to the viewer that isn’t just a million bits at a time. I’ve worked with the team to hammering out our system construction so all that’s left is just throwing more algorithms at our test suite, displaying information, and continual integration with the team.
Is your progress on schedule or behind? If you are behind, what actions will beĀ taken to catch up to the project schedule?
More algorithms and proper benchmarkings, I know the number of packets generated in one second, which highly exceeds current expectations for timeouts, but want exact numbers.
John Paul Harriman’s Status Report for 4/11/20
I worked more on getting the demo ready and then on the concerns post-demo. I was able to display the information in real time of the exact rate of successful packets recovered, but was suggested that I should also be able to see the data that is being fixed. I had some concerns about doing this since I am doing around 1000+ packets per second and could overwhelm the user, but I think I have thought of a way of displaying this information. My work now has been trying to show the fixed and unfixed packets side by side as a stream into a window clickable by the user. I also worked on further research on forward error correcting codes.
Is your progress on schedule or behind? If you are behind, what actions will beĀ taken to catch up to the project schedule?
Deliverables are integration of API into GUI, more algorithms, and benchmarking the algorithms that we do have. (Same as last week)
John Paul Harriman’s Status Report for 4/4/2020
I implemented most of the base calls for the API and implemented the algorithm for hamming encoding/decoding.
Here is a link to the current files of implementation: Here
These files aren’t up to production documentation, but that is more of back-burner problem right now.
Is your progress on schedule or behind? If you are behind, what actions will beĀ taken to catch up to the project schedule?
Deliverables are integration of API into GUI, more algorithms, and benchmarking the algorithms that we do have.
John Paul Harriman’s Status Report for 3/28/2020
I was able to start actually implementing our code!
I did a lot more research into what exact error correcting codes that we could use for our defined packet model. I’ve been going deep into this rabbit whole of which one is the best to use so hopefully next week I can start connecting the dots between all of them. I wrote the code for defined packet generation with a new model.
This model helps us gain easier access to verification by storing it in a struct because we now don’t have to pass all of our data through the specific wires and can focus on correction/detection and protocol handling.
Is your progress on schedule or behind? If you are behind, what actions will beĀ taken to catch up to the project schedule?
I’m going to do my part now which is gathering all the different algorithms and hopefully link up with my teammates over the next week.
Deliverables for next week are the Reed Solomon algorithm and others for the defined packet length to be completed in C, but without the additional component interactions.
I kind of switched my paths halfway through so I’m going to keep these goals.
John Paul Harriman’s Status Report for 3/21/20
With the end of Spring Break moving into the transition into the remote classes, most of my work has been getting my life back together and also trying to make the transition with Capstone.
Is your progress on schedule or behind? If you are behind, what actions will beĀ taken to catch up to the project schedule?
Deliverables for next week are the Reed Solomon algorithm and others for the defined packet length to be completed in C, but without the additional component interactions.