我已经看到了许多实现方法,但是我有一个我不确定的新想法。所以我需要一个意见。
这个想法是,与其在表中查找arctan(gy/gx)
,不如在一个表中查找1/gx
,然后将结果与gy
相乘。然后查找arctan
。这样做的原因是降低硬件成本,因为除法比乘法更昂贵。但是限制是我可以有一个maximum of 10 address bits
。而乘法将为我提供gx
中位数的两倍。 gx
本身是8位。如果我将gy*(1/gx)
右移6位以获得10位地址,
错误程度是多少?
最佳答案
请注意,您只需要考虑gy > gx
为arctan(gy/gx)=90-arctan(gx/gy)
的情况(假设我们以正坐标表示度数)。这可以减少您的除法错误。