在 Simulink 中配置 CORDIC ATAN 模块

发布于 2024-11-08 16:17:06 字数 406 浏览 5 评论 0原文

我在 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:
enter image description here

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:

enter image description here

Thanks

Kiran

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

回眸一遍 2024-11-15 16:17:06

你的期望是错误的。点(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).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文