CS6650: Smart Sensing for Internet of Things
Offering: January - May, 2021
Instructor: Ayon Chakraborty
The course is intended to introduce an array of systems concepts, algorithmic and signal processing primitives that form the fabric of today's IoT based applications - ranging from indoor location tracking, gesture recognition to micro aerial vehicles or healthcare sensing. This will be a self-contained course following a first principles approach with a gradual ramp up towards real world systems and applications. The focus of this course is to enable students appreciate and build real IoT applications. Theoretical details will be limited to what is necessary to have a working knowledge. Students can develop deeper understanding on specific topics through assignments, course projects and paper readings.
UG-level computer systems (OS, networking, microcontrollers) and programming background (C++/Python) are necessary, along with some background in preliminary probability/statistics. Mobile programming (Android) background is preferred. Depending on your project, you should have the patience to deal with real hardware, interfacing and debugging.
Course Contents: The following represents a tentative list of topics that we will primarily cover. We might modify the topics slightly based on student feedback/interests.
IoT and Sensing Overview: Types of IoT systems, current/future IoT applications, IoT system architecture, IoT networking, grand challenge problems in the IoT space, working principle of sensors, sneak peek into some real world sensing technologies (e.g., pulse oxymeters, touchscreens).
Mathematical and Signals/Systems Tools: System of linear equations, ordinary least squares, curve fitting basics, probability density functions, linear regression, time / frequency domain view of signals, discrete Fourier transformation, spectrograms. These topics will be taught in context of applications that will be presented later.
Localization of IoT Devices: GPS principles, fingerprinting based approaches, analytical approaches - Time of Flight (ToF), Time Difference of Arrival (TDoA), Angle of Arrival (AoA). Applications such as sound source localization (Amazon Echo Dot), indoor localization etc.
Inertial Sensing and Motion Tracking: Inertial measurement units (accelerometers, gyroscopes, magnetometers), sensor fusion, Euler angles, quaternions, Kalman filters, LiDAR/SLAM basics. Application such as step counting, dead reckoning, gesture recognition.
Device-free Sensing: Wireless signals for sensing, principles of radar, target velocity and distance estimation, mmWave radars (e.g., Google Soli). Applications such as radar imaging, fall detection of elderly people, human presence detection etc. (of course, all without cameras!)
IoT communication stack: RFID, LoRa, Sigfox, Ultra Wideband, communication channels as sensing mediums, low-power, energy harvesting, backscatter communication, battery-free sensing.
Assignments / Grading:
The course will have more hands-on components so that students can learn by doing.
There will be 1-2 quizzes (10%), 2-3 programming assignments/homeworks (40%), 1 major course project + presentation (40%), final examination (10%).