Forum Discussion
Altera_Forum
Honored Contributor
15 years agoI regret I don't know about specifics of Altera FIR compiler. I referred to general concepts of filtering.
I always think of signed representation for a filter's input/output and don't really understand what unsigned means or is it converted to signed invisibley. The rule for fixed point (incidentally it is sort of integer) is that what you mentioned: DC output = 4095*h0 + 4095*h1 + ...etc = 4095(ho+h1+...etc). hence if sum of coeffs = 4096 then your output = 4095*4096 then divide back by 4096(truncate 12 bits) and your output becomes 4095. The only exceptions are those input patterns that = DC level but with pattern that negates the sign of some coeffs resulting in a sum larger than actual sum of signed coeffs ! I think the best thing is to try and see how FIR implements the output scaling through simulation.