时域信号特征提取:振幅包络、均方根能量、过零率

本文详细介绍了时域信号处理中的三种重要特征提取方法:振幅包络、均方根能量和过零率。振幅包络用于获取信号响度信息,尤其适用于异常检测;均方根能量是样本点的综合信息,同样反映响度,但对异常不敏感;过零率则表示信号经过零点的次数,应用于音频分割和音乐流派分类等领域。

时域特征提取

Amplitude envelope 振幅包络

在这里插入图片描述

每一帧的振幅包络连起来可以得到整段语音的振幅包络线

振幅包络可以给出响度的大致信息,对异常特别敏感

应用:(声音事件)开端检测、音乐流派分类

Root-mean-square energy 均方根能量

在这里插入图片描述

均方根能量表达的是一帧内所有样本点的一个综合信息

也能表达响度的信息,不过没有AE那样对异常敏感

应用:音频分割、音乐流派分类

Zero crossing rate 过零率

过零率是信号经过x轴的次数

在这里插入图片描述

import librosa
import librosa.display
import matplotlib.pyplot as plt
import numpy as np

# 加载音频文件 (这里要换成你自己的音频文件的路径)
source_file = "./data/section_02_source_train_normal_0000_strenght_1_ambient.wav"
# 如果不加入sr=None参数,采样率会默认设置成22050!!!
source, sr1 = librosa.load(source_file, mono=True, sr=None)


FRAME_SIZE = 512
HOP_LENGTH = 256

# 计算振幅包络(有帧移的情况下)
def amplitude_envelope_hop(signal, frame_size, hop_length):
    amplitude_envelope = []

    # calculate AE for each frame
    for i in range(0, len(signal), hop_length):
        current_frame_amplitude_envelope = max(signal[i:i + frame_size])  # 末尾不会截断,而是将不足一个frame的进行同样的处理
        amplitude_envelope.append(current_frame_amplitude_envelope)

    return np.array(amplitude_envelope)

ae_source_hop = amplitude_envelope_hop(source, FRAME_SIZE, HOP_LENGTH)


# 可视化振幅包络

frames = range(0, len(ae_source_hop))
t = librosa.frames_to_time(frames, hop_length=HOP_LENGTH)

librosa.display.waveplot(source, alpha=0.5)
plt.plot(t, ae_source_hop, color='r')
plt.title("source domain audio amplitude envelope")
plt.ylim(-0.1, 0.1)

