I tried to create an IP for a second order low pass filter. However the coefficients of the filter designed is loosing accuracy when i convert the floating values to fixed point arithemetic.
I am confused whether i am doing it right?
For example,if one of the coefficient value is 0.001567947 and i multiply it with 65536 to convert it into decimal and use as the fixed point coefficient.However converting like this is not helping to keep the accuracy.
Is there any better method to do it?
Any help will be appreciable.
I recommend getting the fixed point tool box from Matlab to first analyze the filter response and characteristics with the quantized filter coefficients. You can choose your fractional bits and integer bits allocation in that tool and they make it fairly straightforward. That may help in case your chosen 16 fraction bits are not sufficient for your design.
Thanks pkat for the guidance.
To ensure we are on the same page, just would like to check with you which specific IP that you are currently using?
Please let me know if there is any concern. Thank you.