NB
Back to Engineering Journal
8 min read·

Sensors, Signals & Noise: Filtering Telemetry during my IEEE Robotics Internship

Debugging hardware sensor jitter during my robotics internship using C++ complementary filters to combine accelerometer and gyroscope data.

RoboticsC++SensorsArduinoEmbedded Systems
# Context & IEEE Internship Background During my robotics internship at **IEEE Sensors Council × Luminar Technolab**, I worked on telemetry signal extraction for mobile autonomous robots. ## The Technical Problem Raw MPU-6050 IMU sensors exhibit high-frequency vibration noise from motor drives and low-frequency gyroscopic drift over extended operation runs. ## Sensor Complementary Filter Implementation ```cpp float ComplementaryFilter::update(float accelAngle, float gyroRate, float dt) { // High-pass filter for gyro + Low-pass filter for accel angle = alpha * (angle + gyroRate * dt) + (1.0f - alpha) * accelAngle; return angle; } ``` ### Signal Filtering Results - **Raw Accelerometer Jitter**: ±14.2 degrees spike under chassis motor vibration. - **Filtered Complementary Angle**: ±0.8 degrees smooth tilt output. > **Key Lesson**: Filtering noise at the sensor intake layer prevents exponential error accumulation in downstream navigation algorithms.