Cordic v6.0 - 当旋转角度为零时,为什么输入向量不等于输出向量?

描述

当选择旋转功能时,如果PHASE_IN(s_axis_phase_tdata)为零(旋转角度为零),我希望输入向量(s_axis_cartesian_tdata)应该等于输出向量(m_axis_dout_tdata)。

然而,它们在仿真中并不相同。

为什么会这样?

这是预期的行为。 CORDIC算法有一些缩放和一些固有的错误。

每次旋转不是由单位矢量决定的,因此根据精度(设定旋转次数),输出幅度将增长一定的因子。

核心上有一个参数(补偿缩放),用于补偿此缩放并恢复原始幅度。

此外,CORDIC不是1/2 ULP(最低精度单位)算法或甚至是1 ULP算法。

有关详细信息,请参阅“产品指南”中有关错误/准确度/精度的部分。

https://www.xilinx.com/cgi-bin/docs/ipdoc?c=cordic;v=latest;d=pg105-cordic.pdf

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-30 21:49:45 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它