基于MATLAB的振动测试信号处理与分析系统设计与实现_图文

2008 年 10 月 第 10 期

电子测试 EL EC TRON IC TEST

Oct . 2008 No . 10

基于 MATL AB 的振动测试信号处理与 分析系统设计与实现
孙苗钟 , 赵   鹏
( 天津科技大学机械工程学院   天津   300222)

摘   : 可以用不同编程语言来实现振动测试信号处理和分析系统 ,但这些语言在分析功能和图形处理的编程 要 方面难度较大 ; 由于 MA TL AB 具有强大的信号处理与分析专用函数库以及丰富的图形显示能力 ,在此平台上
L AB 的图形界面 ( GU I) 功能建立在 WINDOWS 系统下可执行的系统操作界面 。本文介绍了设计的系统结构框

  

DOWS. This paper also introduces the strutrural frame of the system , partial programming languages of the system and process for graphics interface built by GU I function. Some functions of the syt stem are demonstrated and validated by examples. Keywords :virt ual inst rument ; vibratio n test ; signal p rocess ; signal analysis ; p rogramming

0      引 言

  88

进行 M 文件的编程直接调用这些功能来设计该系统比上述语言具有独特优越性 、 容易实现 , 并可运用 MA T2 图 、 GU I 功能建立图形界面的过程和实现部分功能的编程语言 ,用实例演示和证实了有关功能处理的结果 。 用 关键词 : 虚拟仪器 ; 振动测试 ; 信号处理 ; 信号分析 ; 编程 中图分类号 : T H7    文献标识码 : A

Design and realizatio n of vibratio n test signal p rocessing and analysis system based o n MA TL AB

Sun Miaozho ng , Zhao Peng

( College of Mechanical Engineering , Tianjin U niversity of Science & Technology , Tianjin 300222 , China)

nalysis system . But it is difficult for these languages to program in the cases of signal analysis functions and graphics processing. Because MATLAB has many powerful signal processing , analysis functions and much graphics processing ability. Based on MATLAB , it is more superior and easier to realize this system by M file programs using directly these functions than by the above languages. Furthermore

the MATLAB GU I function is used to realize the operation interface of the system based on WIN2 MATLAB 是一套高性能的数值计算和可视化

Abstract :Different progamming languges can be used to realize a vibration test signal processing and a2

软件 ,它集数值计算、 信号处理和图形分析等功能于 一体 ,被称为演算纸式的语言。它强大的功能为各 领域的应用提供了基础 , 已经从最初的 “矩阵实验 室” 渗透到科学与工程计算的多个领域 ,在自动化控

测控系统 制、 信号处理、 小波分析 、 神经网络等多个方向都有 着广泛的应用 ,MATLAB 对振动测试方面也集成了 丰富的信号处理和分析功能专用函数库[ 122 ] 。 有的优势 ,易于编程实现 。

2008. 10

2   GUI 功能实现操作界面 用
在 MA TL AB 命令窗口中输入 guide , 此时将 启动 GU ID E Quick Start 对话框 。创建一个新的 GU I ,根据系统实现的功能决定选择使用的控件 , ( 包括 “命令” 按钮 ( Push But to n ) 、 “文本框” edit 2 ( text ) “弹出菜单” Pop2up menus) 、 、 控件板 (panel ) 和坐标轴 ( axis ) 等 。还用菜单编辑器编制了主菜 单。 分析 系 统 及 界 面 设 计 结 束 后 , 为 了 能 脱 离 MA TL AB 平台单独运行该系统 , 需要将其编译为 执行文件 。M TL AB 自带这样的编译工具 ,编译命 令为 mcc ,它的相关参数说明可参见 MA TL AB 的 帮助 。 比如已编程完 Anisys. m 文件和 Anisys. fig 文 件 ,编译过程如下 : ( 1) 在 MA TL AB 的 co mmand 窗口中输入下 面命令 : mcc2B sgl A nisys. m ( 2) 将上步生成的文件包括 3 . m 文件和 3 . fig 文件一起 拷贝 到 待 运 行 的 计 算 机 , 此 时 仍 需 要 matlab 的动态链接库 。 ( 3 ) 将 < matlab pat h > / extern/ lib/ win32/
mglinstallar. exel 拷贝到待运行的计算机 。 ( 4) 先运行 mglinstallar. exe , 然后选择解压目

影响最大的虚拟仪器编程语言是美国 N I 公司

的 LabV EIW 和 LabWindows/ CV I ,还有其他基于
WINDOWS 操 作 系 统 的 可 视 化 编 程 工 具 如 VB 、 + + 、 hi 等 。这些平台在系统操作界面 C Delp

