我想实现块“复杂到 Arg”,它是 matlab 中 gnuradio 中的一个块。
angle
我在matlab中使用该命令。但有些结果与 gnuradio 不同。
例如,
在matlab中,
angle(1.646236600879293e+03 + 8.043715071772031e+00i) = 0.004886084452240
在格努拉迪奥时,
块返回0.00294448575004935
。
有人可以解释一下吗?或者给我一个关于matlab命令的提示。
我想实现块“复杂到 Arg”,它是 matlab 中 gnuradio 中的一个块。
angle
我在matlab中使用该命令。但有些结果与 gnuradio 不同。
例如,
在matlab中,
angle(1.646236600879293e+03 + 8.043715071772031e+00i) = 0.004886084452240
在格努拉迪奥时,
块返回0.00294448575004935
。
有人可以解释一下吗?或者给我一个关于matlab命令的提示。
根据这个讨论,出于性能原因,gnuradio 不使用 libmath atan2 函数。我相信 matlab 改用 libmath 函数。他们还说 0 或 Pi/2 的误差更大,这就是你的情况。因此 gnuradio arg 和 matlab angle 都是正确的,它们只是链接到不同的实现(atan),具有不同的性能和精度。