在 Simulink 中配置 CORDIC ATAN 模块
我在 Simulink 中使用 CORDIC ATAN 块。我正在使用这个块来计算相位差。
这是我正在使用的模型的一部分:
我将输入 a 和 b 指定为 0,并且我期望得到 Phase_Signal 的值
也为零。
但显然并非如此。我得到的 Phase_Signal
为 1.7277。
如果我没有正确配置 CORDIC 块,请告诉我。
ATAN 块参数:
谢谢
Kiran
I am using the CORDIC ATAN block in Simulink. I am using this block to calculate the Phase difference.
here is the part of the model that I am using:
I am giving the input a and b as 0, and I was expecting the value of Phase_Signal
to be zero as well.
But apparently its not. I am getting Phase_Signal
as 1.7277.
Please let me know, if I have configured the CORDIC block not properly.
ATAN Block Parameters:
Thanks
Kiran
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你的期望是错误的。点(0,0)没有唯一的相位。每个值都是正确的。
为了帮助您理解,请想象一个具有从欧几里德表示 (a,b) 转换为极坐标 (r, phi) 的坐标的点。对于除 (0,0) 之外的每个点,您都会为 a 和 b 获得唯一的 r 和 phi。但对于 (0,0),只有 r 唯一标识为 r = 0。但角度可以是每个可能的值。
因此,对于输入 (0,0),您可以获得任何相位 - 甚至不总是相同,但一次为 0,一次为 1.7,一次为 0.5,或者其他什么(但赛灵思 coregen cordic 内核是确定性且无状态的,因此结果应该使用它们时始终相同)。
Your expectation is just wrong. The point (0,0) has no unique phase. Every value is right.
To help your understanding, visualize a point that has coordinates which you transform from euclidic representation (a,b) into polar coordinates (r, phi). For every point EXCEPT (0,0) you get a unique r and phi for your a and b. But for (0,0) only r is uniquely identified with r = 0. But the angle could be every possible value.
So for the input (0,0) you could get any phase - not even always the same, but once 0, once 1.7 and once 0.5, or whatever (but afair the Xilinx coregen cordic cores are deterministic and stateless, so the result should be always the same, when using them).