第一篇:虚拟仪器大作业实验内容
虚拟仪器大作业
时间:2013.11.19~ 2013.11.26 地点:医用电子技术实验中心(综合楼716)
基于MIT-BIH心率失常数据库的心电信号系统的设计
现代医学表明,心电信号(ECG)含有临床诊断心血管疾病的大量信息,ECG的检测与分析在临床诊断中具有重要价值,是了解心脏的功能与状况、辅助诊断心血管疾病、评估各种治疗方法有效性的重要手段。
本次大作业利用具有直观图形化编程和强大数字信号处理功能的虚拟仪器编程语言LabVIEW作为开发平台,设计一个基于虚拟仪器的简单心电信号分析系统,该系统具有心电信号的读取,处理分析,波形显示、心率显示及报警,波形存储和回放等功能。
基本要求:
1.本次大作业所用原始信号是从MIT-BIH(Massachusettes Institute of Technology
and Beth Israel Hospital,美国麻省理工学院和波士顿贝丝以色列医院)心率
数据库(http:///mitdbdir/mitdbdir.htm(2)MIT-BIH的数据格式
MIT为了节省文件长度和存储空间,使用了自定义的格式,所以没有通用的读
取方式。
一个心电记录由三个部分组成:
①头文件[.hea],存储方式ASCII码字符。
②数据文件[.dat],按二进制存储,每三个字节存储两个数,一个数12bit。
③注释文件[.art],按二进制存储,格式定义比较复杂。
第二篇:虚拟仪器实验
实验1
熟悉LabVIEW编程环境
实验1-1 LabVIEW的基本操作
目的:创建一个VI程序,完成两个数加、减、乘、除法的运算功能。
在数值输入控件中输入两个操作数A和B,运行程序计算出这两个数的加、减、乘、除法运算结果,并且显示到相应的数值显示控件中。
实验2
控件与程序框图应用
实验2-1 虚拟仪器前面板的设计
目的:掌握虚拟仪器前面板的设计。
通过此实验熟悉常用控件的取用,对其进行简单设置以及界面布局。
实验2-2 编写简单的LabVIEW 程序
目的:编写程序,实现将一华氏温度(F)转换成摄氏温度(C)的功能。
已知摄氏温度与华氏温度的关系C=5(F-32)/9。
书上习题2-1
第三篇:虚拟仪器 实验报告3
虚拟仪器实验报告三
专业年级
姓名
学号
成绩
一、实验目的:LabVIEW编程软件入门学习
二、实验内容: LabVIEW程序结构
三、实验步骤:
1、顺序结构(Sequence Structure)
2、For循环
3、While循环
4、Case结构
5、事件结构(Event Structure)
6、使能结构
7、公式节点(Formula Node)
8、跟着实例学—模拟温度采集监测系统
三、实验结果:
练习1:
练习2:
-0练习4:
练习7:
作业题3:
思路:其实对1—5的数取余就行了,然后与布尔连接。
作业题6:
作业题7:
第四篇:虚拟仪器学习心得总结
虚拟仪器学习心得总结
姓 名:王水根
学 号:1083420213 班 级:0801101班 学 院:电气学院 指导老师:付宁
虚拟仪器学习心得总结
王水根
刚开始接触虚拟仪器这个概念的时候是在大三的上学期,我不记得那天具体是什么日子了,只记得公寓前面展板上多了一个很大的海报,内容大概是哈工大虚拟仪器协会成立招新和第一届全国虚拟仪器设计大赛的相关说明。这是我第一次接触“虚拟仪器”这个当时陌生的新词。一看到这个词我马上想到我们经常用的仿真软件Multisim,那里面就有好多虚拟的电源、示波器、万用表,还有频谱分析仪、逻辑分析仪等。顿时,我觉得这个很有意思啊,要是能自己在电脑里设计一个示波器那就厉害了。可是那个虚拟的仪器又是怎么集成到其他电路仿真软件上的呢?还有虚拟仪器的定义到底是什么呢?不知道。所以我带着这些疑问上网查找和虚拟仪器的相关文档,看看虚拟仪器到底是一个什么东西,虚拟仪器在哪些领域有应用。
后来,我参加了协会组织的招新,初次接触了Labview,在花了一个通宵做完招新布置的作业后,我也成了一名Labview的初学者。这之后我知道了Labview这个软件是用来设计虚拟仪器的,而虚拟仪器是用计算机设计的一个软件,它能完成一台台式仪器的功能。比如可以用Labview设计一个信号发生器,产生正弦波、方波、三角波、锯齿波、任意占空比矩形波等。
而Labwindows/CVI我上大二时实验室的师兄跟我说过,他那时跟我说CVI是用来设置界面用的,一般都是硬件配上CVI一块用。可是在系统学习CVI之前我从没用过Labwindows/CVI。CVI和Labview都是很好用很优秀的软件,在自动化测试领域有着特别重要的作用。Labview采用的是G语言,也就是图形化语言,它不仅是一种编程环境,也是一门编程语言。Labview因为采用的是图形化语言,所以和CVI比起来学习更容易,编程也更简单,比较适合于专业知识比较薄弱的学习者。Labview采用的编程思想和传统C语言一样,是嵌套,主函数包含子函数的思想。所以,当要编写比较大的程序时,整个结构就显得很大很复杂,编写起来比较困难。这时,CVI相对就比较适合,因为C语言相对G语言逻辑性强,结构性要强。下面我就说说这次学习CVI的心得感受。
首先,老师帮我纠正了之前我对虚拟仪器的理解。虚拟仪器是在通用计算机上加上一组软件和/或硬件,使用者在操作这台计算机时,就像是在操作一台他自己设计的专用电子仪器。虚拟仪器是一种软件定义的系统,它基于用户需求的软件定义了一般测量硬件的功能。这就应证了前面师兄跟我说的那句话,光有软件也是不行的,还得有硬件配合,任何软件都有一定的局限性,因为它们都是基于操作系统平台的,而硬件是不需要任何平台的,它自身就可以成为一个平台。
后来,我知道了如何用CVI去设计一台虚拟仪器,了解了设计虚拟仪器的步骤。和Labview设计虚拟仪器的步骤很像,用CVI设计虚拟仪器首先也是先设计软面板,在CVI中是“.uir”文件,然后是编写程序代码,最后是编译调试运行。后来,我们比较系统性地学习了CVI测试数据的显示、分析、存储和传输方面的设计。在这个过程中,通过练习信号发生器的设计、TCP/IP网络通讯和RS232通讯的设计,我基本上掌握了CVI的测试数据相关处理的设计。也是在这个短暂的学习过程中,我越发发觉CVI的功能是如此的强大。再后来,我们简单学习了动态链接库和多线程的应用,动态链接库和多线程技术在CVI高级程序设计中都特别有用。CVI可以使用Windows操作系统中的动态链接库来实现一些很有用的功能,而多线程技术在工程很复杂时就大有作为,这时设计程序时就可以使用两个线程、三个线程或者更多,这对提高编程效率非常有用。最后,我们简单学习了仪器驱动程序的设计,大概了解了仪器驱动程序设计的发展是跟随着虚拟仪器技术的发展而发展的。仪器驱动程序从早期的底层I/O操作和高层仪器交互,逐渐发展到仪器编程语言的标准化和软件分层(也就是独立的仪器驱动程序)。这也就是现在我们还在采用的仪器驱动程序设计方法,仪器驱动程序和仪器模块分立,仪器驱动程序和应用程序之间也独立。后来这方法就发展成了现在的VPP规范,VPP规范对虚拟仪器软件结构和仪器驱动程序的开发进行了标准化,它的核心是定义了标准的I/O接口软件——VISA库。这样就实现了个厂家仪器的互操作。
最后我们学习了LabView知识入门,初步掌握了其设计虚拟仪器的方法和步骤,老师的讲解很到位,简单易懂。
通过学习虚拟仪器这么课,我不仅了解了虚拟仪器的相关知识,而且比较好地掌握了LabWindow/CVI的编程设计,能够编写简单的虚拟仪器。但是我也知道要想成为一名CVI编程高手还需要进行大量的练习,需要不断地学习。
第五篇:虚拟仪器检测论文
1硬件构成检测系统主要由信号接口及虚拟仪器两部分构成(图1)。待测信号由控制机柜上的接口引出,通过信号选择、调理之后送入工控机,由数据采集卡进行数据采集,并最终由数据处理软件进行分析、显示、存储等。步进电机系统由脉冲控制器、驱动电路和步进电机等几部分构成,根据不同的检测要求如常规检测、实时监控和故障诊断等,需要对脉冲控制器的输出、驱动电路的输出以及电机绕组的信号分别进行检测。为更有效的利用采集卡的硬件资源以及计算机的数据处理能力,在接口部分设置了信号选择电路,负责把需要检测的信号送入后续系统。接口电路结构如图2所示,通过两个选择开关的不同组合,分别实现从驱动板输入级引出脉冲控制器信号、从驱动板输出级引出驱动电路信号、从电机回路引出步进电机绕组电流信号。
信号调理电路采用运算放大器对取样电阻两端的信号进行差分运算,得到电压、电流信号并以单端方式输出至数据采集卡。步进电机常采用方波电压驱动,从其频谱构成来看包含一定的高频成分,属于有突变的大幅值信号,故选用LM318高速宽带运算放大器,其增益带宽为15MHz,转换速率为70V/μs。为进一步提高待测信号的信噪比,减小软件数据处理的难度以及减少运算量,在LM318的电源部分加入了2个1000μF的电解电容退耦合,在其输出端加入了0.2μF的瓷片电容以滤除高频噪声。
虚拟仪器的硬件采用基于pCI总线技术的DAQ数据采集系统,选用的pCI-6071E数据采集卡可实现对32个步进电机及其驱动电路和脉冲控制器的多路并行检测。
2软件设计
根据模块化的编程思想,检测程序(图3)的结构自上而下分为主程序层、逻辑层、驱动层。主程序层由用户界面和测试执行部分构成,逻辑层负责逻辑关系的验证以及相关决策的制定,驱动层负责与仪器、被测设备以及其他应用程序之间的通信。软件的开发平台为NI公司的LabVIEW。检测程序的主要任务为多通道的数据采集、分析和存储,因此程序的优化及运行效率问题都显得较为重要,在软件的开发中运用了LabVIEW所支持的多项先进编程技术,如数据流、多线程、定时循环、状态机等。
3信号处理
虚拟仪器的实质是对模拟信号进行数字化处理,具体分为在线处理和事后处理两部分。在线数据处理主要包括运算量较小的电流、电压以及脉冲的时域分析。对于系统的运转状态通过对对应信号的计数得到电机运转的步数、驱动板提供的电压周期数、脉冲控制器发出的脉冲数;对于电机的运转参数通过测量电流的频率得到电机的速度曲线,对此进行微分得到电机的加速度曲线,通过对电流进行数值积分得到电机的功率曲线。
另一方面对电流信号进行较为详细的时域分析以提供系统分析的时域特征值。使用peak Detector进行信号的波峰检测得到每个周期内最高点的数值、位置等数据,以此为基础作出电机的特征曲线。电机正常运转时特征曲线近似为一条水平直线,运转异常时则会产生平移和起伏,其均值和方差都有较为显著的变化。使用pulse parameters进行信号的参数检测,得到信号的超调量、上升时间等参数,这些参数描述了电流波形的细节信息。因此选取了电流信号的超调量和幅值之比、上升时间和频率之比以及特征曲线的均值和方差作为系统状态分析的3组时域特征值。
事后数据处理主要包括电流、电压的频域分析。对于步进电机系统的检测,一个较为重要的应用是识别出正常信号中夹带的短暂反常现象并展示其成分,为了克服傅里叶变换没有时间分辨率的缺陷,采用了对异常信号段进行短时傅里叶变换的分析方法。信号
算法实现短时傅里叶分析得到信号的幅值谱,表明了在短时间段上绕组电流、驱动电压的能量分布。电机系统发生异常时的电流、电压信号除正常的基频及倍频成分外,出现了额外的低频成分或直流分量,其倍频和基频的幅值之比也有明显的变化,因此选取了信号的3倍频和基频的幅值比作为系统状态分析的频域特征值。
对于在线检测及故障诊断系统来说,除了选取适当的信号处理算法提取有效的特征值之外,更为重要的一点是对被测系统的历史数据的归纳和分类,给出各特征值的典型值作为系统状态的判别条件。以下是在瑞士ARSApE公司的微型两相永磁式步进电机1020上测得的典型值,其驱动方式为采用A3966SLB驱动模块的两相单四拍驱动。
基于虚拟仪器技术开发的步进电机检测系统,在发生故障时针对故障单元进行的诊断提高了系统的维护效率,大大缩短了故障恢复时间。
参考文献
[1]Gary W.Johnson, Richard Jennings.LabVIEW图形编程[M].北京:北京大学出版社,2002.[2]马建明,周长城.数据采集与处理技术[M].西安:西安交通大学出版社,20 01.[3]吕勇,等.虚拟仪器技术及其在机械故障诊断中的应用[J].武汉科技大学学报,2002,(2).[4]王宗培,任雷,史敬灼.五相混合式步进电动机绕组电流波形的分析[J].微特机电,1997,(5).