How fast an IMU is read
What ArduPilot says:
- IMUN:…… sampling N.NkHz/N.NkHz
- IMUN: fast sampling enabled N.NkHz/N.NkHz
A start-up line for each IMU (the gyro and accelerometer chip; numbered from 0) that says how it is sampled. The two forms put their numbers the other way round. “IMU0: fast sampling 1.6kHz/3.2kHz” (ICM-42688, ICM-45686 and their family): first the rate at which samples reach ArduPilot's gyro filters, then the rate the chip itself runs at. “IMU0: fast sampling enabled 8.0kHz/1.0kHz” (the older MPU-6000 and ICM-20602 family): first the chip's own rate, then the rate that reaches the filters. “normal” in place of “fast” means the chip is read at its base rate, and “hi-res” that it sends its finer 20-bit samples. Nothing to fix.
INS_FAST_SAMPLE chooses which IMUs are read fast (one bit each; it works only for an IMU on SPI), and INS_GYRO_RATE how fast: each step doubles the rate that reaches the filters, as far as the chip allows. A higher rate lets the gyro and notch filters work at higher frequencies and costs processor time; both take effect after a reboot. The filtered rate must be at least twice the highest filter frequency you set.
Parameters to look at
| Parameter | What it is |
|---|---|
INS_FAST_SAMPLE | Fast sampling mask |
INS_GYRO_RATE | Gyro rate for IMUs with Fast Sampling enabled |
The code that sends it
IMUN:…… sampling N.NkHz/N.NkHz
libraries/AP_InertialSensor/AP_InertialSensor_Invensensev3.cpp AP_InertialSensor_Invensensev3::get_output_banner() · Open in ArduPilot Copter-4.7.1
IMUN: fast sampling enabled N.NkHz/N.NkHz
libraries/AP_InertialSensor/AP_InertialSensor_Invensense.cpp AP_InertialSensor_Invensense::get_output_banner() · Open in ArduPilot Copter-4.7.1
libraries/AP_InertialSensor/AP_InertialSensor_Invensensev2.cpp AP_InertialSensor_Invensensev2::get_output_banner() · Open in ArduPilot Copter-4.7.1