我第一次会问一个问题。如果我的举止不对,我很抱歉。
我在Xilinx Zynq上的嵌入式Linux上使用了RedHawkSDR v1.10.1。 AM解调处理是通过连接三个分量的波形实现的。 连接以太网并监视波形时,由于收到的声音中出现异常噪音, 我们升级到RedHawkSDR v2.1.0。 GPP从python改为C ++,我认为我可以期待更好的性能。 然而,当采用RedHawkSDR v2.1.0时,它变得更加奇怪。 看看原因,GPP密切运行每个threshold_cycle_time, 解调处理尚未完成。 当GPP获取诸如CPU / NIC等的信息并且判断阈值时,似乎异常声音出现。 有没有办法减少或消除GPP信息获取过程? 环境如下。 CPU:Xilinx Zynq ARM CoretexA9 2核心600MHz 操作系统:嵌入式Linux内核3.14 RealTimePatch FrameLength:5.333ms(48kHz采样,256个数据)
答案 0 :(得分:0)
GPP为与REDHAWK相关的所有进程进行擦除/处理,为您提供大量信息(通过利用属性)以及更好地控制主机状态。在资源有限的系统(例如您正在使用的系统)上,此过程可能很昂贵。您可以通过更改GPP的threshold_cycle_time来更改更新的频率。 如果添加元素:
<componentproperties>
<simpleref refid="threshold_cycle_time" value="2000"/>
</componentproperties>
到DCD中的GPP componentplacement元素,阈值循环时间从500毫秒(默认值)增加到2秒。该数字是无符号长整数,因此您可以将此延迟增加到超过400万秒
请注意,如果设置此阈值使得设备的状态不会根据处理器的状态进行更新,则由于处理器的使用,它将永远不会达到BUSY状态,因此它将允许部署应用程序超额认购的计算硬件