Commit Graph

27 Commits

Author SHA1 Message Date
Andrew Tridgell
fd1a260d46 Filter: added logging of notch centers and 1st harmonic
log up to 5 sources in new FCN message, or FCNS for single source
2024-03-16 06:54:27 +11:00
Andrew Tridgell
8b9fe4d21d Filter: adjust attenuation properly at low frequencies
use sqrt() adjustment from Leonard
2024-03-16 06:54:27 +11:00
Andrew Tridgell
ae75ea94eb Filter: fixed filter expansion for other than motors based RPM sources
this also fixes the uint8_t storage of a number than can be greater
than 256. Max total notches in a single HarmonicNotchFilter is
currently 12*16*3 for 12 ESCs, with INS_HNTCH_HMNCS=0xFFFF and triple
notch
2024-03-16 06:54:27 +11:00
Andrew Tridgell
304890fc7d Filter: fixed test suite
fill in a parameters structure
2024-03-16 06:54:27 +11:00
Andrew Tridgell
72d235a8a8 Filter: rework harmonic notch
do all frequenct clamping in one place in
set_center_frequency(). Allow for zero frequency to disable the
notch. Add an option to treat inactive RPM source as min frequency
2024-03-16 06:54:27 +11:00
Andrew Tridgell
0d932e8a54 Filter: fixed uint8_t bug in total filters and expand_filter_count bug
this gets the right number of notches on quadplanes, but is still very
bad in fwd flight
2023-11-28 18:05:37 +11:00
Iampete1
b68ece1007 Filter: HarmonicNotch: convert harmonics to int32 param 2023-10-10 08:07:16 +09:00
Andy Piper
500f59d839 Filter: allow freq_min_ratio to be set on harmonic notch filter
allow harmonics to be set
2023-01-24 10:56:33 +11:00
Andrew Tridgell
02c06167c1 Filter: allow for expansion of dynamic filters
this allows for the number of dynamic filters on a harmonic notch
filter to expand at runtime, which allows for ESC RPMs to be populated
from other than AP_Motors, such as with lua scripts or for fwd motors
in a SLT quadplane
2022-10-16 20:38:19 +11:00
Iampete1
338779d27d Filter: params always use set method 2022-08-03 13:43:48 +01:00
Andy Piper
dfba938e63 Filter: add triple harmonic notches 2022-07-03 18:21:41 +10:00
Andrew Tridgell
366aa7154c Filter: added FM_RAT for throttle notch frequency ratio
allow for configurable min frequency ratio for throttle based notches
2022-06-30 20:58:37 +10:00
Andrew Tridgell
9e3a29bf86 Filter: added EnableOnAllIMUs option to harmonic notch filter 2022-06-12 15:39:44 +10:00
Andy Piper
39d928aa49 Filter: add mutators for notch filter parameters 2022-05-04 17:05:51 +10:00
Andrew Tridgell
7272a29b7b Filter: added RPM2 harmonic notch type 2022-04-19 09:39:03 +10:00
Andy Piper
34920ebd60 Filter: allow harmonics and notch-per-motor in harmonic notch
allow default harmonics to be configured
allow combination of harmonics and indpendent centre frequencies
pre-calculate number of harmonics
2021-12-22 18:13:38 +11:00
Andy Piper
21d24ebc9d Filter: add harmonic notch option to run at loop rate 2021-05-19 17:35:16 +10:00
Andy Piper
a93821110e Filter: return active harmonics based on dynamic harmonic enablement 2020-07-14 09:50:06 +10:00
Andy Piper
71f99542a8 Filter: allow harmonic notch center frequencies to be updated individually 2020-06-21 19:09:35 +10:00
Andy Piper
1dbde3af09 Filter: add support for double harmonic notches to more effectively target wider noise peaks 2020-04-28 09:32:02 +10:00
Andy Piper
4c1816a983 Copter: port betaflight in-flight fft analysis to arducopter and expose as a log message
add harmonic notch tracking mode
call AP_GyroFFT::update_freq_hover() from update_throttle_hover()
move gyrofft configuration and control to AP_Vehicle
move fft logging to fft library
2020-02-22 11:15:37 +11:00
Andy Piper
6f5b991f28 Filter: add harmonic notch dynamic tracking mode
move definition of HNF_MAX_HARMONICS
2020-02-22 11:15:37 +11:00
Andrew Tridgell
f6c3c73037 Filter: switch harmomic notch mode to enum class 2019-11-19 07:08:01 +08:00
Andy Piper
22111f59e8 Filter: add harmonic notch dynamic tracking mode
update harmonic notch REF docs
2019-10-31 11:18:40 +08:00
Andy Piper
9b9fb0d593 Filter: sanity check the harmonic notch sample rate on initialization. do not allow harmonics to go above the nyquist frequency 2019-09-11 18:41:05 +10:00
Andy Piper
334ebadd5a Filter: add comments and address review comments for harmonic notch 2019-09-11 18:41:05 +10:00
Andy Piper
366bc06089 Filter: New HarmonicNotchFilter
This delegates updates to a bank of NotchFilters located at an rpm frequency and harmonics. Center frequency can be updated dynamically. Notch parameters are configurable, including the number of harmonics to filter on. Updates to the filter parameters are optimized across the notch bank. Convert notch bandwidth and frequency to floats.

allow all filter harmonics to be controlled.

add destructor to harmonic notch.

don't allocate sub-filters for harmonic notch if no harmonics set.
2019-09-11 18:41:05 +10:00