arctan函数与cordic及vhdl

arctan函数与cordic及vhdl,vhdl,division,fpga,cordic,Vhdl,Division,Fpga,Cordic,我想用VHDL设计arctan函数,用于解调器的设计。我需要一个除法和arctan功能块。我有两个信号,假设来自previos的sin(alpha)和cos(alpha)阻塞。我想使用除法[sin(alpha)/cos(alpha)=tan(alpha)]然后使用arctan函数来检索alpha。我发现用cordic算法可以做到这一点,但有点困惑。你有什么建议、文件或其他东西吗?如何用vhdl语言用cordic设计division&arctan 提前感谢您只需要一个CORDIC arctan函数

我想用VHDL设计arctan函数,用于解调器的设计。我需要一个除法和arctan功能块。我有两个信号,假设来自previos的sin(alpha)和cos(alpha)阻塞。我想使用除法[sin(alpha)/cos(alpha)=tan(alpha)]然后使用arctan函数来检索alpha。我发现用cordic算法可以做到这一点,但有点困惑。你有什么建议、文件或其他东西吗?如何用vhdl语言用cordic设计division&arctan


提前感谢

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


你可以在维基百科上找到算法的细节。您的fpga供应商应该已经免费提供CORDIC IP核心,例如,在这里。

另一种实现是使用内存:切线是地址,角度是该地址的内容。这对于比特数较少的情况是可行的,但显然,比特数越高,情况就越糟。这取决于您需要多少位分辨率