gnuradio 中的块 "complex to Arg"

the block "complex to Arg" in gnuradio

我想在matlab中实现gnuradio中的块"complex to Arg"。

我在matlab中使用命令angle。但是有些结果与 gnuradio 中的结果不一样。

例如,

在 matlab 中,

angle(1.646236600879293e+03 + 8.043715071772031e+00i) = 0.004886084452240

在 gnuradio 中,

区块 returns 0.00294448575004935.

谁能解释一下?或者给个matlab的命令提示。

根据 this discussion 的说法,出于性能原因,gnuradio 不使用 libmath atan2 函数。我相信 matlab 改用 libmath 函数。他们还说错误在 0 或 Pi/2 中更大,这是你的情况。因此 gnuradio arg 和 matlab angle 都是正确的,它们只是 link 不同的实现(atan),具有不同的性能和精度。