Assuming you are not talking about doing these changes in a DAW as it would immediately flip to floating.
Well exactly - A DAW doesn't use 16 bit processing. Precisely to avoid the build up of audible errors I described above.
That's the problem, if you are using integer, or fixed point maths then quantisation inevitably happens at the result of EVERY calculation with a non integer result. As soon as you have to store the result in a limited bit depth container (such as a 16 bit container if doing 16 bit math) then quantisation occurs.Also you should only quantize at the end of all those manipulations not at every step.
And the way CPU's do math is they take (Operand 1) and (Operand 2) (Say 2 16 bit values if doing 16 bit math). Apply an operator between them, and then store the result back in a 16 bit storage location. As soon as the result is stored, it must also be quantised. That will be done many many times to implement a simple single parametric filter.
Last edited: