服务热线:+86-0000-96877

站内公告:

诚信为本:市场永远在变,诚信永远不变。
客房展示

GUEST ROOM

欢迎您的到来!

+86-0000-96877
景点新闻
尊龙人生就是博!官方网站下载

当前位置: > 尊龙人生就是博!官方网站下载 >

基于VC++的动态信号分析系统的设计方案

时间:2024/01/16  点击量:

  随着科技水平的不断提高,机械工程振动测试技术也随之进入了一个崭新的阶段。动态信号分析作为一门以捕捉和处理各种动态信息为目的的综合技术在当代科学技术中占有相当重要的地位。近年来,多通道、高性能动态信号分析系统推出并已广泛应用于各个领域。并且随着使用者对动态信号的分析需求越来越多样化,使得柔性化设计成为动态信号分析系统研制的主流方向。国外的动态信号仪器采样精度高、功能强大,但产品的价格相对很高。而目前国内的测试分析系统与国外的相比,还有一定的差距。因此,研制拥有自主知识产权的实时的动态信号分析系统有着非常现实的科学意义和工程实用价值。

  基于此,本文以Windows XP系统为开发平台,采用面向对象的编程技术和VC++为开发工具,研制一套基于VC++的动态信号分析系统。软件开发采用模块化的设计细想,把各种功能对象化并进行封装,提高了各模块的可移植性和重复使用性。系统可实现对单个和多个信号的实时同步采集,并能对信号进行分析处理,还能实现数据分段存储和波形回放查看。

  系统总体设计的好坏直接关系到整个测试分析任务的成败以及完成质量的好坏。从硬件上看,系统总体上由计算机、USB 接口、数据采集硬件、传感器等组成。

  驱动程序和应用软件则装在计算机中,驱动程序是遵循USB协议编写的负责应用软件与采集卡正常通信的程序。

  软件系统设计与开发是本项目开发的重点和难点。利用VC++为开发平台,进行系统软件设计。本项目的软件系统设计主要包括:软件系统总体框架设计、数据采集模块设计、信号分析与处理模块设计、数据存储模块设计等。

  软件设计以Windows XP 系统为开发平台,采用面向对象的编程技术和VC++ 6.0为开发工具实现。软件开发采用模块化的设计细想,把各种功能对象化并进行封装,提高了各模块的可移植性和重复使用性。采用统一的软件体系和总体模块组成结构,即每个模块都包含程序控制、参数设置、数据分析和数据显示四个子模块。

  其中参数设置模块、数据分析模块和数据显示模块为功能模块,程序控制模块是系统的中枢部分,它负责协调各个模块有效的配合和工作,接受操作者给出的各种指令,调用相应的分析模块算法,并把分析结果通过数据可视化接口显示给用户。子模块的菜单、工具条及快捷键是程序控制模块的外在表现,并通过这些外在的表现与操作者交互,转化为各个功能模块能够理解的内部指令,统一调用功能模块,实现用户预期的指令目标。

  数据分析模块采用动态链接库技术,集成和封装了系统所需的算法,并提供接口供程序控制模块调用,是每个子模块的核心部分。

  数据显示模块负责将数据处理的结果以丰富的方式呈现给用户,供用户对处理结果进行评判或进一步的处理。

  软件系统设计与开发是整个分析系统开发的重点和难点。采用VC++为开发平台,进行系统软件设计。

  软件系统设计主要包括:软件系统总体架构设计、数据采集模块设计、信号分析与处理模块设计、数据存储模块设计等。

  软件系统总体架构设计见第2部分,不再赘述。数据采集模块、数据分析与处理模块和数据存储模块。三个模块之间,相互联系,其功能分别如下:

  数据采集模块:采集卡参数设置、采集设备的启停控制和复位,实现数据采集功能(连续采集或单次采集);数据分析和处理模块:通过从数据采集模块或存储模块的获得数据,结合分析参数的设置,实现信号实时波形显示、频谱分析、相关分析、包络谱分析、统计特征分析等;数据存储模块:实现数据的存储和读取,并回放显示、分析处理的功能。

  基本布局设计如下:窗口顶部为菜单工具条区域,左下部分为数据显示区域,右下部为数据信息浏览和控制区域。系统主界面如图3所示。

  首先将客户区分割为1行2列两个部分:左侧为电压值数字显示窗口,关联的类为CADDigitView(派生自CScrollView);右侧为图形显示窗口,关联的类为CAD-WaveView(派生自CScrollView)。参数设置及分析控制采用2个对话栏,派生自CDialogBar,用户可以通过其进行采集卡参数设置和信号采集、分析控制。由于程序功能较为简单,故在界面上几乎就可以进行全部的操作,使用上极其方便。

  频谱分析是数字信号处理技术的一个非常重要的手段,以便能清楚的看到某波形的频谱分布情况.而要对一个输入信号源作频谱分析,将其由时域信号转变为频域信号,就必然要用到傅里叶分析。快速傅里叶变换(Fast Fourier Transform,FFT)的迅速发展,使数字频谱分析取得了突破性的进展。FFT的算法种类较多,而且选择使用的方式也各不一样,本文选用时间抽选奇偶分解快速离散傅里叶变换。

  (1)将原始序列按下标的奇、偶性质不断分解,一直由一个N 项序列分解为N 个单项重排序列;

  (3)对N 个单项重排子序列的DFT两两合成,最终得到一个N 项序列的DFT,这就是原始序列的DFT.

  在进行FFT时,按照“蝴蝶图”所描述的计算方法对输入的时域序列按奇偶分解后的序列排序而输出的频域序列仍是按自然顺序排列的。此方法无须中间存储单元,但需要倒一次序.

  下面代码用于完成对原始采样时域序列的快速傅里叶变换,A,M 分别表示指向原始采样数据数组的指针和序列长度的2的整数次幂:

  在信号分析中,相关性是一个非常重要的概念,它表达了两个信号(或一个信号不同时刻)之间的线性相关程度。

  式中:N 为采样点数;Δt 为采样间隔;n 为时间序列;r为时延序列(时间位移数)。

  根据式(3)直接计算采样数据之间的平均乘积,然后以此作为自相关函数估计。本次即采用该方法设计算法;

  该方法得到的不是通常的自相关函数,是“循环”相关函数。该方法通过在原数据补0后经FFT,计算其自功率谱后做IFFT,取前半部分而得到其自相关函数。

  根据式(5)直接计算采样数据之间的平均乘积,然后以此作为互相关函数估计。本次即采用该方法设计算法;

  该方法同FFT,计算其互功率谱后做IFFT,取前半部分而得到其互相关函数。

  两个不同频率的正弦波信号的相关信号如图5 所示,因为频率不同,所以不相关,其波形接近值恒为零的直线 包络线分析

  信号的包络通常有3种提取方法:Hilbert幅值解调法、检波-滤波法和高通绝对值解调法。

  VC 中基于MFC 编写的程序中,窗口的移动缩放、鼠标点击等操作都会引起窗口重绘.本应用程序中使用绘图方式输出采集数据、信号波形图、频谱图等,绘制比较复杂,也比较消耗CPU时间,因此频繁的重绘会引起画面闪烁,影响信号动态显示分析效果,为此这里采用了双缓存技术,解决闪屏问题。铁床

首页 | 尊龙人生就是博!官方网站下载 | 尊龙d88官网下载 |

+86-0000-96877

Copyright © 2002-2017 DEDECMS. 织梦科技 版权所有 Power by DedeCms

地址:广东省深圳市福田区振业大厦6楼103室电话:+86-522-96877手机:+86-566-96877

技术支持:凯发娱乐传媒ICP备案编号:

微信扫一扫

微信扫一扫