How to measure gyro noise frequency with Blackbox

How to measure gyro noise frequency with Blackbox

Betaflight (and INAV) lowpass filter tuning can be a hard thing to do if you have not idea what is noise frequency you want to cancel. Sure, you can blind test or read tutorials. But what if I tell you, you can measure it quite precisely using only Blackbox logs? Or measure rotation speed of motors? That would be nice, isn’t it? The only requirement are few seconds of Blackbox log with visible gyro (it can be also motor output or Pterm or even ACC reading) noise.

Blackbox log explorer graph setup

Open Blackbox Explorer and display Graph setup

Select gyro trace of one of the axis. In this case it's pitch

We will need only one gyro axis and to make thing easier, let’s remove smoothing, expo and increase scaling.

Set zoom to 1000% and scroll to a section with nicely visible noise

Find trace apexes and note timestamps of each one

What we want to do, is to measure time difference between apexes. Usually 6 is enough for pretty precise result.

Blackbox gyro trace apex timestamp

Write down timestamps of a few apexes. In my case those were following values:

  • 12.273
  • 12.285
  • 12.301
  • 12.313
  • 12.325
  • 12.337.

Now, let’s compute differences between them

12.285 - 12.273 = 0.012
12.301 - 12.285 = 0.016
12.313 - 12.301 = 0.012
12.325 - 12.313 = 0.012
12.337 - 12.325 = 0.012

Out average equals 0.0128. This is a period of gyro noise. Probably induced by unbalanced propeller. To compute frequency, divide 1 by it.

1 / 0.0128 = 78Hz

To compute motors rotation speed in PRM, multiply frequency by 60.

78Hz * 60 = 4680RPM

Limitations

Range of frequencies that can be measured using this method is limited by something called “Nyquist frequency”. Long story short: we can measure only frequencies that are smaller than half of a sampling frequency. In my case, Nyquist frequency was 125Hz. Why? Because sampling frequency was 250Hz (looptime 2000 = 500Hz and blackbox_rate_denom = 2 cuts it in half, so 250Hz)


Posted

in

by

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *