0

我想用 VHDL 设计 arctan 函数以用于解调器设计。我需要一个除法和 arctan 功能块。我有两个信号,假设来自 previos 块的 sin(alpha) 和 cos(alpha)。我想使用除法 [sin(alpha)/cos(alpha) = tan(alpha)] 然后使用 arctan 函数来检索 alpha。我发现使用cordic algortihm 可以做到这一点,但有点困惑。您有任何建议,文档或某事。如何在 vhdl 中使用 cordic 设计除法和 arctan?

提前致谢

4

2 回答 2

0

您只需要一个 CORDIC arctan 函数,无需除法。CORDIC arctan 采用笛卡尔坐标(X, Y)并将其转换为极坐标(r, theta)。你想要theta

您可以查看 wikipedia 以了解该算法的详细信息。您的 fpga 供应商应该已经免费提供 CORDIC IP 内核,例如,这里是 Xilinx 的

于 2015-03-31T13:37:11.343 回答
0

另一种实现是使用内存:切线是地址,角度是该地址的内容。这对于较低的位数是实用的,但显然一旦位数变高就不行了。这取决于您需要多少位分辨率。

于 2020-07-17T07:01:22.367 回答