I am not clear on what you are trying to do.
Are you trying to detect 1400, 1500, 1660 Hz tones ? Are they
sequential as you showed in project, or independent when they
Your LPF is Bessel, so not sharp cutoff, and its cutoff is ~ 1000 Hz. So
additional confusion, why LPF ?
Can you explain in a little more depth what you are trying to accomplish.
Input signal - just a constant - it is not a sine wave.
For example 1400,1500,1600 calibrator signal value.
I switch between them slowly (1hz).
Notice the value in 1500.
I was hoping to see the output of the filter is the same value - 1500.of cutoff. I have a static error.
The problem is that for small values
If I set at the beginning of 1600 and then (in a second) in 1500, I see the output of the filter 1505
If I set at the beginning of 1400 and then (in a second) in 1500, I see the output of the filter 1495
The filter parameters are chosen so as to highlight the problem.
You are using a BiQuad which is a recursive structure subject to roundoff
There is an enourmous amount of rersearch done on this topic,
many books with statistical analysis, etc..