Determining the Cut-off Frequency of a MEMS Accelerometer

Click For Summary
SUMMARY

The discussion focuses on designing a low-pass filter (LPF) for the Invensense MPU-6050 MEMS accelerometer to mitigate noise in signal readings. The user seeks to determine the cut-off frequency (Fc) for the LPF, which is essential for filtering out high-frequency noise sources such as thermal, electrical, and mechanical vibrations. The proposed filter design is a first-order, single-pole infinite impulse response (IIR) filter, with the equation y(n) = α.y(n-1) + (1-α).x(n). The determination of the filter coefficient α relies on the relationship α = τFs/(1+τFs), where τ = 1/(2πFc).

PREREQUISITES
  • Understanding of digital signal processing concepts, particularly low-pass filters.
  • Familiarity with the Invensense MPU-6050 accelerometer and its datasheet.
  • Knowledge of Fourier analysis and its application in signal processing.
  • Experience with programming microcontrollers for sensor data acquisition.
NEXT STEPS
  • Research the design and implementation of digital low-pass filters (LPF).
  • Learn about the Nyquist sampling theorem and its implications for sensor data.
  • Explore Fourier analysis techniques for analyzing digital signals.
  • Investigate practical applications and examples of filtering techniques in microcontroller projects.
USEFUL FOR

This discussion is beneficial for electronics engineers, embedded systems developers, and students working on projects involving MEMS accelerometers and digital signal processing.

rahlk
Messages
4
Reaction score
0
Greetings Forum,
I just bought an Invensense MPU-6050, I need to design an LPF to filter the noise. How do I analyse the signal and how do I determine the frequency beyond which the signal is altered by noise.
Thanks in advance for your help.

Cheers
 
Engineering news on Phys.org
rahlk said:
Greetings Forum,
I just bought an Invensense MPU-6050, I need to design an LPF to filter the noise. How do I analyse the signal and how do I determine the frequency beyond which the signal is altered by noise.
Thanks in advance for your help.

Cheers

Can you post a link to the datasheet? Are there any application notes at the manufacturer's website? What are you going to be connecting this accelerometer to?
 
rahlk said:
I will be using it to estimate the tilt angle. I am going to interface it to a microcontroller. In fact, I need to submit a term paper on this, so I'll have to describe my filter quite clearly.
The Datasheet - http://www.cdiweb.com/datasheets/invensense/PS-MPU-6000A.pdf

Since this is for a school project, you will need to describe the filter quite clearly to *us*! We don't do your schoolwork projects for you here. We can offer some hints and tutorial help, but you must do the bulk of the work on your schoolwork projects.

So tell us what you see in the datasheet. Are there any app notes? What kind of noise do you expect in your data acquisition setup? What order and polynomial do you think you will want to use in your project, and *why*?
 
Well, accelerometer is subject to several sources of high frequency noise, including thermal, electrical and mechanical vibrations. I thought of developing a simple first order, single-pole infinite impulse response LPF, given by,

y(n) = α.y(n-1) + (1-α).x(n), where,

x(n) = current accelerometer reading,
y(n) = current estimate; y(n-1) = previous estimate.

My issue is with determination of alpha. If sampling frequency is Fs then,

α = \frac{\tau Fs}{1+\tau Fs}.
and,
\tau = \frac{1}{2\pi Fc}.

Once I determine Fc, I can justify my choice of α. Now, If the device were analog in nature, I could have designed an RC LPF, got the state equations, taken a laplace transform and applied Bilinear Z Transform to get the digital equivalent. But this device gives acceleration in digital format, a 16 bit number.
I need to be able to somehow use Fourier analysis or some such technique to work on this digital data directly. I would be delighted to get some help on clarifying this conundrum.
 
rahlk said:
Once I determine Fc, I can justify my choice of α. Now, If the device were analog in nature, I could have designed an RC LPF, got the state equations, taken a laplace transform and applied Bilinear Z Transform to get the digital equivalent. But this device gives acceleration in digital format, a 16 bit number.

Why would that be a problem? You've gone through the process of designing a digital LPF, starting with an analogue prototype. If you were applying your filter to an analogue signal you would have to digitise the signal then filter it. But here the signal has already been digitised for you so you just need to read the signal out of the MEMS sensor (remembering to keep up with the Nyquist sampling rate requirements) then run it through your digital LPF implementation.
I need to be able to somehow use Fourier analysis or some such technique to work on this digital data directly.
What makes you think you need the complexity of using Fourier analysis? It might be worth trying out a simpler digital LPF first and moving up to more complex designs later if you find the filtering isn't adequate.

From your initial post:
I need to design an LPF to filter the noise. How do I analyse the signal and how do I determine the frequency beyond which the signal is altered by noise.
Try considering what maximum frequency you need for your accelerometer signal to make your application work. You can then choose a LPF to filter off noise above this frequency. If you find it hard to get good estimates for your filter requirements it could be worthwhile building a rough prototype and experimenting with it to see how your estimates work in practice.
 

Similar threads

Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
13K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
Replies
11
Views
4K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
Replies
17
Views
5K
Replies
3
Views
2K