基于Labwindows的输送带速度随机信号相关分析系统基于Labwindows的输送带速度随机信号相关分析系统.doc

基于Labwindows的输送带速度随机信号相关分析系统基于Labwindows的输送带速度随机信号相关分析系统.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于Labwindows的输送带速度随机信号相关分析系统基于Labwindows的输送带速度随机信号相关分析系统

实验项目名称:基于Labwindows的输送带速度随机信号相关分析系统 实验项目性质:综合性 所属课程名称:虚拟仪器技术 实验计划学时:2 一、实验目的 通过非接触式激光测量,运用相关分析计算固体表面速度。通过实验了解相关分析的方法,在实验过程中提高学生的分析和动手能力。 二、实验内容和要求 1、激光相关测速基本原理 图1 如图1 所示,由半导体激光源发射激光束,经过分光器分成两束平行光,聚焦后照射在运动物体(固体)表面,两束入射光光强一致,间距一定(l) ,经过运动物体表面的反射,产生光强随机变化的反射光,经过接收透镜会聚并被两个光电探测器所接收,再经过前置放大,获得两路反映固体速度特征信息的随机相关信号,只要经过互相关分析找到两路随机相关信号之间的延迟时间τ0 ( 渡越时间) , 固体表面速度即可由式v=l/τ0唯一确定。 2、相关分析的数学表达两个随机过程x(t)与y(t)的互相关函数可以用随机变量的平均值来定义,即 参见图1所示的原理装置,在距离l的两点处安装传感器A,B。传感器由激光器光源与光电接收管组成。激光束射向运动物料,其散射光由光电二极管接收。两光电管接收到的光强随机信号分别为x(t)与y(t)。由于两个采样光点都对准物体上的同一条直线轨迹,x(t)与y(t)两者波形应十分相似,仅在时间轴上相差一个τ0的距离。忽略微小差别后,可有下式成立 此时,(2)式可等价地表示为随机过程x(t)的自相关函数 由不等式a2+b2≥2ab,知有下式成立 由于x(t)为平稳随机过程,所以式中 这样(5)式可写作 (7)式两边同乘1/2,并将(4),(6)式代入即得到 (8)式表明,相关函数R(τ)在τ=τ0时取得最大值R(τ0)。再由(1)式便最终获得流动物体的即时速度v。#include cvirte.h #include userint.h #include ansi_c.h #include utility.h #include easyio.h //初级的数据采集函数库 #include Speed.h //激光测速软件的头文件 static int panelHandle; static short device; //设备号 static long numChannels; //通道数 static unsigned long numScans; //扫描数 static char channelString[100];//器件、通道 static double upper; //采集上限 static double lower; //采集下限 static double rate; //每个通道的采集速率 static double * waveforms = 0;//存储采集的波形 static double *Rxy; //相关结果 double actualRate; //实际速率 long error = noError; static double distance; //两个光斑间的距离 double numGraphX; //显示横坐标范围 int OperateCallback (void) ; //运算 子函数 /* ********************************************************/ // 主函数 /***********************************************************/ int main (int argc, char *argv[]) { if (InitCVIRTE (0, argv, 0) == 0) return -1; /* out of memory */ if ((panelHandle = LoadPanel (0, Speed.uir, PANEL)) 0) return -1; GetCtrlVal(panelHandle,PANEL_NUMGRAPHX,numGraphX); //下面一系列回调函数 LimitCallback (panelHandle, PANEL_UPPER, EVENT_COMMIT, 0, 0, 0); LimitCallback (panelHandle, PANEL_LOWER, EVENT_COMMIT, 0, 0, 0);

文档评论(0)

cduutang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档