24小时论文定制热线

热门毕设:土木工程工程造价桥梁工程计算机javaasp机械机械手夹具单片机工厂供电采矿工程
您当前的位置:论文定制 > 毕业设计论文 >
快速导航
毕业论文定制
关于我们
我们是一家专业提供高质量代做毕业设计的网站。2002年成立至今为众多客户提供大量毕业设计、论文定制等服务,赢得众多客户好评,因为专注,所以专业。写作老师大部分由全国211/958等高校的博士及硕士生设计,执笔,目前已为5000余位客户解决了论文写作的难题。 秉承以用户为中心,为用户创造价值的理念,我站拥有无缝对接的售后服务体系,代做毕业设计完成后有专业的老师进行一对一修改与完善,对有答辩需求的同学进行一对一的辅导,为你顺利毕业保驾护航
代做毕业设计
常见问题

时频分析软件的设计开发(Visual C++)

添加时间:2018/11/11 来源:南京航空航天大学 作者:唐林牧
文在研究了数据实时处理与显示关键技术的基础上,采用面向对象的编程方法及模块化设计技术,基于 Visual C++研制开发了一款时频分析软件。该软件系统具有完全自主版权、操作简单灵活、性能稳定可靠、可维护性强等特点。
以下为本篇论文正文:

摘要

  目前,基于 Matlab 开发的时频分析软件在大数据容量处理时存在计算显示速度慢、执行效率低、界面延滞等问题,比较适合算法研究和理论验证,难以满足实际工程分析需求。为了适应现场大容量数据的快速高效分析和参数识别,本文应用多线程、双缓冲等高级编程技术,基于 Visual C++研制开发了一款时频分析软件,实现了小波时频滤波、小波模态参数识别及主频分析等功能,该软件系统具有运算速度快、执行效率高、操作简单灵活、性能稳定可靠等特点。

  使用软件分析现场实际数据,取得了较好的效果,为时频分析理论成果转化为实际工程应用提供了有力工具。

  本文的主要研究工作如下:

  (1)分析比较了现有常用的数值计算库;应用多线程编程技术实现了大数据量长时间计算时可以同时处理软件界面操作响应,提高了软件的操作实时交互性和友好性。

  (2)采用双缓冲技术开发了基于 Visual C++实用的快速图形显示控件 CPlotChartControl,该控件能实现大数据量图形的快速显示,可以显示曲线图、二维时频图及散点图三种类型的图形,并提供了图形拷贝、选取极值等辅助功能。

  (3)根据软件开发流程,首先进行了软件需求分析,明确软件的开发目标和性能等要素;其次进行总体结构设计,确定软件开发平台、界面设计及功能模块划分;然后分别设计实现各功能模块,最终形成具有正确高效、人机交互能力良好等特点的分析软件;最后采用仿真信号分别对各模块功能、运行速度和识别精度进行测试,验证了各功能模块的正确性及高效性。

  (4)软件应用于现场大噪声数据时频滤波、半圆环拱形结构模态参数识别及实际轴承的工况分段,证明了软件的技术实用性。

  关键词:时频分析,Visual C++,IT++,软件研制,多线程技术,双缓冲技术

