如何在gnuradio中实现4象限atan2函数

时间:2015-10-15 22:54:16

标签: gnuradio software-defined-radio gnuradio-companion

我最近开始尝试使用SDR,并且一直在使用GNU Radio平台。

更具体地说是'gnuradio-companion'图形界面。

我需要确定一个4象限arcTangent函数并遇到一些麻烦。在'GRC'文件中,我已经能够成功评估ATAN函数,但是,尽管python支持ATAN2,但我还是无法弄清楚如何实现这个功能。

我已经读过GNU Radio中包含一个名为fast_atan2f的查找表函数,但我不知道是否可以从标准gnuradio-companion设置中包含的块中访问它。我能够从一个常量源块中访问python表达式'math.atan2(arg1,arg2)',但我不需要将它作为常量值,我正在寻找一个带有两个浮点输入的块(或者一个复杂的输入),它将适合流程图以正确评估ATAN2功能。

我添加了一个示例'GRC'文件,可能有助于说明我的描述不清楚的问题。

link to the GNU Radio companion example file

Screenshot of the Flow Graph

1 个答案:

答案 0 :(得分:2)

gnuradio.blocks.complex_to_arg(GRC中的 Arg 复合体)是atan2操作。

如果您需要两个单独的浮点输入,那么只需在其前面加上 Float To Complex 块。

根据您的具体应用,您可能还对gnuradio.analog.quadrature_demod(GRC中的 Quadrature Demod )感兴趣。该块基本上产生atan2的衍生物,但在180°或360°处没有任何不连续性。这适用于例如解调FM信号。