我想用VHDL设计arctan函数,以便在解调器设计中使用。我需要一个除法和arctan函数块。我有两个信号,假设来自前一个块的sin(alpha)和cos(alpha)。我想使用除法sin( alpha )/cos(alpha) = tan(alpha),然后使用arctan函数来检索alpha。我发现使用cordic算法可以做到这一点,但有一点困惑。你有什么建议,文档或其他东西吗?如何在vhdl中用cordic设计除法和arctan?
提前感谢
发布于 2015-03-31 21:37:11
你所需要的只是一个CORDIC弧形函数,不需要除法。CORDIC arctan采用笛卡尔坐标(X, Y)并将其转换为极坐标(r, theta)。你想要theta。
你可以在维基百科上查看算法的详细信息。你的现场可编程门阵列供应商应该已经免费提供了CORDIC IP核,例如,这里是the one for Xilinx。
发布于 2020-07-17 15:01:22
另一种实现方式是使用存储器:正切是地址,角度是该地址上的内容。这对于较少的比特数是实用的,但很明显,一旦比特数增加,就不是这样了。这取决于你需要多少位的分辨率。
https://stackoverflow.com/questions/29331863
复制相似问题