Go Down

Topic: Gyro - what exactly is bandwith? (Read 293 times) previous topic - next topic

MarkGoingToSpace

Hey guys!

A quick question: I am currently working with the L3GD20 gyo (https://cdn-shop.adafruit.com/datasheets/L3GD20.pdf) and in the documentation it says that I can set both output data rate and the bandwith (page 31) in CTRL_REG1.

output data rate is pretty clear: how many times a second it spits out data or at least is ready to do so.
But bandwith? I mean the bandwith of the i2c connection is fixed isn't is? I mean it is dictated by the clock signal which comes from the arduino itself.

Can someone please explain me what bandwith means in this case?

Thank you for your help in advance and happy 2017 everybody (=

MarkGoingToSpace


jremington

#2
Jan 04, 2017, 08:43 pm Last Edit: Jan 04, 2017, 08:46 pm by jremington
The output data of the gyroscope are filtered by a low pass filter. The BW selection allows you to change the cutoff frequency of this filter, in effect setting how quickly the gyro responds to orientation changes.

The filter cutoff frequency MUST be less than about half the output data rate, and you may wish it to be lower than that. Google "Nyquist frequency" or "sampling theorem" for more information.

charliesixpack

#3
Jan 04, 2017, 09:56 pm Last Edit: Jan 04, 2017, 10:01 pm by charliesixpack
The bandwidth setting affects the digital filtering of the output stream and therefor has nothing to do with the low pass analog filtering that occurs before the ADC.  No need to consider Nyquist rate.  The bandwidth also has nothing to do with the I2C communication.

I have taken snapshots of gyro output streams with two different bandwidth settings, same sampling rate.  See if you can tell which has the lower cutoff.




MarkGoingToSpace

Thank you two for your answers!

But I am afraid I can't wrap my head around this yet.
Does this mean that the gyro won't send me information if the rotation happens very slowly? In the assumption that the reading is due to noise and not actual movement?

What unit has the bandwith? hz?

charliesixpack

All the bandwidth setting does is simply smooth out the signal a little.  It removes high frequency noise.  Don't worry about it.  Normally whatever you are controlling with the sensor will not pass the high frequency noise so there is no need to tweak the bandwidth to limit the noise.

MarkT

The band in bandwidth is a frequency band, which can just be from DC upwards, or could be a
range with a minimum and a maximum (for a band-pass filter).

Bandwidth is measured in Hz, and normally we talk of the noise-equivalent bandwidth (slightly more technical)
or the -3dB cutoff bandwidth (3dB actually meaning 50% power)

Its worth knowing a bit about Nyquists theorem to realise why bandwidth is very important sometimes:
https://en.wikipedia.org/wiki/Nyquist%E2%80%93Shannon_sampling_theorem
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy