
LEARNING
Project learning and solidifying DSP techniques from class
Data Collection
This project has provided us with a lot of experience collecting data. We've been able to see first hand the importance of collecting data in a variety of circumstances when trying to create a robust system. This has involved brainstorming new, rigorous situations to really put our setup through the wringer, as well as coming up with ways to improve our setup when we encountered issues.
IR Sensors
We've been able to learn quite a bit about IR sensors as well. IR sensors use infrared radiation to detect distance and as a result, we feared it might be difficult to design a setup that would be immune to the impact of light from the outside world. As it turned out, however, it was relatively easy to shield the sensor from this background light, which has allowed us to obtain some very clean data.
Programming Knowledge
This project has provided the opportunity to become increasingly familiar with a few additional coding concepts as well, especially in both Matlab and Arduino. In particular, the ability to create plots with multiple y-axes has been a valuable tool in allowing us to illustrate the implications of our collected data, and the millis() function in Arduino has made it easy to output data that can be matched with time. As we progress, we will certainly continue to gain familiarity with the syntax and functions commonly used in both Arduino and Matlab.
DSP Techniques Eclipse Programming
We were able to accurately compute FFTs with the Teensy then implemented a high-pass filter. We found that said the high-pass filter substantially outperforms all other filtering methods devised in software for the IR sensor. Without the HPF, CUMSUM is significantly less effective. This goes to show that DSP techniques can often provide extremely simple solutions to entirely replace or pair with statistical or otherwise unrelated algorithms.