的编程方面各有自己独特的优点 ,但这些平台对各 种振动测试信号处理和分析功能编程开发方面 , 难 度较大 , 费时费力 , 从而限制了某些功能的开发 。
MA TL AB 由于其强大的信号处理和分析专用的数

据函数库以及图形显示功能 , 在 MA TL AB 平台上 进行 M 文件的编程可直接调用其内的各种专用函 数库 ; 并且 , 还可利用 MA TL AB 的提供图形界面 ( GU I) 编程功能 , 通过一些特有的控件 , 能够方便 实现脱离 MA TL AB 平台而在 WINDO WS 系统下 执行的操作界面 。利用 MA TL AB 构建一套具有 功能丰富的振动测试信号处理与分析系统具有独

1  系统的功能

该系统的结构主要包括 : 信号预处理、 时域分析

和频域分析 3 个模块。系统的结构框图如图 1 所示。

录 ,将在指定目录下解压出 bin 和 toolbox 两子目 录 , 在 bin\ win32 目录下 , 就是数学库和图形库 , 即为脱 离 MA TL AB 运 行 所 需 的 所 有 动 态 链 接

图1  系统结构框图

系统界面可以进行两通道的信号处理与分析 , 分 析时显示的 图 形 可 根 据 不 同 的 要 求 通 过 MA T2 L AB 的编程语言随时变化 , 从而达到不同的显示 效果 。   89

库 ,共 有 37 个 。可 以 将 3 . dll 文 件 考 入 系 统 的 system32 子目录下 , 也可以直接放在应用程序目 录下 。而 toolbox 目录则必须在应用程序同一目 录内 。 通过编程调试 ,系统运行后界面如图 2 所示 。

2008. 10 ft =’bangpass ; ’ case 4  %带阻 ft =’stop’ ; ot herwise ft =’low’ ; end

Test and Co nt rol System

图 2  GU I 编程的系统界面

滤波器种类选择 : switch kin case 1  %巴特沃斯滤波器 [ n ,wn] = buttord (wp/ ( sf/ 2) ,ws/ ( sf/ 2) ,rp ,rs) ; [ b ,a ] = but ter ( n ,wn ,f t ) ;
case 2  %切比雪夫 I 型滤波器 [ n , wn ] = cheb1ord ( wp/ ( sf/ 2 ) , ws/ ( sf/ 2 ) , rp ,r s) ; [ b ,a ] = cheby1 ( n ,rp ,wn ,f t ) ; case 3  %切比雪夫 II 型滤波器 [ n , wn ] = cheb2ord ( wp/ ( sf/ 2 ) , ws/ ( sf/ 2 ) , rp ,r s) ; [ b ,a ] = cheby2 ( n ,r s ,wn ,f t ) ; case 4  %椭圆滤波器 [ n , wn ] = ellip but tord ( wp/ ( sf/ 2 ) , ws/ ( sf/ 2) ,rp ,r s) ; [ b ,a ] = cheby1 ( n ,rp ,r s ,wn ,ft ) ; ot herwise  %默认巴特沃斯滤波器 [ n ,wn] = buttord (wp/ ( sf/ 2) ,ws/ ( sf/ 2) ,rp ,rs) ; [ b ,a ] = but ter ( n ,wn ,f t ) ; end y = filter ( b ,a ,x) ;

3  部分功能的编程实现
系统的功能比较多 , 不能一一列出 M 文件的 编程语言 。仅以实现数字滤波器和快速傅里叶变 换功能为例介绍编程语言 。 3. 1   数字滤波器 系统界面设计了滤波器选择菜单可选择滤波 器类型 , 通过文本框输入来设置滤波器的相关参 数 。滤波器采用了完全设计法设计 ,主要包括选择 滤波器方式 、 种类以及输入的相关参数 , 下面列出 编程的主要部分 。 滤波器相关参数读取 : wp = st r2do uble ( get ( findo bj (’ Tag’ ,’ t dpl’ ) ,’ st ring’) ) ; %通带截止频率 ( Hz) w s = st r2do uble ( get ( findo bj (’ Tag’ ,’ zdpl’ ) ,’
st ring’) ) ; %阻带截止频率 ( Hz) rp = st r2do uble ( get ( findo bj (’ Tag’ ,’ t dbd’ ) ,’ st ring’) ) ; %通带波动系数 ( dB ) r s = st r2do uble ( get ( findo bj (’ Tag’ ,’ zdsj’ ) ,’ st ring’) ) ; %阻带衰减系数 ( dB )

