学位论文-—数字信号机械振动信号分析及故障报警
- 格式:doc
- 大小:316.50 KB
- 文档页数:20
《基于振动信号的机械故障特征提取与诊断研究》篇一一、引言在现代工业生产中,机械设备的正常运行对生产效率和产品质量具有重要意义。
然而,由于长期运转和各种内外因素的影响,机械设备不可避免地会出现各种故障。
为了有效监测和诊断机械设备的故障,研究基于振动信号的机械故障特征提取与诊断方法显得尤为重要。
本文旨在探讨基于振动信号的机械故障特征提取与诊断研究的相关问题及解决方案。
二、振动信号与机械故障的关系振动信号是机械设备运行过程中产生的物理量,包含了丰富的设备运行信息。
机械设备的故障往往会导致其振动信号发生变化,因此,通过对振动信号的分析和处理,可以提取出反映设备故障特征的信息。
这种基于振动信号的故障诊断方法具有非接触、实时、高效等优点,已成为现代机械设备故障诊断的重要手段。
三、机械故障特征提取方法针对机械设备振动信号的特点,本文提出了一种基于信号处理和模式识别的机械故障特征提取方法。
该方法主要包括以下几个步骤:1. 数据采集:使用传感器对机械设备振动信号进行实时采集。
2. 信号预处理:对采集到的振动信号进行去噪、滤波等预处理操作,以提高信号的信噪比。
3. 特征提取:通过时域分析、频域分析和时频域分析等方法,从预处理后的振动信号中提取出反映设备故障特征的信息。
4. 模式识别:利用机器学习、深度学习等算法对提取出的特征进行分类和识别,从而实现对设备故障的诊断。
四、诊断模型与算法研究在机械故障诊断中,诊断模型和算法的选择对诊断结果的准确性具有重要影响。
本文提出了一种基于深度学习的诊断模型和算法,该模型能够自动学习和提取振动信号中的故障特征,从而实现高精度的故障诊断。
具体而言,该模型采用卷积神经网络(CNN)和长短期记忆网络(LSTM)等深度学习技术,对振动信号进行多层次、多尺度的特征学习和表达,从而实现对设备故障的准确诊断。
五、实验与分析为了验证本文提出的机械故障特征提取与诊断方法的有效性,我们进行了大量的实验。
机械振动信号处理与故障诊断方法研究近年来,机械振动信号处理与故障诊断方法的研究受到了广泛关注。
随着工业领域对机械设备高效、稳定运行的需求增加,对机械振动信号处理和故障诊断的精度和准确度提出了更高的要求。
本文将从机械振动信号处理和故障诊断方法的研究现状、主要方法以及应用前景等方面进行分析和阐述。
首先,机械振动信号处理与故障诊断方法的研究现状可以分为传统方法和基于数据驱动的方法两个方面。
传统方法主要依赖于经验公式和统计学方法,如时域、频域分析等,虽然这些方法在特定情况下可以发挥作用,但对于复杂的非线性振动信号处理和故障诊断任务,存在一定的局限性。
数据驱动的方法则通过采集大量的振动数据,利用模式识别、机器学习等技术,通过建立模型从数据中提取有用的信息,具有更好的适应性和效果。
其次,机械振动信号处理与故障诊断方法的主要方法主要包括特征提取和故障诊断两个方面。
特征提取是将原始振动信号转换为有意义的特征向量的过程,常用的特征包括时域统计量、频域指标、小波变换等。
这些特征能够代表振动信号的不同方面,如振幅、频率、能量等。
故障诊断则是通过对提取的特征进行分析和处理,建立故障诊断模型,实现对机械故障的准确诊断。
常用的方法包括支持向量机、神经网络、高斯过程等。
另外,机械振动信号处理与故障诊断方法在实际应用中具有广泛的前景。
一方面,机械故障诊断可以提前预警设备故障,降低事故发生的风险,保障生产安全和效率。
另一方面,机械振动信号处理可以用于降噪和滤波,提升信号的质量,为后续的信号处理和分析提供更好的基础。
此外,随着机械工程领域中大数据和人工智能的快速发展,机械振动信号处理与故障诊断方法也将得到更广阔的应用空间。
然而,机械振动信号处理与故障诊断方法仍面临一些挑战。
首先,复杂的非线性振动信号具有较高的维度和复杂结构,特征提取和故障诊断任务的难度较大。
其次,机械设备的振动信号可能受到多种因素的影响,如温度、湿度、负载等,因此需要分析和消除这些干扰因素。
机械振动信号分析与故障诊断一、引言机械设备在日常运行中常常会出现各种各样的故障问题,其中振动问题是比较常见的一种。
通过对机械振动信号的分析与诊断,可以提前预知机械设备的潜在故障,从而采取相应的维修措施,保证设备运行的可靠性和安全性。
本文将主要介绍一些常见的机械振动信号分析方法和故障诊断技术。
二、机械振动信号的特点机械设备在运行过程中会产生各种各样的振动信号,这些信号包含了丰富的信息,能够反映出机械设备的工作状态和故障状况。
机械振动信号的特点主要包括以下几个方面:1. 频谱特性:机械振动信号的频谱分布通常是不均匀的,其中包含了各种不同频率的分量。
通过对振动信号的频谱进行分析,可以确定频谱分量的大小和分布情况。
2. 时域特性:振动信号的时域特性主要包括振动波形的幅值、时间和频率等参数。
通过对振动信号的时域分析,可以了解振动信号的动态变化。
3. 能量特性:机械振动信号的能量分布通常是不均匀的,其中一部分能量是由于机械设备本身的运动引起的,另一部分能量则是由于机械故障引起的。
通过对振动信号的能量特性进行分析,可以判断机械设备是否存在故障问题。
三、机械振动信号分析方法为了对机械设备进行故障诊断,需要采用一些有效的机械振动信号分析方法。
下面介绍几种常用的方法:1. 频谱分析法:频谱分析法是一种将振动信号转换为频谱图的方法。
通过对振动信号进行傅里叶变换,可以得到振动信号的频谱分布情况。
通过分析频谱图,可以确定机械设备的主要频率分量和故障频率分量。
2. 小波分析法:小波分析法是一种将振动信号分解成不同频率的分量的方法。
通过小波分析,可以得到振动信号的时间-频率分布情况。
与频谱分析相比,小波分析具有更好的时间-频率分辨率。
3. 瞬时参数分析法:瞬时参数分析法是一种分析振动信号的瞬时变化的方法。
通过对振动信号的瞬时参数进行分析,可以了解到机械设备的动态变化和故障情况。
四、机械故障诊断技术机械故障诊断技术主要是通过对机械振动信号的分析,判断机械设备是否存在故障问题,并确定故障的类型和位置。
机械工程中的振动信号分析与故障诊断技术研究引言:振动信号分析与故障诊断技术在机械工程领域中扮演着重要的角色。
通过对机械设备振动信号的分析,可以及时发现潜在的故障问题,预测设备寿命,提高设备运行效率,降低设备维护成本。
本文将探讨振动信号分析与故障诊断技术的研究现状以及未来发展趋势。
一、振动信号分析在机械工程中的应用振动信号分析在机械工程领域中具有广泛的应用。
振动信号可以包含丰富的信息,能够反映机械设备的运行状态、结构特性和故障状况。
通过对振动信号的分析,可以实现对机械设备的运行过程进行监测、故障诊断和预测。
1.1 振动信号的特征提取振动信号的特征提取是振动信号分析的核心内容之一。
通过对振动信号进行时域分析、频域分析和时频域分析等方法,可以提取出振动信号的幅值、频率、相位等特征参数,进而分析机械设备的运行状态。
1.2 故障诊断与预测振动信号分析在机械设备故障诊断与预测中发挥着关键作用。
通过比对振动信号的特征参数与故障模式数据库中的对应关系,可以准确判断机械设备的故障类型和位置。
同时,利用振动信号的时序特性,可以对机械设备未来的寿命进行预测,从而及时安排维护计划,避免机械设备故障带来的生产损失。
二、振动信号分析与故障诊断技术的研究现状目前,国内外学者和工程师们对振动信号分析与故障诊断技术进行了广泛的研究。
研究包括但不限于信号处理方法、特征提取算法、故障模式识别等方面。
2.1 信号处理方法信号处理方法是振动信号分析的重要基础。
国内外学者提出了多种信号处理方法,如小波分析、独立分量分析(ICA)、奇异谱分析(SSA)等。
这些方法能够提取出振动信号中的隐含信息,为后续的特征提取和故障诊断提供基础。
2.2 特征提取算法在振动信号分析中,特征提取算法是关键一步。
目前广泛应用的特征提取算法包括傅里叶变换、小波变换、相关函数分析等。
这些算法可以从振动信号中提取出幅值、频率、相位等特征参数,为故障诊断提供依据。
2.3 故障模式识别故障模式识别是振动信号分析的重要部分。
机械振动信号的特征分析与故障诊断引言近年来,随着科技的不断发展,机械设备的应用越来越广泛。
然而,由于长时间工作和不良工作环境等因素,机械设备的故障率也逐渐增加。
因此,进行机械设备的故障诊断和预测对于提高设备的可靠性和工作效率至关重要。
本文将探讨机械振动信号的特征分析与故障诊断。
一、机械振动信号的特征分析1. 振动信号的采集机械设备中的振动信号通常通过加速度传感器进行采集。
采集的数据可以是时域信号,也可以进行傅里叶变换得到频域信号。
2. 时域分析时域分析是对振动信号在时间上的变化规律进行分析。
通过观察振动信号的波形、幅值和频率等特征,可以初步判断出机械设备的工作状态。
例如,当振动信号呈现规律性的周期性波形时,说明机械设备正常运行;而当出现突然的幅值变化或频率变化时,可能存在故障。
3. 频域分析频域分析是将振动信号从时间域转换到频率域进行分析。
通过傅里叶变换等方法,可以得到振动信号的频谱图。
频谱图可以清晰地显示振动信号在不同频率上的分布情况。
根据不同频率上的峰值和频率分布情况,可以分析出机械设备的工况和故障情况。
例如,当频谱图中出现特定频率的峰值时,可能说明存在共振或传动系统故障。
二、机械振动信号的故障诊断1. 故障特征提取在进行机械设备的故障诊断时,首先需要从振动信号中提取故障特征。
根据机械设备的不同类型和工作方式,故障特征可能具有多种形式。
例如,对于滚动轴承故障,常用的特征包括脉冲特征、包络谱特征和细节系数特征等。
2. 故障诊断方法针对不同类型的故障,可以采用不同的诊断方法。
常见的故障诊断方法包括模式识别、神经网络和支持向量机等。
这些方法可以通过对机械振动信号进行特征提取和分析,建立故障诊断模型进行故障判断。
3. 故障诊断系统为了实现机械设备的在线故障诊断和预测,可以搭建故障诊断系统。
故障诊断系统将振动传感器、数据采集模块、信号处理模块和故障诊断模型等部件进行集成,实时监测和分析机械设备的振动信号,并输出故障诊断结果。
机械振动信号处理与故障诊断分析振动信号是机械运行中普遍存在的一种信号,它包含了机械系统的瞬态、稳态和周期随机特征信息。
通过对机械振动信号的处理和分析,可以有效地诊断出机械系统中存在的故障,并提供正确的维修措施。
本文将探讨机械振动信号处理与故障诊断分析的方法和应用。
一、振动信号的采集与处理振动信号的采集是进行信号处理与故障诊断的基础。
常见的振动传感器有加速度传感器、速度传感器和位移传感器。
其中,加速度传感器是最常用的一种。
传感器通过与机械系统的连接,将振动信号转换为电信号,并进一步传输到振动分析仪器中进行处理。
振动信号处理的目标是从庞杂的信号中提取出有用的信息,一般包括时域分析、频域分析和时频域分析三个方面。
时域分析主要通过计算信号的幅值、均值、方差等统计量来描述信号的时域特征;频域分析则通过对信号进行傅里叶变换,将信号转换到频域进行频谱分析;时频域分析则结合了时域和频域的信息,可以更直观地观察信号的瞬态特征。
二、故障特征分析与诊断在振动信号处理的基础上,进一步分析振动信号中存在的故障特征,从而诊断出机械系统中的故障。
常见的故障特征有以下几个方面。
1. 频谱分析:通过对振动信号进行频谱分析,可以观察到频谱图中的峰值和频率分布情况。
不同类型的故障在频谱图上呈现出不同的特征频率,比如齿轮啮合频率、轴承特征频率等。
通过对频谱图的分析,可以快速确定故障类型。
2. 波形分析:振动信号的波形可以直观地反映机械系统中的运动状态。
对波形进行分析,可以观察到振动信号的峰值、波形变化规律等。
比如,当齿轮齿面出现磨损时,振动信号的波形将发生变化,出现明显的振动峰值。
3. 轨迹分析:轨迹分析是通过对振动信号进行相位图分析,展示机械系统中不同零件的运动轨迹。
通过观察轨迹图的变化,可以找到故障信号与正常信号的区别。
比如,当轴承发生故障时,轨迹图可能呈现出明显的离心现象。
4. 频率变化分析:随着故障的发展,机械系统中的故障频率也会发生变化。
机械振动信号处理和故障诊断方法研究机械振动信号处理和故障诊断方法是工程领域中一个重要的研究方向。
通过对机械振动信号的处理和分析,可以帮助我们了解机械设备的运行状态,并及时诊断和修复潜在的故障。
本文将探讨一些常见的机械振动信号处理和故障诊断方法。
一、振动信号处理机械设备的振动信号是由设备在运行过程中所产生的微细振动所组成的。
通过对振动信号的处理,我们可以获取到一些重要的信息。
1.1 时域分析时域分析是最常见的一种信号处理方法。
它通过将振动信号转换为时间的函数,来研究信号在时域上的特性。
常用的时域分析方法有均方根、峰值、峭度等。
1.2 频域分析频域分析是将振动信号转换为频率的函数,来研究信号在频域上的特性。
通过对频域分析可以得到信号的频率分布情况,从而判断是否存在故障。
常见的频域分析方法有傅里叶变换、功率谱密度等。
1.3 小波变换小波变换是一种在不同时间和频率上分析信号的方法。
通过小波分析可以将信号的时域和频域特性结合起来,从而得到更为准确的信号特征。
小波分析的一个重要应用是故障特征提取。
二、故障诊断方法在机械设备中,常常会发生各种各样的故障,如轴承故障、齿轮故障等。
通过对振动信号的处理和分析,可以帮助我们及时诊断和预防这些故障。
2.1 特征提取特征提取是从原始振动信号中提取出有用的故障特征。
常见的特征包括频率特征、能量特征、时域特征等。
通过特征提取可以得到反映故障状态的指标,进一步帮助故障诊断。
2.2 模式识别模式识别是一种通过对特征进行分类的方法,用于识别不同的故障类型。
常见的模式识别方法有支持向量机、神经网络等。
通过模式识别可以对不同的故障类型进行区分和分类,从而准确定位故障。
2.3 故障预测故障预测是对振动信号进行时序建模和预测的方法。
通过对历史数据的分析和模型建立,可以预测出未来一段时间内可能发生的故障。
故障预测可以帮助我们采取有效的维修措施,避免设备故障给生产带来损失。
三、案例分析为了更好地了解机械振动信号处理和故障诊断方法的应用,我们以轴承故障为例进行了实际案例分析。
机械振动信号的时频分析与故障诊断引言机械设备在运行过程中会产生各种振动信号,这些信号可以提供有关设备运行状态和故障信息的重要线索。
因此,机械振动信号的时频分析和故障诊断成为了非常重要的研究领域。
本文将介绍机械振动信号的时频分析原理及其在故障诊断中的应用。
一、机械振动信号的时频分析原理时频分析是一种将信号的时域和频域信息相结合的方法,可以提供更全面的信号特征。
机械振动信号经过传感器采集后,通常以时域形式呈现,即振动信号随时间的变化情况。
时频分析的目的是通过对振动信号进行变换,得到其在时域和频域的分布情况。
现代时频分析方法主要有短时傅里叶变换(Short-Time Fourier Transform, STFT)、小波变换(Wavelet Transform, WT)和经验模态分解(Empirical Mode Decomposition, EMD)等。
其中,STFT是最常用的时频分析方法之一。
它通过对振动信号进行窗函数处理,得到不同时间窗口下的信号频谱。
二、机械振动信号的故障特征机械故障通常会导致设备振动信号的异常变化。
通过对振动信号进行分析,可以提取出不同类型故障特征的频率成分,从而判断设备是否存在故障。
1. 圆频率分析不同故障类型和部位产生的振动信号频率成分不同。
通过分析振动信号中的圆频率分布情况,可以确定可能的故障类型。
以齿轮故障为例,如果有一个或多个齿轮损坏,会引发一定频率的振动信号。
通过时频分析,可以提取出这些圆频率,并与故障模式进行对比。
如果存在匹配的频率成分,那么可以判断设备存在齿轮损坏问题。
2. 能量分布分析振动信号的能量分布也是判断故障的重要特征之一。
故障产生的能量通常会集中在某个频率范围内。
例如,当轴承出现故障时,轴承滚珠与内外圈的接触将产生冲击和撞击,导致能量分布偏向高频区域。
通过对振动信号进行能量分布分析,我们可以发现这种异常,从而判断轴承是否故障。
三、机械振动信号的故障诊断方法机械振动信号的故障诊断方法主要包括模式识别、基于规则的故障诊断和统计分析等。
《基于振动信号的机械故障特征提取与诊断研究》篇一一、引言随着工业的快速发展,机械设备的稳定运行对于企业的生产效率和经济效益至关重要。
然而,由于各种因素的影响,机械设备在运行过程中常常会出现各种故障。
因此,对机械故障进行准确、及时的诊断与处理显得尤为重要。
振动信号作为机械设备运行状态的重要表征,其包含了丰富的设备运行信息。
本文旨在研究基于振动信号的机械故障特征提取与诊断方法,以提高机械故障诊断的准确性和效率。
二、振动信号的特征分析振动信号包含了机械设备运行状态的各种信息,包括转速、负载、温度等。
通过对振动信号的分析,可以提取出反映设备运行状态的特征参数。
这些特征参数主要包括时域参数、频域参数和时频域参数。
时域参数主要包括峰值、均方根值、峰值因子、脉冲因子等,可以反映设备的运行状态和冲击程度。
频域参数则包括频率、振幅等,可以反映设备的频率特性和振动的激烈程度。
时频域参数则结合了时域和频域的信息,可以更全面地反映设备的运行状态。
三、机械故障特征提取方法针对机械故障诊断的需求,本文提出了一种基于振动信号的机械故障特征提取方法。
该方法主要包括信号预处理、特征提取和特征选择三个步骤。
1. 信号预处理:对原始振动信号进行去噪、滤波等处理,以提高信号的信噪比和可靠性。
2. 特征提取:采用时域分析、频域分析和时频域分析等方法,从预处理后的信号中提取出反映设备运行状态的特征参数。
3. 特征选择:通过统计学习、机器学习等方法,对提取出的特征参数进行选择和优化,以得到最能反映设备故障的特征参数。
四、机械故障诊断方法基于提取出的机械故障特征参数,本文提出了一种基于模式识别的机械故障诊断方法。
该方法主要包括特征降维、模式识别和诊断结果输出三个步骤。
1. 特征降维:通过主成分分析、独立成分分析等方法,对高维特征参数进行降维处理,以降低计算的复杂度和提高诊断的准确性。
2. 模式识别:采用支持向量机、神经网络等机器学习方法,对降维后的特征参数进行分类和识别,以判断设备的运行状态和故障类型。
基于机器学习的机械振动信号分析与故障诊断一、引言随着工业化进程和现代制造技术的快速发展,机械设备在我们的日常生活和各个行业中起着至关重要的作用。
然而,由于长时间工作和磨损,机械设备往往会产生各种故障。
为了及时准确地诊断和解决这些故障,机械振动信号分析成为了一种重要的方法。
而机器学习作为一种强大的数据处理工具,为机械振动信号分析提供了新的思路与方法。
二、机械振动信号的特点与采集方法机械振动信号是描述机械设备振动状态的信号,它包含了机械设备振动的频率、振幅和相位等信息。
机械振动信号的特点主要体现在以下几个方面:1. 多样性:机械振动信号的类型和特征因机械设备的不同而不同。
不同类型的机械设备产生的振动信号具有不同的频率和振幅分布。
2. 复杂性:机械振动信号是由多个振动源产生的叠加信号,具有非线性和非稳态特性,包含着大量的噪声。
为了获取机械振动信号,在实际应用中通常使用传感器进行采集。
常用的采集方法有加速度传感器、速度传感器和位移传感器等。
这些传感器能够将机械振动信号转换为电信号,并通过数据采集卡或数据采集系统进行数字化处理。
三、机械振动信号分析的传统方法在传统的机械振动信号分析中,主要采用以下几种方法来诊断和分析机械故障:1. 时域分析:时域分析通过观察振动信号的波形、脉冲和幅值等特征来判断机械设备的运行状态。
常用的时域分析方法有时域轨迹图和包络分析等。
2. 频域分析:频域分析通过将振动信号转换到频域,分析其频谱和谐波成分来判断机械设备的故障类型。
常用的频域分析方法包括傅里叶变换和小波变换等。
3. 统计特征分析:统计特征分析通过提取振动信号的统计特征,如均值、方差和峰峰值等,来诊断机械设备的故障。
常用的统计特征分析方法有均方根、峭度和波形因子等。
以上传统方法在一定程度上具有一定的可行性,但是不可避免地存在一些问题,如特征选择困难、故障模式覆盖不全等。
为了改善机械振动信号分析的效果,引入机器学习技术成为了一种新的选择。
燕山大学课程设计说明书题目:机械振动信号分析及故障报警学院(系):电气工程学院年级专业: 10级仪表3班学号: 1001030201学生姓名:指导教师:教师职称:电气工程学院《课程设计》任务书课程名称:“单片机原理及应用——数字信号处理”课程设计说明:1、此表一式四份,系、指导教师、学生各一份,报送院教务科一份。
2、学生那份任务书要求装订到课程设计报告前面。
目录第一章摘要第二章总体设计方案第三章基本原理第四章MATLAB界面设计第五章各模块设计及程序第六章设计心得及总结参考文献第一章摘要机械振动信号分析是现代机械故障诊断的一个有效方法。
在诸多信号分析的手段中,小波分析与傅氏变换相结合的方法得到广泛应用。
因为这种方法更适合于提取微弱机械振动的特征信号。
但是与其他分析工具一样,小波分析工具有自己的特点,如果不能正确使用,反而会影响对信号的正确分析。
从本质上说,小波分析是用小波函数与被被分析的信号函数做一系列的互相关运算,因此选用小波函数不当会引起分析的误差或误判。
第二章总体设计方案对机械振动信号进行采样,把采样的数据进行时域和频域上的分析,包括FFT,功率谱,倒谱分析。
提取时域波形指标如均值、峰峰值、峭度、偏度、脉冲因数等。
以一种指标为标准,分析振动信号产生的变化。
本次课设利用matlab软件,实现对机械振动信号时频域的分析以及故障的判断。
因为频域分析特征值的提取较麻烦,这里我们用其中一种参数的计算量为标准来判断是否发生故障。
第三章基本原理3.1小波变换与Fourier变换相比,小波变换是空间(时间)和频率的局部变换,因而能有效地从信号中提取信息。
通过伸缩和平移等运算功能可对函数或信号进行多尺度的细化分析,解决了Fourier变换不能解决的许多困难问题。
小波变换联系了应用数学、物理学、计算机科学、信号与信息处理、图像处理、地震勘探等多个学科。
数学家认为,小波分析是一个新的数学分支,它是泛函分析、Fourier分析、样调分析、数值分析的完美结晶;信号和信息处理专家认为,小波分析是时间—尺度分析和多分辨分析的一种新技术,它在信号分析、语音合成、图像识别、计算机视觉、数据压缩、地震勘探、大气与海洋波分析等方面的研究都取得了有科学意义和应用价值的成果。
信号分析的主要目的是寻找一种简单有效的信号变换方法,使信号所包含的重要信息能显现出来。
小波分析属于信号时频分析的一种,在小波分析出现之前,傅立叶变换是信号处理领域应用最广泛、效果最好的一种分析手段。
傅立叶变换是时域到频域互相转化的工具,从物理意义上讲,傅立叶变换的实质是把这个波形分解成不同频率的正弦波的叠加和。
正是傅立叶变换的这种重要的物理意义,决定了傅立叶变换在信号分析和信号处理中的独特地位。
傅立叶变换用在两个方向上都无限伸展的正弦曲线波作为正交基函数,把周期函数展成傅立叶级数,把非周期函数展成傅立叶积分,利用傅立叶变换对函数作频谱分析,反映了整个信号的时间频谱特性,较好地揭示了平稳信号的特征。
小波变换是一种新的变换分析方法,它继承和发展了短时傅立叶变换局部化的思想,同时又克服了窗口大小不随频率变化等缺点,能够提供一个随频率改变的时间一频率窗口,是进行信号时频分析和处理的理想工具。
它的主要特点是通过变换能够充分突出问题某些方面的特征,因此,小波变换在许多领域都得到了成功的应用,特别是小波变换的离散数字算法已被广泛用于许多问题的变换研究中。
从此,小波变换越来越引起人们的重视,其应用领域来越来越广泛。
3.2 傅里叶变换有限长序列可以通过离散傅里叶变换(DFT)将其频域也离散化成有限长序列.但其计算量太大,很难实时地处理问题,因此引出了快速傅里叶变换(FFT). 1965年,Cooley和Tukey提出了计算离散傅里叶变换(DFT)的快速算法,将DFT的运算量减少了几个数量级。
从此,对快速傅里叶变换(FFT)算法的研究便不断深入,数字信号处理这门新兴学科也随FFT的出现和发展而迅速发展。
根据对序列分解与选取方法的不同而产生了FFT的多种算法,基本算法是基2DIT和基2DIF。
FFT在离散傅里叶反变换、线性卷积和线性相关等方面也有重要应用。
快速傅氏变换(FFT),是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。
它对傅氏变换的理论并没有新的发现,但是对于在计算机系统或者说数字系统中应用离散傅立叶变换,可以说是进了一大步。
设x(n)为N项的复数序列,由DFT变换,任一X(m)的计算都需要N次复数乘法和N-1次复数加法,而一次复数乘法等于四次实数乘法和两次实数加法,一次复数加法等于两次实数加法,即使把一次复数乘法和一次复数加法定义成一次“运算”(四次实数乘法和四次实数加法),那么求出N项复数序列的X(m),即N 点DFT变换大约就需要N^2次运算。
当N=1024点甚至更多的时候,需要N2=1048576次运算,在FFT中,利用WN的周期性和对称性,把一个N项序列(设N=2k,k为正整数),分为两个N/2项的子序列,每个N/2点DFT变换需要(N/2)2次运算,再用N次运算把两个N/2点的DFT变换组合成一个N点的DFT变换。
这样变换以后,总的运算次数就变成N+2(N/2)2=N+N2/2。
继续上面的例子,N=1024时,总的运算次数就变成了525312次,节省了大约50%的运算量。
而如果我们将这种“一分为二”的思想不断进行下去,直到分成两两一组的DFT运算单元,那么N点的DFT变换就只需要Nlog2N次的运算,N在1024点时,运算量仅有10240次,是先前的直接算法的1%,点数越多,运算量的节约就越大,这就是FFT的优越性。
离散傅里叶变换X(k)可看成是z变换在单位圆上的等距离采样值。
同样,X(k)也可看作是序列傅氏变换()ωj e X的采样,采样间隔为ωN=2π/N 。
由此看出,离散傅里叶变换实质上是其频谱的离散频域采样,对频率具有选择性(ωk=2πk/N),在这些点上反映了信号的频谱。
根据采样定律,一个频带有限的信号,可以对它进行时域采样而不丢失任何信息,FFT变换则说明对于时间有限的信号(有限长序列),也可以对其进行频域采样,而不丢失任何信息。
所以只要时间序列足够长,采样足够密,频域采样也就可较好地反映信号的频谱趋势,所以FFT可以用以进行连续信号的频谱分析。
第四章 MATLAB界面设计两个画图按钮简化成了一个下拉菜单,坐标图一和二分别显示时域和频域波形,计算按钮进行计算并把数值放到下面四个文本框中。
判断按钮判断是否故障并通过发送按钮把特征值传输到单片机中。
第五章各模块设计及程序1、时域和频域分析及画图%时域波形% figure(1);set(gcf,'CurrentAxes',handles.time);plot(xdata);xlabel('样本序号n/个');ylabel('电压V/v');%db10小波进行4层分解%一维小波分解[c,l]=wavedec(xdata,4,'db10');%第一层细节信号的包络谱y=hilbert(d1);ydata=abs(y);y=y-mean(y);nfft=200;p=abs(fft(ydata,nfft));% figure(3);set(gcf,'CurrentAxes',handles.frequency);plot((0:nfft/2-1)/nfft*fs,p(1:nfft/2));xlabel('频率f/Hz');ylabel('功率谱p/w');故障信号的时域和频域图如下正常信号的时域和频域图如下可见其频域有较大的差别2、计算部分这里,我们调用matlab中已有的程序来计算需要得到的指标,所编程序如下fs=10000;fid=fopen('bearingout.dat','r');load Normal.matfid=fopen('Normal.mat');N=1000;xdata=fread(fid,N,'int16');xdata=fread(fid,N,'int16');fclose(fid);xdata=(xdata-mean(xdata))/std(xdata,1);A=mean(xdata); % 平均值set(handles.edit1,'string',num2str(A));B=max(xdata); % 最大值C=min(xdata); % 最小值D=B-C; % 峰峰值set(handles.edit2,'string',num2str(D));E=kurtosis(xdata);%峭度set(handles.edit3,'string',num2str(E));F=skewness(xdata);%偏度;set(handles.edit4,'string',num2str(F));3、判断程序这里我们根据两种不同信号偏度的不同来判断是否有故障,定义偏度<=-0.05时为正常信号。
global Fglobal Jglobal FFif (FF<=-0.05)J=0;else J=1;endset(handles.edit6,'string',num2str(J))Matlab中本实验所得数据计算界面如下:故障数据正常数据:第六章设计心得及总结刚开始设计时,因为对matlab的使用不是十分地了解,所以有很多的困难,觉得无从下手,经过这么多天的学习以及查阅资料,已经能初步完成一些简单的语言编程,这使我感到非常有成就感,使我体会到了自主学习的乐趣。
通过这次课程设计,我对数字信号处理及傅里叶变换的实际应用有了深刻的理解,尤其加深了我对快速傅里叶变换的理解。
在这次课程设计中,我还对小波变换在数字信号处理中的应用有了一定的理解,在对信号的细节进行分析时,小波变换是非常常见和方便的一种方法。
总之,经过这次数字信号处理的课程设计,使我收获颇多。
不仅巩固了理论知识,增强了自主学习能力,还学会了团队合作和互相帮助,使我受益良多。
参考文献1)《微型计算机控制系统》赖寿宏,机械工业出版社(教材)2)《单片机及应用》李大友,高等教育出版社(教材)3)《信号处理原理及应用》谢平等机械工业出版社(教材)4)《Matlab程序设计及其在信号处理中的应用》聂祥飞等西南交通大学出版社附录一matlab总程序function varargout = keshe0628(varargin)gui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn',@keshe0628_OpeningFcn, ...'gui_OutputFcn',@keshe0628_OutputFcn, ...'gui_LayoutFcn', [] , ...'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); elsegui_mainfcn(gui_State, varargin{:});endfunction keshe0628_OpeningFcn(hObject, eventdata, handles, varargin)handles.output = hObject;guidata(hObject, handles);function varargout = keshe0628_OutputFcn(hObject, eventdata, handles)function jisuan_Callback(hObject, eventdata, handles)global xdataglobal Jglobal Fglobal FFA=mean(xdata); % 平均值set(handles.edit1,'string',num2str(A));B=max(xdata); % 最大值C=min(xdata); % 最小值D=B-C; % 峰峰值set(handles.edit2,'string',num2str(D));E=kurtosis(xdata);%峭度set(handles.edit3,'string',num2str(E));F=skewness(xdata);%偏度;FF=Fset(handles.edit4,'string',num2str(F));function edit1_Callback(hObject, eventdata, handles)function edit1_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction edit2_Callback(hObject, eventdata, handles)function edit2_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction edit3_Callback(hObject, eventdata, handles)function edit3_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction edit4_Callback(hObject, eventdata, handles)function edit4_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction edit5_Callback(hObject, eventdata, handles)function edit5_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction pushbutton2_Callback(hObject, eventdata, handles)global Fglobal Jglobal FFglobal ssss=serial('com1');ss.BaudRate=2400;ss.DataBits=8;ss.Parity='none';ss.StopBits=1;ss.TimeOut=60;ss.DataTerminalReady='off';ss.RequestToSend='off';ss.FlowControl='none';ss.InputBufferSize=1000;fopen(ss);fwrite(ss,J);fclose(ss);clear ssfunction pushbutton3_Callback(hObject, eventdata, handles)global Fglobal Jglobal FFif (FF<=-0.05)J=0;else J=1;endset(handles.edit6,'string',num2str(J))function edit6_Callback(hObject, eventdata, handles)function edit6_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction time_CreateFcn(hObject, eventdata, handles) function frequency_CreateFcn(hObject, eventdata, handles) function huatu1_Callback(hObject, eventdata, handles) global xdataglobal Fglobal FFglobal Jfs=10000;load Abnormal.matfid=fopen('Abnormal.mat');N=1000;xdata=fread(fid,N,'int16');fclose(fid);xdata=(xdata-mean(xdata))/std(xdata,1);set(gcf,'CurrentAxes',handles.time);plot(xdata);xlabel('样本序号n/个');ylabel('电压V/v');%db10小波进行4层分解%一维小波分解[c,l]=wavedec(xdata,4,'db10');d4=wrcoef('d',c,l,'db10',4);d3=wrcoef('d',c,l,'db10',3);d2=wrcoef('d',c,l,'db10',2);d1=wrcoef('d',c,l,'db10',1);%第一层细节信号的包络谱y=hilbert(d1);ydata=abs(y);y=y-mean(y);nfft=200;p=abs(fft(ydata,nfft));set(gcf,'CurrentAxes',handles.frequency);plot((0:nfft/2-1)/nfft*fs,p(1:nfft/2));xlabel('频率f/Hz');ylabel('功率谱p/w');function huatu2_Callback(hObject, eventdata, handles) global xdataglobal Fglobal FFglobal Jfs=10000;load Normal.matfid=fopen('Normal.mat');N=1000;xdata=fread(fid,N,'int16');fclose(fid);xdata=(xdata-mean(xdata))/std(xdata,1);set(gcf,'CurrentAxes',handles.time);plot(xdata);xlabel('样本序号n/个');ylabel('电压V/v');[c,l]=wavedec(xdata,4,'db10');d4=wrcoef('d',c,l,'db10',4);d3=wrcoef('d',c,l,'db10',3);d2=wrcoef('d',c,l,'db10',2);d1=wrcoef('d',c,l,'db10',1);y=hilbert(d1);ydata=abs(y);y=y-mean(y);nfft=200;p=abs(fft(ydata,nfft));set(gcf,'CurrentAxes',handles.frequency);plot((0:nfft/2-1)/nfft*fs,p(1:nfft/2));xlabel('频率f/Hz');ylabel('功率谱p/w');function Untitled_2_Callback(hObject, eventdata, handles) function Untitled_1_Callback(hObject, eventdata, handles) function Untitled_3_Callback(hObject, eventdata, handles) function Untitled_4_Callback(hObject, eventdata, handles)燕山大学专业综合训练评审意见表。