新闻中心

EEPW首页>测试测量>设计应用> 通过LabVIEW优化多核环境下的信号处理性能

通过LabVIEW优化多核环境下的信号处理性能

作者: 时间:2010-07-21 来源:网络 收藏

  和其他文本编程语言一样,处理多通道信号的传统方法是将各个通道信号按顺序读入并逐通道的进行分析,上面基于的顺序编程模型很好的说明了这点,0、1两通道的数据被按顺序读入后,整合为一路数组,并由一个FFT函数进行信号分析并输出。虽然顺序结构能够顺利地在多核机器上运行,但确不能使得CPU负担得到有效的分摊,因为即使在双核的机器上, FFT程序也只能在一个CPU上被执行,而此时另一个CPU却被闲置了。

  实际上,两个通道的FFT运算相互独立,如果程序能够将两个FFT自动分配到一台双核机器上的的两个CPU上,那么理论上程序的运行效率将提高一倍。在的图形化编程平台上,情况正是如此,我们可以通过并行化处理这两个通道来真正提高算法性能。图2表示了一种采用并行结构的代码,从图形化编程的角度来看,仅仅是增加了一路并行的FFT函数而已。

利用并行执行的LabVIEW代码

  图2. 利用并行执行的LabVIEW代码

  由于数据量越大,运算在工程应用中所占的处理器时间就越长,所以通过简单的程序改动将原来的程序并行化,可以改善程序性能,减少了总的执行时间。

  图3. 对于大于1M采样(100 Hz精度带宽)的数据块,并行方式实现了80%或更高的性能增长。

  图3描述了性能随采集数据块大小(以采样数为单位)增大而提高的精确百分比。事实上,对于更大的数据块,并行算法方法确实实现了近2倍的性能改进。工程师们不需要创建特殊的代码来支持多线程,在环境下,只需通过最少的编程调整,利用LabVIEW自动分配每一个线程到的特性,可以方便的实现能力的大幅度提升,从而达到了自动化测试应用的性能改进。



评论


相关推荐

技术专区

关闭