基于LabWindows的录波分析仪的设计
3.2 数据的采集及存储
为了避免数据阻塞,减少运行过程中数据采集与用户界面的影响,本录波仪的软件部分采用多线程技术。LabWindows提供有线程池(th-readpool)和异步定时器(asynchronous timers)两种多线程机制。本文采用线程池及机制编写。但采用多线程有可能造成数据不必要的改动甚至出错,因此,LabWindows提供了线程安全队列进行数据保护。它可将采集到的数据写入安全队列,分析数据时再从安全队列中取出。数据存储采用二进制形式,数据采集及存储的部分程序如下:


3.3 数据分析
数据分析主要是分析信号的有效值、功率、谐波分量、相位角等信息。谐波分量、相位角分析采用FFT算法,可通过极坐标的变换得到;功率谱分析也可利用FFT算法及相应算法得到。FFT可以实现时域向频域的转化,其函数原型为:
Int status=FFT(double x[],double y[],intn);
其中,参数x输出为傅立叶变换的实部,y输出为傅立叶变换的虚部。x和y既是输入,也是输出,n为x,y的长度,并且一定是2的整数次幂。实现该功能的核心代码如下:

4 结束语
试验结果显示,本文设计的录波仪不仅可以实现传统录波仪的功能,而且具有造价低,使用方便,可实现资源共享等特点。此外,本系统还可改成分布式系统,即采用嵌入式主板加数据采集卡,然后通过网络上传数据文件,而用上位机接收数据,最后进行处理并显示。本文引用地址:https://www.eepw.com.cn/article/195030.htm
评论