Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Determining the Cut-off Frequency of a MEMS Accelerometer

  1. Feb 4, 2013 #1
    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.

  2. jcsd
  3. Feb 4, 2013 #2


    User Avatar

    Staff: Mentor

    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?
  4. Feb 4, 2013 #3
    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
  5. Feb 4, 2013 #4


    User Avatar

    Staff: Mentor

    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*?
  6. Feb 4, 2013 #5
    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,

    α = [itex]\frac{\tau Fs}{1+\tau Fs}[/itex].
    [itex]\tau[/itex] = [itex]\frac{1}{2\pi Fc}[/itex].

    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.
  7. Feb 5, 2013 #6
    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.
    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:
    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.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook