资源描述:
《基于COM组件的VB与MATLAB混合编程实现振动信号处理.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第23卷第1期山东科学Vo.l23No.12010年2月SHANDONGSCIENCEFeb.2010文章编号:10024026(2010)01003204基于COM组件的VB与MATLAB混合编程实现振动信号处理宋广东,刘统玉,王昌,霍佃恒,祁海峰(山东省科学院激光研究所,山东济南250014)摘要:在用传感器监测机械振动时,需要同步显示监测信号的时域和频域特性,要求用户在采集卡自带简单例程的基础上进行采集软件二次开发。基于COM组件的VB与MATLAB混合编程,通过把MATLAB中的fft函数制作成可接收参数的、能与VB通信的动态连
2、接库(DLL),同时利用VB开发信号采集软件并把采集到的信号以参数的形式传递给DLL,可以实现振动信号时频转换。以同样的方法调用MATLAB中的filter、diff、quad等函数可以实现信号滤波、微分、积分变换等处理功能。该混合编程提供了一种简便、快速、高效地实现信号处理和相关数学运算的方法。本文以振动信号时频转换为例,介绍了借助MATLAB自带的函数生成DLL并最终被VB成功调用的详细过程。关键词:MATLAB;COM组件;DLL;VB;fft中图分类号:TP311文献标识码:ACOMComponentsBasedVBandMATLAB
3、MixedProgrammingtoImplementVibrationSignalProcessingSONGGuangdong,LIUTongyu,WANGChang,HUODianheng,QIHaifeng(InstituteofLaser,ShandongAcademyofSciences,Jinan250014,China)Abstract:Synchronizationdisplayofthetimeandfrequencydomaincharacteristicsofasurveillancesignalrequiresau
4、sertoperformsecondarydevelopmentoftheacquisitionsoftwarewhenusingsensorstosurveilmachinevibration.COMcomponentsbasedVBandMATLABmixedprogrammingcanimplementtimefrequencytransformofavibrationsignalbymakingaMATLABfunctionfftintoadynamiclinklibrary(DLL)thatcannotonlyreceiveparame
5、tersbutalsocancommunicatewithVBandemployingVBtodevelopasignalacquisitionsoftwareandtotransmitthecollectedsignaltotheDLLasaparameter.Thisapproachcanalsobeemployedtoimplementsuchfunctionalitiesassignalfiltering,differentialandintegraltransformbycallingMATLABfunctionsfilter,diffa
6、ndquad.Theapproachprovidesasimple,fastandefficientapproachtoimplementsignalprocessingandothercomputations.Thispaperpresentsthedetailedprocessoftheapproach,takingthetimefrequencytransformofavibrationsignalasanexample.Keywords:MATLAB;COMcomponen;tDLL;VB;fft收稿日期:20091108基金项目:国
7、家863计划项目(2006AA06Z207)资助作者简介:宋广东(1981),男,助理研究员,工学硕士,主要从事矿震监测与信号分析处理方面的研究。Emai:lguangdongsgd@163.com第1期宋广东,等:基于COM组件的VB与MATLAB混合编程实现振动信号处理33[1]MATLAB是美国MathWorks公司开发的大型数学计算应用软件系统,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,所以用MATLAB来解算问题要
8、比用C,FORTRAN等语言简捷得多。利用MATLAB可以轻易实现振动信号的时频转换,但是采集卡驱动程序都不是用MATLA