我想用VHDL设计arctan函数用于解调器设计。我需要一个师和arctan功能块。我有两个信号,假设来自previos块的sin(alpha)和cos(alpha)。我想使用除法[sin(alpha)/ cos(alpha)= tan(alpha)]然后使用arctan函数来检索alpha。我发现用cordic algortihm可以做到这一点,但有点困惑。你有任何推荐,文档或某事吗?如何设计师和arctan与vhdl有关?
提前致谢
答案 0 :(得分:0)
你需要的只是一个CORDIC arctan函数,不需要除法。 CORDIC arctan采用笛卡尔坐标(X, Y)
并将其转换为极坐标(r, theta)
。你想要 theta 。
您可以查看维基百科,了解该算法的详细信息。您的fpga供应商应该已经免费提供CORDIC IP内核,例如the one for Xilinx。
答案 1 :(得分:0)
另一种实现方式是使用内存:切线是地址,角度是该地址的内容。这对于较低的位数将是可行的,但显然一旦位数增加就不可行。这取决于您需要多少位分辨率。