ArduPilot / ArduPilot/MissionPlanner

Incorrect FFT frequencies

Open
#2,069 5 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
C#
Stars
2.4k
Forks
2.9k
Avg merge
19h 16m
Merged PRs (30d)
4

Description

The FFT option in MissionPlanner is producing incorrect frequencies from the ISBD and ISBH data. I've put a log here that has exact frequency noise in it:
http://uav.tridgell.net/FFT/fft-x100-y150-z200.bin
in that log the X axis (both accel and gyro) has 100Hz vibration, the Y axis has 150Hz vibration and the Z axis has 200Hz vibration. With MAVExplorer I get this:
![image](https://user-images.githubusercontent.com/831867/50760814-dea4ba80-12bc-11e9-94f4-ab74cbeffe18.png)
In MissionPlanner I get quite different frequencies.
See this PR for the way to generate the exact vibration freq logs:
https://github.com/ArduPilot/ardupilot/pull/10189
Note that SITL quite deliberately sets the sample rates of the two IMUs differently, to better emulate a Pixhawk1. The rates are:

- accel0: 1000Hz
- accel1: 800Hz
- gyro0: 1000Hz
- gyro1: 760Hz

These rates are reflected in the smp_rate numbers in ISBH messages.
I've seen the same affect of bad frequencies in FFT in MP on real aircraft logs as well.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with MissionPlanner's FFT option and trace how ISBD and ISBH log data are converted into frequencies. Compare the result for fft-x100-y150-z200.bin with MAVExplorer, accounting for the differing smp_rate values listed in the issue; done means the X, Y, and Z peaks match 100, 150, and 200 Hz for both accelerometer and gyro data.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
data, desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.