图像处理ASIC设计方法 笔记11 像素误差与字长优化-LMLPHP

P108
P105 定点误差分析与字长优化

1 像素误差是什么原因导致的?

在本书所说的算法中,像素误差是由几次定点运算累加导致的:

首先由行(列)号与定点正弦/正切值计算出该行(列)的小数平移量,然后将这些小数平移量截取一定字长用来计算插值核,再将这些插值核也截取一定字长后与定点像素完成插值计算,得出每步平移后的像素值。

为了合理得出每步运算的字长,本书采用了由后向前的推理策略,依据最终要求的旋转像素精度,依次推测出插值核、小数平移量、正弦/正切等参数的合理字长。

2 如何得出每步运算的字长

以三个定点计算模块为例:整数小数平移量计算单元、插值核计算单元、插值运算单元

(1)整数小数平移量计算单元

这部分的算法,每行的平移量的公式中涉及浮点减法,为避免a,/2量化带来的误差,在结构中将其扩大两倍,即所有中间变量的量化宽度都将增加1位,最终模块输出再右移1位,恢复原位宽(也就是计算过程中多加一位,等最终结果计算完,再减一位)

(2)插值核计算单元

插值核计算中为避免小数量化带来的误差,在结构中将其扩大两倍,故所有中间变量的量化宽度都将增加1位,最终模块输出再右移1位&#

03-20 10:04