1、湖南科技大学课程设计论文目 录第一章 设计题目及要求21、虚拟信号频谱分析仪设计22、位移测试虚拟仪器设计2第二章 虚拟信号频谱分析仪设计32.1前面板设计42.2流程图设计62.3运行检验7第三章 位移测试虚拟仪器方案设计103.1位移测试系统的设计103.1.1测试数据的读取103.1.2测试数据的处理103.1.3测试数据的记录103.2位移测试系统的静态特性测试设计113.2.1测试数据的读取113.2.2测试系统的静态特性11第四章 位移测试虚拟仪器的实现134.1位移测试虚拟仪器的前面板设计和规划134.1.1前面板控件的确定134.1.2前面板控件的放置134.2位移测试虚拟仪器
2、的程序框图设计144.2.1位移测试虚拟仪器程序总体框架的构建144.2.2位移测试虚拟仪器程序各部分的形成15第五章 位移测试虚拟仪器的调试分析175.1仿真信号的生成175.2仿真信号的运行调试分析18参考文献19程设计题目及要求一、一般信号分析的虚拟仪器设计1、 虚拟信号频谱分析仪设计(正弦波、余弦波、三角波等)要求:1) 模拟产生一个周期信号(可选择方波、三角波、锯齿波等中的个)并进行图形显示;2)信号的幅值、相位和频率可调。3) 对产生的周期信号,进行频谱分析并图形显示。功能描述:可观察产生波形等经过FFT后的幅值谱。并分析调试结果。2、位移测试虚拟仪器设计设计要求和功能描述:(1)
3、能进行位移测试;(2)可求出位移测量系统的线性度、滞后度和灵敏度。第二章 虚拟信号频谱分析仪设计一、 前面板设计1、五个输入型数字控件五个输入型数字控件供使用者键入生成采样频率、初始相位、信号幅值、采样点数、信号频率。 操作:控制数值数值输入控件五次,得到五个输入型数字控件,分别标记为“信号频率”、“采样频率”、“采样点数”、“信号幅值”和“初始相位”。 2、两个输出显示型图形控件输出显示型图形控件用来显示所产生的各类波形以及各类波形的FFT图。操作:控制图形波形图表输出控件,调入图形控件。其横轴为时间轴。应考虑到生成的信号频率跨度大,在0.1Hz一10kHz范围内,其周期跨度也大,在10s0
4、.1ms范围内;纵轴为电压轴,生成信号幅值的范围应充满整个显示画面,故选用“波3形图表”显示器。3、两个开关控件操作:控制布尔确定按钮,调入开关按钮控件,标记为“复位”。操作:控制布尔确定按钮,调入开关按钮控件,标记为“停止”。4、一个下拉列表操作:控制下拉列表与枚举文本下拉列表,调入文本下拉列表控件,对其进行编辑项设置,分别为正弦波,三角波,方波,锯齿波。(设置如图1所示)图1文件下拉列表设置如上设计的前面板如图2所示:图2虚拟信号频谱分析仪前面板二、流程图设计1、在流程图中执行 函数结构条件结构,调入条件结构图标。2、在流程图中执行 函数数值复数复数到极坐标转化操作,调入转化为极坐标的图标
5、。3、在流程图中执行 函数簇簇捆绑操作,调入簇捆绑图标。为了显示频谱,显示器的横轴必须按频率进行分度。因此,需要引入一个除法器,完成采样频率除以采样点数得到横轴(频率轴)的分度值。4、在流程图中执行 函数信号处理信号生成,依次调入正弦波信号、方波信号、三角波信号、锯齿波信号图标,分别放入条件结构的相应的条件框中。(如图3所示) 图3条件结构的设计4、在流程图中执行 函数信号处理变换FFT变换,调用FFT变换图标。设计各节点接线如图4所示:图4程序框图总体设计 三、运行检验1、对正弦信号(幅值A=1OV,频率fx2Hz,初始相位00)进行FFT,信号的采样率lOHz,采样点数为100。所产生的正
6、弦信号及其频谱图如下图5所示: 图5虚拟信号频谱分析仪运行-正弦波2、对方波信号(幅值A=1OV,频率fx2Hz,初始相位00)进行FFT,信号的采样率lOHz,采样点数为100。所产生的方波信号及其频谱图如图6所示 图6虚拟信号频谱分析仪运行-方波3、对三角波信号(幅值A=1OV,频率fx2Hz,初始相位00)进行FFT,信号的采样率lOHz,采样点数为100。所产生的三角波信号及其频谱图如图7所示: 图7虚拟信号频谱分析仪运行-三角波4、对锯齿波信号(幅值A=1OV,频率fx2Hz,初始相位00)进行FFT,信号的采样率lOHz,采样点数为100。所产生的锯齿波信号及其频谱图如图8所示:
7、图8虚拟信号频谱分析仪运行-锯齿波第三章 位移测试虚拟仪器设计方案根据本设计的要求进行设计方案的确定,位移测试虚拟仪器要求能进行位移测试且可求出位移测量系统的线性度、滞后度和灵敏度。初步确定设计分为两个部分:位移测试、测量系统静态特性。3.1位移测试系统的设计对于位移测试而言需要的就是信号的读取、信号的处理、信号的记录等几个方面,以下就这几个方面进行详细的考虑和设计。3.1.1测试数据的读取测试数据是指测试所用的传感器所传输出来的数据,它是一个物理硬件输出的数据,要将它读入到虚拟仪器测试系统中,需要一个硬件和软件的传输通道,在LabVIEW中运用的是数据采集助手DAQ Assistant。在L
8、abVIEW环境里打开数据采集助手的方式是调用DAQ Assistant Express VI,在LabVIEW的函数选板中有两个子选板可以找到DAQ Assistant Express VI,分别是“测量I/ODAQmx Data acquisition”和“Express输入”函数子选板。“DAQ Assistant” Express VI放入程序框图后,首先自动打开一个新建向导,引导用户选择测试的类型和使用的通道,然后打开数据采集助手的设置面板。进行必要的设置以后,单击OK按钮,Express VI图标下面出现Data端口,这样就可以执行数据采集任务并返回测试数据。经过以上的操作就可以将
9、物理硬件的输出数据传输到测试系统中。从硬件传输到系统的数据是一个动态不间断的数据,而测试系统需要的数据是一组静态的数据,因此要将传输进来的动态数据进行转换,执行“Express信号操作从动态数据转换”操作放置一个转换节点,可完成传输进来的动态数据的转换。硬件传输进系统的数据是许多具有微小波动的数据组,要得到较为准确的数据,可以对数据组取平均值得到,执行“数学概率与统计均值”操作放置一个均值节点就可得到一个处理后的测量数据。3.1.2测试数据的处理从通道读取进来的数据是一个模拟物理量,需要对该量进行相应的处理,本设计中的输入数据为电压量,可以根据传感器的特性选取一个比例系数得到测量的位移值,对于
10、测试而言需要一个复位的操作,可以对测量数据进行调整,在此需要一个是否复位的判断,在判断为真的条件下将本次输入的进行自减得到值为0,在判断条件为假的情况下将本次输入与上次输入相减得到本次位移,至此可以得到位移数据。3.1.3测试数据的记录对于测试数据有时需要保存,在需要保存的条件下可将测试数据保存到Excel中,但是为了得到测试系统的特性分析需要将实际测量值一并记入Excel中,此时可以将实际值和测试值组成数组记入文件中,对于测试的记录要分为前进和回程两个部分,在建立保存文件是可以将它们分开,可以分别命名为“实验者姓名+Q(前进).xls”、“实验者姓名+H(回程).xls”。3.2位移测试系统
11、的静态特性测试设计在系统的静态特性测试部分可以将该测试系统分为两个部分:测量数据的读取、静态测试参数的计算和输出。3.2.1测试数据的读取因为测量数据是保存在电子表格Excel中的而且是分为前进和回程两个文件,在数据的读取中要分别进行读取,可以分别将文件名输入到读取路径中执行两次电子表格读取程序。保存的数据是测量数据和实际数据两组数据,在数据读取的过程中要将这两组数据进行分离,可以使用索引数组的形式得到。3.2.2测试系统的静态特性描述测试系统的静态特性的主要指标有线性度、滞后度、灵敏度等。(1)、线性度线性度是测试装置输出、输入之间保持常值比例关系的程度。在静态测试情况下,通过实验来确定的被
12、测试实际值x与测试装置示值y之间函数关系的曲线称为校准曲线。为了使用简便而代替校准曲线的直线称为拟合直线。线性度可以用校准曲线与拟合曲线的最大偏差B来表示。也可以用相对误差来表示,即线性误差=(B/A)x100%式中A为测试系统满量程输出范围。确定拟合直线的方法有多种。其中最小二乘法拟合直线精度最高,它的基本含义是校准直线上各数据点与拟合直线间的残差平方和最小。LabVIEW的“数学拟合”函数子选板中的“线性拟合(Linear Fit)”VI就是用最小二乘法拟合直线,它帮助解决了复杂的计算问题。(2)、回程误差回程误差也称为滞后度。它反映实际测试系统当输入量由小增大和由大减小时,对于同一输入值
13、,将得到不同大小的输出。回程误差=(H/A)x100%式中H为前进和回程最大偏差。(3)、灵敏度灵敏度是测试系统输出的变化量y对输入的变化量x的比值。一般用拟合直线的斜率作为该装置的灵敏度。Linear Fit VI 输出量中的“斜率(Slope)”参数就是此值。在本设计中的各种数值计算主要运用的是数学和信号处理的相关节点,关于节点的运用在程序框图的设计和实现中将进行详细的介绍和说明。依照以上的方法就可以得到测试系统的静态特性,在输出中要运用到图形显示和数值显示。位移测试虚拟仪器的设计流程如图3.1所示。开始读取测量数据数据的处理数据的记录记录数据的读取静态测试参数的计算数据波形的输出静态测试
14、参数结果的输出结束图3.1位移测试虚拟仪器的设计流程图第四章 位移测试虚拟仪器的实现位移测试虚拟仪器的实现一样要分为两个部分:前面板和程序框图。首先对于程序中要用到的显示和输入控件进行摆放和布置,然后对程序框图进行连接计算得到想要的结果。4.1位移测试虚拟仪器的前面板设计和规划4.1.1前面板控件的确定在位移测量部分,需要显示输入的数据和当前的位移,还需要输入实际值和比例系数,为了形象的显示要放置一个波形显示控件。故需要两个数值输入控件、两个数值显示控件、一个波形图表。在数据记录部分,需要输入实验者的姓名、控制记录的类型、是否要计数以及是否要复位。故需要一个字符输入控件、三个布尔量。在特性分析
15、部分,需要显示灵敏度、线性误差、最大偏差、回程误差、进回最大偏差,还需要控制是否显示结果和整体程序的运行以及两个波形显示。故需要五个数值显示控件、两个布尔量、两个波形显示XY图。有以上可知,一共需要七个数值显示控件、两个数值输入控件、一个字符串输入控件、五个布尔量、三个波形图。4.1.2前面板控件的放置(1)、连续执行“控件数值数值输入控件”放置两个数值输入控件,将标签分别改为“实际位移”“比例系数”。执行“文本设置大小”分别将文字和输入数字大小改为18、24。(2)、连续执行“控件数值数值显示控件”放置七个数值显示控件,将标签分别改为“输入信号”“当前位移”“灵敏度”“线性误差%”“最大偏差
16、”“回程误差%”“进回最大偏差”。 执行“文本设置大小”分别将文字和输入数字大小改为18、24。(3)、执行“控件字符串和路径字符串输入控件”放置一个字符串输入控件,将标签改为“实验者姓名”。 执行“文本设置大小”分别将标签和输入字大小改为24。(4)、执行“控件布尔滑动开关”放置一个滑动开关控件,将标签改为“前进 回程”拖拽在控件两边,标签大小改为24,。(5)、执行“控件布尔方形指示灯”放置两个布尔量将标签分别改为“计数”“显示测量结果”。 执行“文本设置大小”分别将标签大小改为24,通过拖拽改变控件到合适大小。(6)、执行“控件布尔确定按钮”放置一个确定按钮,将其文本改为“复位”,文字大
17、小为36,通过拖拽改变控件到合适大小。(7)、执行“控件布尔停止按钮”放置一个停止按钮,将文本大小改为36,通过拖拽改变控件到合适大小。(8)、执行“控件图形波形图表”放置一个波形图表,将其标签改为“位移”,大小为36。执行“控件图形XY图”放置两个XY显示图,标签分别改为“线性度”“滞后度”,图例分别改为“校准曲线”(蓝色)、“拟合曲线”(红色)“正向曲线”(蓝色)“反向曲线”(红色)。(9)、双击前面板输入文字“位移测试和系统静态特性实验”, 执行“文本设置大小”将文字大小改为36。执行“控件修饰上凸框”对前面板进行修饰。得到的前面板如图4.1所示。图4.1位移测试虚拟仪器前面板4.2位移
18、测试虚拟仪器的程序框图设计位移测试虚拟仪器的程序运行主要分为六个方面:信号的获取、信号的处理、信号的记录、记录数据的读取、记录数据的显示、系统静态特性的计算。4.2.1位移测试虚拟仪器程序总体框架的构建整个程序的运行需要一个整体的控制,在这里用while循环语句来实现,在数据的记录、位移的复位、数据的读取方面需要判断,用到条件结构。(1)、执行“编程结构while循环”放置一个while控制框。(2)、执行“编程结构条件结构”放置三个条件控制框,如图5.2所示。4.2.2位移测试虚拟仪器程序各部分的形成(1)、信号的获取:执行“测量I/ODAQmx Data acquisitionDAQ As
19、sist”放置一个信号读取节点,执行“Express信号操作从动态数据转换”放置一个转换节点,执行“数学概率与统计均值”放置一个均值节点,相互连接就可以得到硬件的输入信号并将其转换为可处理的数据。(2)、信号的处理:在这部分需要判断是否要复位,在while循环中加一个移位寄存器,初始的输入为0,在复位判断为真的条件下将本次的输入直接连到移位寄存器的输出端,在判断条件为假的情况下将移位寄存器的输入端连到输出端使之读取的是上一次的输入值,相减得到本次的位移输入。因为输入的是电压信号与位移之间有一个比例关系,将得到的当前输入乘以比例系数得到当前位移。故分别执行“编程数值减”、 “编程数值乘”放置一个
20、减法节点和一个乘法节点,按照如图4.2所示连接可以得到位移和输入的显示。(3)、数据的记录:数据的记录要在计数条件为真的情况下进行,数据的记录需要一个存储的路径和文件名,因为数据的记录分为两种:前进和回程,所以要构成两个文件。执行“编程文件I/O文件常量当前VI路径”、 “编程文件I/O拆分路径”分别放置两个节点提取当前的路径,“编程比较选择”放置一个选择节点用来选择记录文件的名字,在“前进 回程”按钮在“前进”状态是输入“Q.xls”与实验者姓名组成文件名,在“前进 回程”按钮在“回程”状态是输入“H.xls”与实验者姓名组成文件名。文件名与拆分的路径组成数据的保存路径,执行“编程字符串连接
21、字符串”放置一个字符串连接节点,“编程文件I/O创建路径”放置一个路径创建节点,按照图5.2连接可构成数据记录的路径。在数据的记录中的数据是由实际的数据和测量数据组成的数据组,执行“编程数组创建数组”放置一个数组创建的节点来生成记录数据,执行“编程文件I/O写入电子表格文件”放置一个数据写入节点并进行相关的设置和输入就可得到数据的记录文件。(4)、记录数据的读取:数据的读取分为两个部分,故有两个数据的读取操作。数据的读取和数据的记录相似,主要由路径和读取操作组成,如图5.2所示。读取出来的数据是一个二维数组,对于它的显示要对二维数组进行索引,连续执行“编程数组索引数组”放置四个数组索引节点,对
22、于索引数分别为0和1。(5)、记录数据的显示:在数据的读取阶段通过索引得到四组不同的数据,因为要得到拟合曲线要对得到的数据进行拟合,执行“数学拟合线性拟合”放置一个拟合节点,连接数据组得到一个拟合的数据。执行“编程数组创建数组”放置两个数组创建节点,按照图5.2所示进行连接可得到需要的数据组并显示出来。(6)、系统静态特性的计算:系统特性参数分为灵敏度、最大偏差、线性误差、进回最大偏差、回程误差。首先计算灵敏度,在数据显示阶段的拟合曲线时有一个“斜率”的输出端,该输出端就是线性灵敏度,可以直接连接显示。最大偏差是实际测量值和拟合曲线的最大偏差,用其两数值相减取绝对值就可得到,执行“编程数值减”
23、 、 “编程数值绝对值” 、“编程数组数组最大值和最小值”分别放置一个减法节点、取绝对值节点、取最大值节点,连线得到曲线的最大偏差。线性误差是最大误差和量程的比值,执行“编程数组数组最大值和最小值”放置一个节点输出数组的最大值和最小值并相减得到数据的量程,分别执行“编程数值减” 、“编程数值乘” 、“编程数值除”放置三个节点并连接得到数据的线性误差,如图5.2所示。进回最大偏差是前进和回程数据差值的最大值,因为回程数据和前进的数据相反,要将回程数据取反转才能与前进数据进行相减得到进回最大误差。分别执行“编程数组发转一维数组” 、“编程数值减” 、 “编程数值绝对值” 、“编程数组数组最大值和最
24、小值”放置四个节点连接就会得到进回最大误差。回程误差是进回最大偏差和测量量程的比值,而测量量程在之前就已经得到,将其两个值进行相除得到回程误差,需乘以100得到百分比。位移测试虚拟仪器的程序框图如图4.2所示。图4.2位移测试虚拟仪器的程序框图第五章 位移测试虚拟仪器的调试分析程序的仿真调试需要一个仿真信号,所以在程序的运行调试之前要为程序输入一个仿真数据。根据任务的要求在计数按钮按下的时候要产生一个仿真信号,而对于该信号还要有前进和回程的区别。5.1仿真信号的生成仿真信号的生成需要两个条件的判断:是否要计数的判断、前进和回程的判断。这需要两个判断结构的嵌套,在前进和回程的判断中嵌套是否要计数
25、的判断。对于判断数据的提取需要两个移位寄存器,判断的四种情况如图5.1所示。 (a) (b) (c) (d)图5.1判断嵌套的四种情况将以上的四种情况编如程序框图中得到仿真的输入信号,将此仿真信号连接到程序中去代替硬件输入信号,得到如图6.2所示的仿真处理程序。5.2仿真信号的运行调试分析由于仿真输入的数据具有标准性,为了得到系统的静态特性要加入一个小的随机变量作为测量的随机误差,所以在输入数据乘以比例系数之后在加上一个随机数。在系统运行以后点击“计数”和“前进 回程”按钮得到前进和回程的数据再点击“显示测量结果”可得到系统的数据分析。程序调试运行的结果如图5.3所示。图5.2位移测试虚拟仪器仿真测量程序框图图5.3位移测试虚拟仪器仿真测量程序调试运行结果参考文献1、雷振山,赵晨光,魏丽,郭涛. LabVIEW 8.2 基础教程. 北京:中国铁道出版社. 2011.2、吴正毅. 测试技术与测试信号处理. 北京:清华大学出版社. 1991.3、张思. 振动测试与分析技术. 北京:清华大学出版社. 1992.4、胡广书. 数字信号处理. 北京:清华大学出版社. 1997.5、雷振山. LabVIEW 7 Express实用技术教程. 北京:中国铁道出版社. 2004.19