Stanford EE271 Final Project