Using MATLAB to Filter Gyroscope Data
6 views (last 30 days)
Show older comments
I'm working on a project that involves collecting gyroscope data and plotting the angular position using that data. As with most any gyroscope, I'm seeing a fair amount of noise and drift in my collected data. At rest, the values stay decently close to their original offset value, however, once I integrate the angular velocity to get angular position, the drift shows up clearly. A screenshot of this is below:
I've been doing some research on different types of filters, but haven't had much luck implementing one. From what I've seen, MATLAB has some built-in filter functions that I may be able to implement into my code, but I've never used any before and don't really know where to start with those.
Can someone give me some pointers on how to implement a simple filter to clean up my data?
Links to the gyro I'm using and its datasheet are below:
0 Comments
Answers (1)
James Tursa
on 24 Jun 2016
Sounds like you need to calibrate. I would recommend looking into "gyro calibration" online to get an idea of how to calibrate gyro bias and drift. E.g., sitting at rest on a known position on the surface of the earth you can map earth rotation rate into the gyro instrument coordinate system to get the expected measurements. You can then compare that with actual measurements to get the residual errors. The gyro calibration techniques you find online should help to get you going on algorithms to use to filter these errors and resolve the gyro bias and drift errors.
0 Comments
See Also
Categories
Find more on Instrument Control Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!