Commit Graph

180 Commits

Author SHA1 Message Date
Iampete1 338779d27d Filter: params always use set method 2022-08-03 13:43:48 +01:00
Andrew Tridgell 0103776d83 Filter: fixed test_notchfilter for the change in allocate_filters()
changed for triple notch
2022-07-10 06:57:29 +10:00
Andy Piper dfba938e63 Filter: add triple harmonic notches 2022-07-03 18:21:41 +10:00
Andrew Tridgell eefc41fe30 Filter: added a way to plot attenuation and phase lag for complex filters 2022-06-30 20:58:37 +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 7928fa6e69 Filter: added a NotchFilter test suite 2022-06-12 15:39:44 +10:00
Andrew Tridgell 7c782dda88 Filter: fixed ordering of samples in notch reset 2022-06-12 15:39:44 +10:00
Andrew Tridgell d07761cfd9 Filter: fixed reset of notch filters
when we reset a notch we need to init the stored values to the current
value, rather than assuming that zero is the right value

this matters when switching IMUs in flight when we are only running
notch filters on the active gyro
2022-06-12 15:39:44 +10:00
Andrew Tridgell 9e3a29bf86 Filter: added EnableOnAllIMUs option to harmonic notch filter 2022-06-12 15:39:44 +10:00
Dr.-Ing. Amilcar do Carmo Lucas d3eae308da Filter: NFC spell corrections in comments 2022-06-11 08:43:03 +09:00
Andy Piper 39d928aa49 Filter: add mutators for notch filter parameters 2022-05-04 17:05:51 +10:00
Peter Barker c3cd733f26 Filter: tidy includes 2022-05-03 09:14:58 +10:00
Andrew Tridgell d7d04bc7cf Filter: removed parameters from the old notch filter
saves some flash space
2022-04-19 09:39:03 +10:00
Andrew Tridgell 1cd1519a4f Filter: clarify meaning of 1st harmonic 2022-04-19 09:39:03 +10:00
Andrew Tridgell 7272a29b7b Filter: added RPM2 harmonic notch type 2022-04-19 09:39:03 +10:00
Iampete1 1521760a17 Filters: HarmonicNotch: remove statment on max number of notches harmonics from parm descripstion 2022-03-25 07:14:06 +11:00
Peter Barker 666c36a57f Filter: add trivial test for ModeFilter get method (float version) 2022-02-19 11:16:40 +11:00
Peter Barker f6a1df472a Filter: add trivial test that ModeFilter's get method works
.... previously only checking return value of apply
2022-02-18 17:55:04 +11:00
Peter Barker 0a8cccd79a Filter: add test for AverageIntegralFilter 2022-02-18 12:11:46 +11:00
Andy Piper fbdeea2d03 Filter: optimize hot parts of notch filter updates 2021-12-22 18:23:33 +11: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 00da3520bc Filter: set output slew rate to zero when max is zero. 2021-11-11 08:13:23 +09:00
Pierre Kancir 60155a7fec Filter: add more unittests 2021-08-30 09:51:25 +10:00
Pierre Kancir fd38be843a Filter: finish modefilter test 2021-08-30 09:51:25 +10:00
Michelle Rossouw 3379a1a215 Filter: Add Vector2f option to notch filter 2021-07-06 14:56:02 +10:00
Andrew Tridgell cd1f5ca494 Filter: use CLASS_NO_COPY 2021-06-08 11:14:52 +10:00
Andy Piper 21d24ebc9d Filter: add harmonic notch option to run at loop rate 2021-05-19 17:35:16 +10:00
Paul Riseborough b969a43074 Filter: Slewlimiter use different filtering for external reporting 2021-04-15 06:57:16 +10:00
Paul Riseborough dd446433f7 Filter: Adjust SlewLimiter tuning 2021-04-15 06:57:16 +10:00
Paul Riseborough 6e6df3df58 Filter: Increase gain modifier action 2021-04-15 06:57:16 +10:00
Paul Riseborough 458c46353d Filter: remove unnecessary fmaxf 2021-04-15 06:57:16 +10:00
Paul Riseborough cb4a770d38 Filter: Reduce spikes in oscillation slew rate metric 2021-04-15 06:57:16 +10:00
Paul Riseborough fdfdb118b9 Filter: Improve SlewLimiter oscillation detection 2021-04-15 06:57:16 +10:00
Paul Riseborough 4622e33255 Filter: Use positive and negative direction changes for slew limiting 2021-04-15 06:57:16 +10:00
Andrew Tridgell 59a805a740 Filter: expose slew rate in slew limiter 2021-04-15 06:57:16 +10:00
Andrew Tridgell 6cae97446a Filter: added auto-init to LowPassFilter
make sure initial filter returns are not a long way off if filtered
input is far from zero
2021-04-15 06:57:16 +10:00
Andrew Tridgell 5ef31a1801 Filter: moved ModeFilter to C++
save flash space for common code
2021-04-15 06:57:16 +10:00
Andrew Tridgell 6144136b61 Filter: fixed reset of filters to first value
the delay elements were set incorrectly
2021-02-05 15:01:22 +11:00
Peter Barker f847758272 Filter: add gtest suite 2021-02-04 20:50:48 +11:00
Andrew Tridgell cf47c19c0d Filter: fixed low pass 2p filter to auto-init
this prevents the init to zero for temperature filters
2021-01-21 13:09:21 +11:00
Andrew Tridgell 4495414d05 Filter: added reset with value to LowPassFilter2p 2021-01-21 13:09:21 +11:00
Andy Piper c291107f50 Filter: correct grammar on HNTCH docs 2020-11-24 10:17:16 +09:00
Andy Piper 726307cb31 Filter: correct harmonic notch docs and provide better defaults. 2020-11-24 10:17:16 +09:00
Andrew Tridgell b0f0c8d842 Filter: use calc_lowpass_alpha_dt() 2020-11-10 16:15:45 +11:00
Andrew Tridgell 709e1f8f93 Filter: added slew rate filter 2020-10-25 10:32:48 +11: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
Andrew Tridgell bd07e8516f Filter: use GCS_SEND_TEXT() 2020-04-29 07:36:55 +10:00
Andy Piper 8407648316 Filter: make sure the center frequency can never be zero 2020-04-28 09:32:02 +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