Kushagra Madan
Kushagra Madan

Reputation: 11

Remove noise from magnetometer data

I want to use data from a magnetometer to gain information about the motion of a metal object near it. After recording the data, I need to remove noise from the data before using it. What is a good method to remove noise? I read about filters in Matlab here but cannot decide which one to use. How can I decide which filter to use?

Edit: The metal object moves at a steady rate and I want to find out the angle of its motion. I am adding a graph from my sample data which I want to filter. Sample Magnetometer data

Upvotes: 0

Views: 661

Answers (1)

I guess you're able to record the noise. And if you can do it, yo can also use some adaptive filtering.

From MathWorks' Overview of Adaptive Filters and Applications:

Block Diagram That Defines the Inputs and Output of a Generic RLS Adaptive Filter enter image description here

You can use recorded noise as desired signal and your error signal should be around 0 without any motion near it, and should have some filtered value when the motion appears.

You can find an example of adaptive filtering on the MathWorks website:

Consider a pilot in an airplane. When the pilot speaks into a microphone, the engine noise in the cockpit combines with the voice signal. This additional noise makes the resultant signal heard by passengers of low quality. The goal is to obtain a signal that contains the pilot's voice, but not the engine noise. You can cancel the noise with an adaptive filter if you obtain a sample of the engine noise and apply it as the input to the adaptive filter.

enter image description here

Read more about adaptive filtering:

Upvotes: 1

Related Questions