1 导言
虚拟仪器(VI)概念的提出是测控技术领域的一次革新。因为虚拟仪器可凭借PC机强壮的核算及处理才能,可由用户界说和扩展功用,且价格低廉,深受广阔用户喜爱。现在,虚拟仪器现已逐步走进大学试验室,开端为试验教育和科研服务。本文介绍一种虚拟信号剖析仪的软件规划办法,以美国NI公司的Labview6.1为开发渠道,合作NI公司的6024E收集卡,完结虚拟信号剖析仪规划。
2 剖析仪功用介绍
信号剖析仪是用来对电信号进行丈量、显现、波形存储、时域和频域剖析的仪器。虚拟信号剖析仪主要由参数设置、功用挑选、信号一、信号二和互相关剖析五个模块构成:
(1) 参数设置模块。完结通道装备,设置扫描率、扫描数和缓冲区巨细。
(2) 功用挑选模块。完结波形显现、波形存储、读取波形数据、更新信号和退出。
(3) 信号一。对应收集通道一,可完结滤涉及加窗、自相关剖析、自功率谱剖析、统计剖析和幅值剖析。
(4) 信号二。对应收集通道二,功用与信号一相似。
(5) 互相关剖析。对信号一和信号二进行互相关剖析和功率谱剖析。
程序运行时,首要经过往通道控件中输入通道号,来操控数据收集时的通道数,一同对扫描数、扫描率和缓冲巨细进行装备。装备完结今后,能够点击波形收集,先调查信号的详细波形,假如不满足要求,则能够从头进行参数装备。当所要收集的波形满足要求后,能够点击波形存储,把波形数据保存到指定的文件傍边。点击读取波形数据,把曾经存储到文件中的数据读出来,并把相应的信号输送到信号一和信号二。此刻经过点击滤涉及加窗,对信号进行滤涉及加窗函数处理,一同把处理之后的数据输出到相关剖析单元,对输出信号进行相关剖析。
3 波形收集
框图程序中用到的子函数功用如下。
AI Config VI:设置采样前的各种参数。
DAQ Occurrence Config VI:设置一个数据收集事情。
AI Start VI:指定程序中用于开端收集的参数,如设置扫描次数、采样率等。
AI Read VI:设定从采样缓存区读取数据的那些参数,如设定每次读取的数量。
Clear VI:把task ID废弃,从而将采样所用的内存缓存区和其它资源开释。
Simple Error Handler VI:将犯错信息告知用户。
Wait On Occurrence VI:处理事情等候。
在波形收集程序中,用上述函数,依据数据流将它们组合起来,再对其进行一些必要的处理。榜首个DAQ Occurrence Config VI设置一个数据收集事情。在While循环中,Wait On Occurrence函数在后台休眠,也就有效地把While循环设置于休眠状况。在设定的数据收集事情发生后,即收集到事前指定数量的数据,LabVIEW告知Wait On Occurrence函数中止等候。因为 Wait On Occurrence函数的time out(超时)输出参数连接到包括有AI Read VI的挑选结构的挑选端口上,就一定在 Wait On Occurrence函数中止等候后,才会用AI Read VI。
4 波形存储
Open/Creat/Replace File VI:提示数据是以BIN(二进制)为后缀的方式存储在文件中。
AI Config VI:设置采样前的各种参数。
AI Start VI:指定程序中用于开端收集的参数,如设置扫描次数、采样率等。
AI Read VI:设定从采样缓存区读取数据的那些参数,如设定每次读取的数据点数。
AI Clear VI:把task ID报废,从而将采样所用的内存缓存区和其它资源开释。
Simple Error Handler VI:将犯错信息告知用户。
时刻日期子VI:显现数据存储时的详细时刻和日期。
Match Pattern VI:把输入的字符串分红3段来表明,如年、月、日。
Scan Form String VI:把输入的字符串转换为相关格局的字符串。
Concatenate String VI:把输入的字符串放在一个数组中输出。
Format Date/Time String:把输入的时刻、日期字符串以规则的格局输出。
Replace Array Subset VI:用其它的数据替代索引所指数组中的数据。
Search 1D Array VI:从一维数组的榜首个数开端寻觅指定的元素。
Seconds To Date/Time:输出的格局为年、月、日、小时、秒。
装备头文件子VI:把时刻日期子VI中所显现的日期和时刻及通道号的装备放在一同,以字符串的方式输出。
写头文件子VI:把装备头文件子VI输出的字符串,以头文件的方式存入前面指定的文件中。
Write File坐落Functions>>File I/O子模板,经过Open/Creat/Replace File函数中的dup refnum(文件标识)把装备头文件子VI输出的字符窜以头文件的方式存储到指定的文件中。
Write File坐落Functions>>File I/O子模板。该函数经过写头文件子VI中的dup refnum,把收集来的数据以二进制的方式存储到前面指定的文件里。一同输出dup refnum、犯错信息和已写到文件里的字节数。
封闭文件用于封闭文件,并输出相关的犯错信息。
在波形存储程序中调用上述函数和子VI,依据数据流将它们组合起来,再对其进行必要的处理。
5 波形读取
Open/Creat/Replace File VI:用于提示数据是以BIN为后缀的方式存储于文件中的。
Simple Error Handler VI:将犯错信息告知用户。
读头文件子VI:用来读取文件中的内容。程序中经过前面Open/Creat/Replace File VI的dup refnum,把指定文件中的内容读出来,而且把文件中的相关内容,如时刻、日期等字符串的方式输出;mark after read表明为所读数据的字节数;一同输出 dup refnum和犯错信息。
显现头文件子VI把读头文件子VI输出的相关信息,如时刻、日期、通道等信息在波形读取的前面板显现出来。
AI Hardware Config VI:把二进制中的数据转换为可读的电压数,以便把图形画出来。
Type Cast VI:该函数将输出的数据转换成指定的数据。
Search/Split String:将输出的字符串分解成两个子字符串。
读波形数据子VI:把文件中的波形数据读出来,输出到波形读取的前面板显现器上。
Read File:经过前面的dup refnum,把文件中的二进制数据读出来,并把数据以16位整形的方式输出到一个二维数组中,一同输出文件的dup refnum、犯错信息和所读数据的字节数。
6 结束语
本虚拟信号剖析仪软件以Labview6.1为开发渠道,在配以NI6024E收集卡,完结了信号剖析仪的基本功用。所构成的信号剖析仪成功地用于教育试验中,具有造价低、操作便利等特色。