Phase Delay is the ultimate barrier when looking at filtering for quads. It has always been a major issue when i've worked on testing betaflight filtering with devs in the past. This is the same reason why FIR filtering isn't usable as well. 7-8 ms is the barrier where you start to get oscillations but the key factor is that phase delay from filtering actually reduces your margin of error for pid tuning. The tighter the phase delay the larger of margin you get for pids for ease of tuning and also flight feel.
@@FPVUniversity Actually I explained to you I developed my own hardware/software (f411) and works pretty Nice, currently working on H750VBT6. Will share project soon if you are interested?
To sum it up if some one stands a podium and gives a speech supper fast, you listened very hard but missed to much words. So slower is better anyways! ..?
What about compensating that constant delay with Smith Predictor ? This aproach would need process model being known a priori but you can use spare time of microprocessor to run some kind of system identification to estimate that model and keep it not diverging from reality.
That's too much of a delay. INAV already has Smith Predictor. Based on my experiments it's good up to 2-3ms. Above that error is too great and does not help at all
Amazing experiment. How about getting the FFT using radix 2 method? Don't know if it was already used or not.. Also, with such a filter, I think 1khz loop will be sufficient, instead of a 4k loop. This will further reduce the length of samples and fasten up the process.
I modify the arduino FFT library to use with a STM32F401 at 84 Mhz and I get this times: ================================== FFT ticks(in mSec) ================================== 8 1 16 2 64 5 128 10 256 22 512 46 1024 98 , with out using CMSIS library