ABSTRACT

  At present, time frequency software based on Matlab have many problems in the processing of large data capacity, such as slow calculation, low efficiency of implementation, interface delay issues,more suitable algorithm research and theory verification, it is difficult to meet the actual demand for engineering application. In order to adapt to fast analysis of large amounts of data and parameter identification, on the basis of studing real-time data processing and display key technologies, this paper uses multithreading and double buffering advanced programming techniques to develop the time frequency software based on Visual C++. The software implements wavelet time frequency filtering, wavelet modal parameter identification and main frequency analysis function, with fast alculation, high efficiency of inmplemetation, simple and reliable performance. Each functional module is effectiveness and practicality which is validated through actual data, to provide a powerful toll for time frequency analysis. The main contents of this paper are as follows:

  (1)Analysis and comparision of the existing common numerical calculation library. In order to solve the problem of lost response to software interface for a long time calculation, multi-threading technology is adopted. The method improves the interactivity and friendlinesss.

  (2)A practical fast graphics display control CPlotChartControl is developed using double buffering technology based on Visual C++, the control is able to plot a large amount of data rapidly and display curve graph, tow dimensional time frequency diagram and scatter diagram, with graphic copy, coordinate selection and other functions.

  (3)According to the software development process, firstly, this paper describes software requirements analysis, to determine the software development goals and performance factors. Secondly, determine interface design and functional modules division for overall structural design, and then design the various functional modules, eventurally forming a correct and efficient, good human-computer interaction capability analysis software. Finally, applied to testing data, the results show that various functional modules are valid and effective.

  (4)Applied to big noise data filtering, modal parameter identification of semi-circular arch structure model and analysis of bearing conditions, the results verifies that the software is practicality.

  Keywords: Time Frequency Analysis, Visual C++, IT++, Software Development, Multi-threading Technology, Double Buffering Technology

  信号处理的目的就是要揭示信号的本质特征。傅里叶变换是信号时域与频域分析的基础,在信号处理中有着广泛应用,但是,傅里叶变换只能得到信号的时域或者频域信息,反应不出信号频率随时间变换的行为,缺乏时间和频率的定位功能[1]。例如,采用傅里叶变换来诊断轴承故障,我们虽然能得到整个时间段范围内所具有的故障频率的统计特性,却无法确定故障特征频率是何时出现的,因此,傅里叶变换的局限性决定了它只适合于处理平稳信号。然而,现实生活中的信号往往都是非平稳信号,例如飞机飞行时的振动信号,其频谱是随时间变化的,以傅里叶变换为基础的传统信号处理方法对此已经无能为力,因此研究并开发适合非平稳信号的分析方法及软件对生产实践有着重要的意义。

  时频分析方法是一种重要的信号处理方法,提供了时域与频域的联合分布信息,清楚地描述了信号随时间变化的关系,是处理非平稳信号的有力工具。目前,时频分析理论已经比较成熟,在故障诊断、试验模态分析、语音信号分析等领域得到广泛应用。例如,黄稳研究了连续小波变换方法及其边缘效应,应用时频-脊线方法来分析轴流压气机动态测试信号的特征,并基于 Matlab 开发了小波脊线重构软件,在分析过程中取得了较好的效果[2];贾天娇论述了改进Morlet 小波及小波模态参数辨识方法的原理,详细研究了影响模态参数识别精度的几个关键问题,提出确定小波参数的优化选取原则,并在此基础上使用 Matlab 语言编写了适合模态参数识别的软件[3]。然而,这些分析软件在每次分析数据超过 8000 个点时都会出现比较明显的界面延滞,而且软件的执行效率低、扩展性和可维护性差,难以满足实际工程分析需求。产生这些问题的主要原因是:Matlab 是解释性语言,其执行效率低、实时性差,对系统要求高且无法使用多线程技术编写程序,比较适合算法研究和理论验证[4]。因此,为了适应现场大容量数据的快速高效分析和参数识别,本文采用执行效率高且面向对象的 C++语言作为编程语言,以 VisualC++[5]

  作为开发工具,应用模块化编程技术设计开发了一款时频分析软件 WMPI,实现了小波时频滤波、小波模态参数识别及主频分析等功能的快速运算,该软件系统具有运算速度快、执行效率高、性能稳定可靠、操作简单灵活、可维护性强等优点。

  从 1932 年 Wigner 提出时间-频率联合分布的概念到现在,几十年间,时频分析方法获得了迅速发展,各种时频联合分析方法得到了广泛研究及应用,逐步形成了一套独特的理论。目前,常用的时频分析方法主要包括:短时傅里叶变换、Wigner-Ville 分布、Cohen 类时频分布、小波变换等,本文涉及到的时频分析方法包括:短时傅里叶变换和小波变换这两种时频分析方法。

  短时傅里叶变换(STFT)由 Gabor 于 1946 年提出,并用以测量声音信号的频率定位,其主要思想为:取一固定宽度的窗函数,用该窗函数沿信号时间轴滑动,将信号截取成多段长度相等的短时信号,并假设截取的短时信号是平稳的,然后对每一小段短时信号分别作傅里叶变换,得到时间-频率平面上的二维频谱。

  信号的短时傅里叶变换能有效地反映信号的频谱随时间的变化情况,实现了对信号的时间和频率定位,但其时频分辨率是折中的结果,无法兼顾信号的缓变和瞬变部分。为了使信号的高频部分具有好的时间分辨率,而低频部分有高的频率分辨率,实现在时频平面不同位置有不同的时频分辨率,法国地球物理学家 Morlet 于 20 世纪 80 年代初提出了小波变换的概念。

  在实现时频分析算法的过程中,涉及到大量的矩阵及数值计算,例如傅里叶变换、矩阵分解、特征值及特征向量的计算等,倘若自己采用 C++编写这些数值计算程序,不仅难度大,费时费力,而且程序的效率和可靠性也很难得到保证。因此,为了降低编程的工作量,减少时频分析软件的开发难度,同时提高软件的效率和可靠性,使用已有且经过长期实践检验的数值计算库函数是一个不错的选择。

  FFTW(the Fastest Fourier Transform in the West)是一个快速计算离散傅里叶变换的 C 语言程序集。由 MIT 的 Matteo Frigo 博士和 Steven G. Johnson 博士于 1997 年开发并发布的开源软件包,支持任意大小、任意维数数据的离散傅里叶变换,且还支持离散余弦变换、离散正弦变换和离散哈特莱变换。FFTW 支持包含对共享和分布式存储系统的并行变换,能自动适应硬件配置,从而根据具体的硬件配置和变换参数来构造不同的计算方案(plan),以达到最佳效果。因此,使用 FFTW 进行傅里叶变换被分成两个步骤。第一步:FFTW 针对机器配置和变换数据大小规划出最优的计算方案(plan),并生成一个特定的数据结构,来存储包含和该计算方案相关的配置信息,如内存大小、寄存器个数等;第二步:对输入数据进行变换。当然,在执行相同参数条件任务下,该计算方案是可以重复多次使用的,这样就可以省去费时的初始化过程。总的来说,FFTW 对于某一参数类型的单次变换优势不明显,而对于参数相同的多次变换具有更快的计算速度。

  根据测试结果表明,FFTW 在计算速度方面比目前其他免费的傅里叶变换程序都要快,甚至能与收费的傅里叶变换库相媲美;不仅如此,FFTW 还提供了 C 和 Fortran 接口,能够轻松地移植到不同平台上,因此,FFTW 已在故障诊断、地震预报、数值计算软件开发等领域得到广泛应用,如数值计算软件 Matlab 中的快速傅里叶变换就调用 FFTW 库来实现的。目前 FFTW的最新正式版本为 3.3.2,在其官网可下载已预编译好的动态链接库供用户使用。

  时频分析软件功能演示:

