I don't understand what '14 bit added precision' mean. Suppose the
output of FIR, x[i], is in ac***ulator, in 1.31 format, you could
Equation: y[i] = b[0]x[i] + b[1]y[i-1] + b[2]y[i-2]
Format : b[1,2] -> Q3.13, y[i] -> Q1.15, x[i] -> Q1.31
1) on b[0]x[i], ****ft x[i] to Q3.28, store them outside ac***ulator
2) calculate b[1]y[i-1] + b[2]y[i-2], results are in ac***ulator
3) calculate y[i] in ac***ulator by loading 1) output, perform double
precision addition
4) ****ft y[i] to Q1.15 and be prepared for next iteration.
You could improve accuracy by putting more calculation in ac***ulator.
Liu


|