以上程序中的 mod 和 kin 参数是通过 “弹出菜 单” 选取 , 然后用程序执行后返回得到的 , 以 mod 为例 ,语言如下 : f unctio n mod _ Callback ( hObject , event data , handles) %调用 Callback 函数 glo bal mod ; %全局变量 mod = get ( hObject ,’Value’) ; %取值
3. 2   快速傅里叶变换

滤波方式选择 : switch mod
case 1   %低通 ft =’low’ case 2 %高通 ft =’high’ ; case 3  %带通

通过读出数据 x , 直接调用 fft 函数 , 并用 plot 函数绘出幅频曲线图 ,其相关语言如下 :

  90

测控系统
y = fft ( x) ; %调用 FF T 函数 f = 0 : sf/ nff t : ( nt - 1) 3 sf/ nff t ; %频率计算 plot ( H2 ,f ,abs ( y) ) ; %调用绘图函数
图5  100 Hz 正弦波信号 FF T 分析的幅频图

2008. 10

5      结 论
MA TL AB 提供的丰富函数库为构建测试系统

max (y) / 2]) ; %用 axis 函数来设定坐标系的显示范围。

4  实例演示与验证

平滑处理后在系统分析界面上截取的波形图 。

从图中可知原振动信号是带有高频噪声的周期信 号 ,经过平滑处理以后 ,得到了纯的周期信号 ,效果明显。 图 5 是对一个 100 Hz 的标准正弦波快速傅里 叶变换分析的结果 ,分析时可以用鼠标对幅值进行 捕捉 , 很方便实现对分析值读取 , 从图中证实分析 的结果与理论值十分吻合 。

axis ( [0 , ( nt - 1) 3 sf/ ( nfft 3 2) ,3 3 min ( y) / 2 ,3 3

图 3 和图 4 是对某一采集到的振动原信号和

软件提供了良好的编程平台 ,能很好地实现所需要 的功能 ,大大缩短了软件开发的时间 。该系统功能 多 ,而且其界面可以通过人机对话方式方便操作 。 除系统这些功能以外 , 其功能完全可以进一步拓 展 。比如 , 在这个基础上 , 可以调用 MA TL AB 混 合编程增强系统的数据处理功能 ,可以增加实时数 据采集 、 实时信号信号处理与分析功能 , 为后继开 发留下了模块添加的空间 。    参考文献
[1]  元波 . 精通 MA TL AB7. 0 混合编程 [ M ] . 北京 : 电子

工业出版社 ,2006.
[2]  楼顺天 , 刘小东 , 李博菡 . MA TL AB7. x 的系统分析

与设计 . 信号处理 [ M ] . 西安 : 电子科技大学出版社 ,
2005. [ 3 ]  王济 , 胡 晓 . MA TL AB 在 振 动 信 号处 理 中 的 应 用 [ M ] . 北京 : 中国水电水利出版社 ,2006. [4]  韩芝侠 ,王强 . 基于 MA TL AB GU I 的数字滤波器设 [5]  秦辉 ,席裕庚 . 基于 Matlab GU I 的预测控制仿真平 [6]  孙苗钟 . 基于 MA TL AB 的振动信号平滑处理方法 [ 7 ]  孙苗钟 . 一种消除振动信号多项 式趋 势项的 方法 [8]  刘君华 . 现代检测技术与测试系统设计 [ M ] . 西安 : [J ] . 仪器仪表与分析监测 ,2007 ( 1) :15217. [J ] . 电子测量技术 ,2007 (6) :55257.

   作者简介

车检测和安全的研究 。

一体化与控制技术 。

E2mail : smzh @t ust . edu. cn

孙苗钟 (19642) ,男 ,硕士 , 副教授 , 现从事测试技术 、 汽 赵鹏 (19852) ,男 ,硕士研究生 ,主要研究方向为光机电

计与实现 [J ] . 陕西理工学院学报 ,2007 ( 1) :33237. 台设计 [J ] . 系统仿真学报 ,2006 ( 10) :277822781. 西安交通大学出版社 ,2000.

  91


相关文档

基于MATLAB的振动理论分析系统的设计与实现
基于USB的振动信号测试分析系统的设计与实现
基于MATLAB的数字信号处理与分析课程设计
基于MATLAB的振动测试数据分析平台的设计
基于VB与MATLAB的数学与数字信号处理实验系统的设计与实现
基于Matlab的信号处理系统的设计与实现v1_2012版
基于Matlab的信号处理系统的设计与实现v1_2011版
基于MATLAB的某产品振动信号处理
基于Matlab的加速度传感器振动信号处理方法研究
基于matlab的数字电子琴信号处理系统的设计与实现
电脑版