I’m trying to use FFT analysis to look at vibration. It doesn’t work for me - and I think it’s my LOG_BITMASK setting and hardware.
From a hardware standpoint - I have a Pixhawk 2.1 with a stock memory card (SanDisk EDGE 8GB MicroSD(HC) Class 4)
I’m going to upgrade that to a 32GB or 64GB SanDisk Ultra. And set LOG_FILE_BUFFSIZE to 64
I’m not as sure about the LOG_BITMASK setting.
Current setting is 176126 - which is "ALL+FastATT & “NearlyALL” Enabled)
I’m trying to use FFT analysis to look at vibration. It doesn’t work for me
and I think it’s my LOG_BITMASK setting and hardware.
There’s a couple of ways to do FFT analysis.
From a hardware standpoint - I have a Pixhawk 2.1 with a stock memory
card (SanDisk EDGE 8GB MicroSD(HC) Class 4)
I'm going to upgrade that to a 32GB or 64GB SanDisk Ultra. And set
LOG_FILE_BUFFSIZE to 64
That will probably be good. 64GB won’t work, 'though - wrong tech.
I'm not as sure about the LOG_BITMASK setting.
Current setting is 176126 - which is "ALL+FastATT & “NearlyALL” Enabled)
You need “fastimu” to get the GYR and ACC messages at a useable FFT-able
rate.
Is 655369 what I need for FFT? Or can I back off to a less aggressive
setting?
A relatively new feature is “IMU batch sampling”. This cycles between all
your sensors and adds data suitable for FFT to your log. Memory footprint
is low so you don’t need to fiddle memory parameters.
I’ve install the 3.6 dev and trying the same, without success atm. @dkemxr@peterbarker
I have only 1 IMU, the primary in my copter.
Could you explain what exact value need to be set for:
INS_LOG_BAT_CNT
INS_LOG_BAT_MASK
Setting correctly the above params the LOG_BITMASK need still to be set to FastIMU or FullIMU? (btw before using the 3.6 dev FastIMU never works, only fullIMU let me plot FFT in MP)
Others parameters involved?
…for example I still don’t understand if I need to set INS_FAST_SAMPLE 1.
I’ve install the 3.6 dev and trying the same, without success atm. @dkemxr@peterbarker
I have only 1 IMU, the primary in my copter.
Really? That’s not common…
Could you explain what exact value need to be set for:
INS_LOG_BAT_CNT
INS_LOG_BAT_MASK
INS_LOG_BAT_CNT is just the number of samples taken. Must be at least
twice the frequency you’re interested in.
INS_LOG_BAT_MASK is the mask of the IMUs to be logged into the match.
With only one IMU a value of “1” will be OK.
Setting correctly the above params the LOG_BITMASK need still to be set to
FastIMU or FullIMU? (btw before using the 3.6 dev FastIMU never works, only
fullIMU let me plot FFT in MP)
No other parameters need be set for the batch IMU logging.
The concept with the batch IMU logging is that once we have confidence in
it we can have it on all the time. As opposed to the traditional “fast
logging”, which tends to completely flood SD cards all the time - meaning
using it can be a bit of a pain.
Others parameters involved?
…for example I still don’t understand if I need to set INS_FAST_SAMPLE 1.
Not for batch sampling.
Note you can also use the mavfft_isb.py to examine logs which have IMU
batch logging enabled.
I try to use the BatchSampler functionality, reading the current wiki page about it.
The parameters to set (INS_LOG_BAT_…) do not exist. I assume they have been renamed or replaced. What are they ?
I have been using FFT in Missionplanner for a while already - I typically access it from the “hidden ctrl-f” menu". Hit ctrl-f, in the window that opens find “fft” and voila… works for me with 1.3.56 pretty reliably.