Commit Graph

44 Commits

Author SHA1 Message Date
Andrew Tridgell
9726e8e218 Filter: only update notch on init if fixed 2024-09-09 09:29:32 +10:00
Andy Piper
a8575e0646 Filter: ensure harmonic notch filters are always working 2024-09-09 09:29:32 +10:00
Henry Wurzburg
76abc6850f Filter: add "source" to option 5 2024-07-24 17:20:30 +10:00
Andrew Tridgell
5859250651 Filter: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Iampete1
8f2b2cfe31 Filter: HarmonicNotchFilter: convert harmonics as a bitmask 2024-04-17 22:15:22 +01:00
Henry Wurzburg
b69b2324e6 Filter:correct vehicles which can use throttle based notches 2024-04-08 23:11:03 +01:00
Andrew Tridgell
148c176a59 Filter: use a define for nyquist cutoff 2024-03-16 06:54:27 +11:00
Andrew Tridgell
90c8359ff6 Filter: log up to 6 harmonics 2024-03-16 06:54:27 +11:00
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
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
Andrew Tridgell
002f1076d7 Filter: added optional notch debug logging
this has helped find multiple bugs
2023-11-28 18:05:37 +11:00
Andy Piper
a61fc423f0 Filter: allow zero centre frequency to passthrough and disable notch 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
Peter Barker
ae349b6d40 Filter: correct description of filter tracking mode 2023-05-17 12:24:01 +10:00
Iampete1
8bd374d835 Filter: HarmonicNotch: update FREQ description 2023-03-15 18:53:55 +11:00
Andy Piper
1e003871b0 Filter: save freq_min_ratio when saving parameters 2023-01-31 10:58:12 +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
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
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
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
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
21d24ebc9d Filter: add harmonic notch option to run at loop rate 2021-05-19 17:35:16 +10: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
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
Andy Piper
6f5b991f28 Filter: add harmonic notch dynamic tracking mode
move definition of HNF_MAX_HARMONICS
2020-02-22 11:15:37 +11: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
ef7f8531fb Filter: set the harmonic notch filter ref default to zero (disabled)
Modify parameter descriptions for tradheli
2019-10-10 20:26:02 +09: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
bc5916ebc9 Filter: comment on reserved config. cope with notch allocation failure. 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