小波时频分析结果和提取脊线图
小波时频分析结果和提取脊线图

小波变换
小波变换

飞机模型扫频激励信号波形图
飞机模型扫频激励信号波形图

半圆环拱形结构
半圆环拱形结构

模态频率初始估计
模态频率初始估计

目 录

  第一章 绪论
    1.1 时频分析软件的研究背景
    1.2 课题的来源
    1.3 时频分析软件中涉及的时频分析方法介绍
      1.3.1 短时傅里叶变换
      1.3.2 小波变换
    1.4 常用数值计算库介绍
      1.4.1 BLAS 库和 LAPACK 库
      1.4.2 FFTW 库
      1.4.3 IT++库
    1.5 本文主要研究工作
  第二章 数据实时处理与显示关键技术
    2.1 多线程技术
      2.1.1 线程的类型
      2.1.2 创建辅助线程
      2.1.3 线程间的通信
    2.2 快速图形显示控件的实现
      2.2.1 基本步骤及相应快速实现算法
      2.2.2 控件使用及辅助功能介绍
      2.2.3 控件测试
    2.3 本章小结
  第三章 时频分析软件系统分析、设计及实现
    3.1 软件需求分析
      3.1.1 设计目的
      3.1.2 术语说明
      3.1.3 功能需求
      3.1.4 性能需求
      3.1.5 运行环境
    3.2 软件总体设计
      3.2.1 软件总体结构设计
      3.2.2 主要功能模块设计
    3.3 软件各功能模块的实现
      3.3.1 数据加载与显示模块
      3.3.2 小波时频滤波模块
      3.3.3 小波模态参数识别模块
      3.3.4 主频分析模块
      3.3.5 分析结果显示与保存模块
    3.4 本章小结
  第四章 软件主要模块测试
    4.1 小波时频滤波模块测试
      4.1.1 功能测试
      4.1.2 性能测试
    4.2 小波模态参数识别模块测试
      4.2.1 功能测试
      4.2.2 性能测试
    4.3 主频分析模块测试
      4.3.1 功能测试
      4.3.2 性能测试
    4.4 本章小结
  第五章 时频分析软件的应用
    5.1 大噪声信号数据时频滤波
    5.2 半圆环拱形结构模态参数识别实验
      5.2.1 实验设备与过程
      5.2.2 实验数据分析
    5.3 轴承工况分析
      5.3.1 轴承基本信息
      5.3.2 工况分析方法
    5.4 本章小结
  第六章 总结与展望
    6.1 全文内容总结
    6.2 后续研究展望
  参考文献
  致 谢

(如您需要查看本篇毕业设计全文,请您联系客服索取)

相关内容
相关标签:VC毕业设计
好优论文定制中心主要为您提供代做毕业设计及各专业毕业论文写作辅导服务。 网站地图
所有论文、资料均源于网上的共享资源以及一些期刊杂志,所有论文仅免费供网友间相互学习交流之用,请特别注意勿做其他非法用途。
如有侵犯您的版权或其他有损您利益的行为,请联系指出,论文定制中心会立即进行改正或删除有关内容!