plt.show()
# 还有更多的代码我懒得写了,真有人要的话可以评论或者私信我
请按以下内容进行修改:2.2 问题 1 模型建立 数据分析与特征提取是故障诊断模型的基础。在这一阶段,我们通过时域、频域以及时频 域的特征来对轴承故障进行诊断。轴承故障信号通常表现出周期性冲击特征,这些特征在时域、 频域以及时频域上都有显著的表现。故障诊断模型需要从这些信号中提取有效的特征,以帮助 分类模型学习到不同故障模式。下面我们详细描述每一类特征的提取过程及其在故障诊断中的 作用。 2.2.1 时域特征提取 时域特征是最基本的特征,用于反映信号的总体形态。常见的时域特征包括均值、方差、峰 度、偏度等,它们能够帮助我们描述信号的集中趋势、离散程度以及形态特征。具体来说,我们 计算以下几个时域统计特征: • 均值(Mean, µ):表示信号的平均水平,用来衡量信号的中心位置。 µ = N 1 N ∑ i=1 xi 其中,xi 为第 i 个采样点,N 为采样点的总数。 • 方差(Variance, σ 2):表示信号的波动程度,用来衡量信号的离散程度。 σ 2 = N 1 N ∑ i=1 (xi − µ) 2 • 峰度(Kurtosis):表示信号的尖锐程度,能够反映出信号是否具有突发的冲击。 • 偏度(Skewness):反映信号的对称性,若偏度为正,表示信号有较多的正偏。 这些时域特征能够反映出信号的基本形态特征,尤其是信号的集中趋势与离散程度。 2.2.2 频域特征提取 频域特征能够反映出信号的频率成分,尤其是当信号包含周期性成分或谐波成分时,频域 特征非常有效。通过傅里叶变换,我们将时域信号转换为频域信号,得到频谱。在频域中,常见 的特征包括频谱均值、频谱方差、谱重心等。 首先,我们通过傅里叶变换将信号时域转换为频域: X(f) = N−1 ∑ n=0 xne −j2πfn/N 其中,X(f) 是频域上的复数谱,xn 是时域信号,f 是频率。 接下来,计算以下频域特征: 3 • 频谱均值(Spectral Mean):表示频谱的平均幅值,反映了信号的总体频率分布。 • 频谱方差(Spectral Variance):表示频谱的离散程度,能够反映信号的频率波动性。 • 频谱重心(Spectral Centroid):衡量信号频率分布的中心位置,常用于描述信号的频率特 性。 • 频谱熵(Spectral Entropy):描述频谱的复杂度,频谱熵越大,表示信号的频率成分越复 杂。 这些频域特征能帮助我们从频率角度分析轴承故障信号,尤其是当故障信号表现为特定频 率的振动时,频域特征尤为有效。 2.2.3 时频域特征提取 时频域分析方法,如短时傅里叶变换(STFT)和小波变换,可以有效地分析信号在时间和 频率上的变化,捕捉信号的局部特征。通过时频分析,我们可以更精确地捕捉到信号的突变和 局部故障信息。 小波变换公式如下: Wx(a, b) = 1 √ a ∫ ∞ −∞ x(t)ψ ( t − a b ) dt 其中,Wx(a, b) 为信号 x(t) 的尺度平移小波变换,ψ 为母小波,a 和 b 分别为尺度和平移参数。 短时傅里叶变换(STFT)方法则将信号划分为多个时间段,通过对每个时间段进行傅里叶 变换,得到时频图: ST F T{x(t)} = ∫ ∞ −∞ x(t) · w(t − τ ) · e −j2πf tdt 其中,w(t − τ ) 是窗口函数,x(t) 是信号,f 是频率,τ 是时间。 通过时频分析,我们能够获得信号在不同时间段和频率上的能量分布,进而提取时频特征, 例如: • 短时能量:反映信号在某一时间窗口内的能量分布。 • 短时频率:描述信号在某一时间窗口内的瞬时频率。 时频特征对于复杂的信号分析至关重要,尤其是在信号的故障模式随着时间和频率变化时。 2.2.4 包络分析特征提取 包络分析是对信号进行希尔伯特变换得到包络信号,从而提取出低频的故障信息。包络信 号可以帮助我们识别出低频故障频率,尤其是在轴承故障的情况下,包络分析能有效地捕捉到 故障产生的冲击特征。 包络信号通过以下方式计算: Envelope(t) = |H{x(t)}| 其中,H{x(t)} 表示信号 x(t) 的希尔伯特变换。 通过包络分析,我们能够提取以下特征: 4 • 包络的最大值和最小值:描述包络信号的幅值范围。 • 包络的均值和标准差:反映包络信号的基本统计特性。 • 包络的峰度和偏度:描述包络信号的形态特征。 • 包络的频谱:通过傅里叶变换提取包络的频率成分。 包络分析对于诊断周期性冲击特征尤其重要,这些特征通常与轴承的局部故障相关。 2.2.5 特征选择与整合 特征提取完成后,我们将所有提取的特征整合成一个完整的特征集。为了确保模型的高效 性和准确性,我们还需要对这些特征进行选择。特征选择的目的是去除冗余特征,保留对故障 分类最有帮助的特征。这可以通过以下几种方法实现: • 基于相关性分析:剔除与其他特征高度相关的冗余特征。 • 基于模型的特征选择:使用如 LASSO 回归等模型来选择重要的特征。 • 主成分分析(PCA):通过降维方法减少特征维度,提高计算效率。 最终,我们得到一个包含时域、频域、时频域和包络分析特征的特征集,为后续的故障分类 模型提供了强有力的输入。 2.3 问题 1 模型求解 在本节中,我们对轴承故障信号的前 14 行数据进行了分析。这些数据包含了从不同轴承信 号中提取的多种特征,涵盖了时域、频域、时频域以及包络分析等多个维度。以下是特征数据 的具体分析: 2.3.1 数据表格概览 以下是前 14 行数据的部分示例: Mean Std Variance RMS Max Min Peak-to-Peak 0.0001 0.1378 0.0190 0.1378 0.5795 −0.6196 1.1991 −0.0001 0.1389 0.0193 0.1389 0.6358 −0.6635 1.2993 −0.0001 0.1475 0.0218 0.1475 0.6000 −0.5594 1.1595 −0.0001 0.1541 0.0237 0.1541 0.6673 −0.7248 1.3921 −0.0001 0.1475 0.0218 0.1475 2.2735 −1.9682 4.2417 −0.0001 0.1475 0.0218 0.1475 1.8345 −1.3903 3.2248 0.0001 0.1385 0.0192 0.1385 1.6382 −1.6392 3.2775 0.0001 0.1385 0.0192 0.1385 1.6382 −1.6392 3.2775 0.0001 0.1384 0.0192 0.1384 1.6382 −1.6392 3.2775 5 2.3.2 特征分析 这些特征值包括了时域、频域以及包络分析的多个统计指标,能够帮助我们从不同的角度 分析信号的特性。 1. 均值(Mean):表示信号的平均值。在此数据中,均值变化范围较小,大部分信号均值 接近零。对比不同的信号样本,均值的变化可能是由噪声或某些外部扰动引起的。 2. 标准差(Std):表示信号的波动性。标准差越大,信号的波动越大。在数据中,大部分 标准差的值在 0.13 到 0.15 之间,说明这些信号的波动幅度较为一致。标准差的值较高可能指示 信号中存在较大的变动,或与故障相关的波动。 3. 方差(Variance):与标准差相似,方差表示信号数据的离散程度。在数据中,方差值普 遍较小,表明信号整体较为稳定,波动不大。 4. 均方根(RMS):均方根值代表信号能量的大小。从数据中可以看出,RMS 值也大多小 于 0.2,且在多个样本间波动较大,表明信号能量水平可能有所不同。 5. 最大值(Max)与最小值(Min):最大值和最小值表示信号的极值范围。例如,第一个 信号的最大值为 0.5795,最小值为-0.6196,意味着该信号振幅变化较大。对比其它信号,我 们看到一些信号的极值在较大的范围内,可能代表信号中的突变或故障模式。 6. 峰峰值(Peak-to-Peak):峰峰值反映了信号的整体振幅范围,值越大,表明信号中包 含更大的变化。第一行数据的峰峰值为 1.1991,说明该信号振幅变化较大,可能与冲击性故 障相关。 2.3.3 特征的物理意义 - 时域特征(如均值、方差、标准差、RMS 等):这些特征描述了信号的基本统计特性。时 域特征的变化通常与信号的衰减、振幅变化以及噪声等因素有关。轴承故障往往通过时域信号 的非平稳性、波动性和突发性表现出来,因此时域特征对于诊断故障类型尤为重要。 - 频域特征(如最大值、最小值等):频域特征能够揭示信号的频率组成。信号中的频率分 量有助于判断故障类型,特定频率范围内的能量积聚往往与某些故障模式(如滚动体、外圈故 障等)相关。 - 包络分析特征:包络分析能够提取信号的低频成分
最新发布
09-22
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值