微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > Labview > 利用生产者消费者结构进行信号采集,五分钟后提示内存不足

利用生产者消费者结构进行信号采集,五分钟后提示内存不足

时间:10-02 整理:3721RD 点击:
程序框图如下,信号频率10k,采样频率1M,连续采样,每通道读取30000,板卡为NIpxi6115,采集五分钟左右,提示内存不足,有什么优化方法吗?因为采样频率关系到数据处理中插值精度,采样率不能再降低。需要程序跑7,8个小时左右,麻烦大家帮我看一下程序
图1 生产者循环


图2 消费者循环


据说公式节点比较慢!把它换掉试试吧。还有那个索引数组函数只要指定第一个索引,后面的都是递增的没必要+1.如果还是不行就看看其他地方有没有可以优化的。再不行就不要处理数据了直接存文件吧。采集完了再处理

生产者循环没什么问题,消费者循环中波形图是不是可以去掉,已经在生产者循环中显示波形了,1M数据的波形图刷新是很耗内存的。虽然不知道你是要实现什么功能,但消费者中的算法个人觉得还是可优化一下的。

监控一下消费者执行是不是比生产者慢?生产的太快,都来不及消费,当然会越积越多,内存就爆掉啦!

顶顶顶~~~~~~~~~~~~~~~~~~~~~

出队列的循环中算法台耗时导致队列中的数据没有及时读取,最终内存溢出。可以考虑优化算法程序,或者保存数据,做数据回放时再加算法处理。

真是非常非常非常有指导性的一片文章  非常好的

xuexi

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top