Commit Graph

192 Commits

Author SHA1 Message Date
Randy Mackay e81a18c83b Filter: add SlewCalculator2D 2023-08-01 16:51:27 +09:00
Randy Mackay e2f0cf9c77 Filter: SlewLimiter definitions moved to cpp 2023-08-01 16:51:27 +09:00
Iampete1 d00d5e09aa Filter: SlewLimiter: always caculate slew limit 2023-06-08 10:05:36 +09:00
Iampete1 8bd374d835 Filter: HarmonicNotch: update FREQ description 2023-03-15 18:53:55 +11:00
Randy Mackay e4d60347fb Filter: implement 3 element mode filter 2023-03-01 18:22:22 +11:00
Andy Piper 1e003871b0 Filter: save freq_min_ratio when saving parameters 2023-01-31 10:58:12 +11: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
Leonard Hall f0822e5121 Filter: Support changing update period 2022-12-13 17:10:06 +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
Andy Piper 1fe7fb8f35 Filter: optimize notch filter frequency updates when the requested frequency has not changed 2022-09-22 11:48:28 +10:00
Andy Piper b8f01323ec Filter: constrain harmonic notch center frequency changes to be within a slew limit
raise notch filter slew for smaller aircraft
ensure NotchFilter init() resets the center frequency
2022-09-21 17:41:38 +10:00
Andrew Tridgell 4ed55d9e21 Filter: fixed out of bound access in ModeFilter 2022-09-06 10:49:50 +10:00
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