技术领域
[0001] 本发明涉及信号处理技术领域,尤其涉及一种电缆振动信号特征提取及模式识别方法、电缆维护方法。
相关背景技术
[0002] 信号处理技术领域是一门涉及信号的分析、处理和解释的技术科学,在电缆振动信号特征提取与模式识别的背景下,专注于理解电缆在差异化工况下产生的振动信号的内在特征和模式。技术领域包括了广泛的方法和技术,从基本的滤波和噪声消除到复杂的特征提取、分类算法和模式识别。信号处理技术的目标是提取有用信息,降低数据复杂度,提高数据的解释性,进而支持决策和预测。
[0003] 其中,电缆振动信号特征提取与模式识别方法是一种旨在理解和分类电缆振动信号的技术,这种方法的目的是通过精确分析电缆的振动信号,提取关键特征,在差异化的工作状态或故障情形下对电缆进行准确识别和分类。其目标是实现对电缆系统健康状态的实时监控,预测潜在的故障,从而提前采取维护或修复措施,以保障系统的可靠运行和延长电缆的使用寿命,可以大大减少意外停机的风险,提高系统的稳定性和安全性。
[0004] 传统的电缆振动信号特征提取与模式识别方法在电缆振动信号特征提取与模式识别方面侧重于基本的滤波和噪声消除,或依赖于相对复杂且不够灵活的特征提取及分类算法,这导致在实际操作中存在数据处理效率低、信息遗漏、预测准确性有限等不足,未能有效利用信号的强度和变化频率信息进行数据层次化管理,导致重要的振动信息在压缩或分析过程中丢失,缺乏有效的异常信号特征标识和匹配机制,使得方法在面对未知或复杂的故障模式时,难以准确预测和识别异常,增加意外停机和故障风险。
[0005] 因此本领域技术人员致力于开发一种效率高、信息全面,准确性好的电缆振动信号特征提取及模式识别方法、电缆维护方法。
具体实施方式
[0055] 下面结合附图和实施例对本发明作进一步说明。
[0056] 一种电缆振动信号特征提取方法,如图1所示,包括以下步骤:
[0057] S1:收集电缆沿线在差异化状态下的振动数据,根据信号强度划分数据等级,得到优化压缩数据集。在电缆沿线安装振动探测设备,收集电缆在差异化状态下的振动数据,根据信号强度划分数据等级。
[0058] 具体本步骤可以通过以下方法执行:
[0059] S101:基于电缆沿线安装的振动探测设备,进行振动数据收集,根据振动强度阈值进行数据分类,生成振动数据分类结果。本步骤中,在电缆沿线安装振动探测设备,从而可进行定时振动数据收集。
[0060] 基于电缆沿线安装振动探测设备,采用傅里叶变换算法对振动信号进行频域分析,利用Python中的NumPy库执行fft函数,输入参数为振动信号数据,将时间域的振动信号转换为频域信号,对转换后的频域信号应用阈值判定逻辑,设置具体阈值参数为振动强度的中值,将频域信号分类为高强度和低强度两类,通过if‑else语句实现分类逻辑,将分类结果存储于数据库中,使用SQL语句INSERT INTO进行数据插入,生成振动数据分类结果。
[0061] S102:基于所述振动数据分类结果,对低强度信号应用高压缩率,对高强度信号应用低压缩率,数据强度为参数优化压缩过程,构建分级压缩数据。
[0062] 基于振动数据分类结果,采用Lempel‑Ziv‑Welch(LZW)压缩算法对数据进行分级压缩,对于低强度信号,设置LZW压缩算法的压缩率参数为高压缩率,具体值设定为9:1,对于高强度信号,设置压缩率参数为低压缩率,具体值设定为4:1,利用Python的zlib库调用compress函数,输入参数为振动数据和压缩率参数,对不同强度的振动数据执行不同压缩率的压缩操作,压缩完成后的数据存储于数据集中,生成分级压缩数据。
[0063] S103:针对所述分级压缩数据,进行压缩算法参数调整,平衡存储效率和数据访问速度,生成优化压缩数据集。
[0064] 针对分级压缩数据,采用动态调整压缩参数策略,使用Python脚本计算存储效率和数据访问速度的当前值,计算方法为通过访问数据库中的压缩数据记录,统计访问时间和数据大小,利用信息动态调整LZW压缩算法中的压缩率参数,调整逻辑为:若数据访问速度低于预设的标准速度阈值,降低压缩率以减少解压时间,若存储效率低于预设的存储空间利用率阈值,提高压缩率以节省存储空间,通过循环调整过程直至达到存储效率和数据访问速度的平衡点,生成优化压缩数据集。
[0065] 优化压缩数据集包括信号强度分类标识、对应压缩比率和数据大小信息。
[0066] S2:对优化压缩数据集按照信号变化频率进行分段,每段内信号依据能量水平划分为多类,生成分段压缩信号集。如图3所示,本步骤具体可通过以下步骤执行:
[0067] S201:对所述优化压缩数据集进行频率分析,根据信号的变化频率进行数据分段,包括同类频率特性的数据,生成频率分段数据集。
[0068] 基于优化压缩数据集,采用短时傅里叶变换(STFT)算法进行频率分析,利用Python的SciPy库中的stft函数,输入参数包括振动信号数据和窗函数类型,具体窗函数选择汉宁窗,以此对信号进行分时段的频率变化分析,根据信号在不同时间窗口内的频率特性,将数据分段,每个段落包含相似频率特性的数据,使用for循环遍历所有信号段落,根据频率特性归类,将结果存入以频率特性命名的数据集中,生成频率分段数据集。
[0069] S202:在所述频率分段数据集的基础上,应用重叠窗口技术识别并分类差异化能量水平的信号,减少信息遗漏,得到能量分类信号数据。
[0070] 本实施例中,在频率分段数据集的基础上,采用重叠窗口技术结合功率谱密度(PSD)分析,利用Python中的matplotlib.mlab的specgram函数,输入参数包括信号数据、窗口大小和重叠窗口的比例,具体设置窗口大小为256个数据点,重叠窗口比例为50%,此方法能够在保持时间分辨率的同时,增加频率分辨率,识别并分类不同能量水平的信号,通过设置特定能量阈值,将信号分为高能量和低能量两类,使用if‑else逻辑判断并分类,得到能量分类信号数据。
[0071] S203:根据所述能量分类信号数据,为能量级别的数据设计对应的压缩策略,细化压缩参数优化数据存取效率,获取分段压缩信号集。
[0072] 根据能量分类信号数据,本实施例中,采用自适应差分脉冲编码调制(ADPCM)压缩技术,对不同能量级别的数据应用不同的压缩策略,使用Python中的wave库调用adpcm函数,输入参数为信号数据和初始步长,对高能量信号,设置较小的初始步长值以保持信号质量,对低能量信号,设置较大的初始步长值以提高压缩比,通过循环遍历所有信号数据,根据能量级别应用相应的压缩参数,优化存取效率,获取分段压缩信号集。
[0073] 分段压缩信号集包括信号能量水平划分类别、每类信号的压缩比率和重叠窗口配置参数。
[0074] S3:基于分段压缩信号集,进行关键时间点提取,包括信号突变和频率变化的识别,建立特征映射,得到时间频率特征映射,具体步骤包括:
[0075] S301:遍历所述分段压缩信号集的数据段,计算振幅和频率的变化,记录超阈值的振幅变化为信号突变点,记录超阈值的频率变化为频率变化点,得到信号突变与频率变化的时间点集合。
[0076] 本实施例中,利用信号处理技术,采用短时傅里叶变换(STFT)算法对遍历分段压缩信号集中的数据段进行频谱分析,设置窗函数为汉明窗,窗口长度设定为256个样本点,步进长度设定为128个样本点,通过STFT算法计算每个数据段的频谱,从而得到各个频率分量的振幅和频率值,使用阈值判断法,设定振幅变化阈值为0.5和频率变化阈值为5Hz,对STFT结果进行遍历,记录超过振幅变化阈值的数据点作为信号突变点,记录超过频率变化阈值的数据点作为频率变化点,生成信号突变与频率变化的时间点集合。
[0077] S302:对所述信号突变与频率变化的时间点集合中的点设置时间窗口,采用移动平均法和频率加权平均法,统计窗口内信号的平均强度与主导频率,根据特征差异将时间点分为差异化区间,生成特征变化区间集合。
[0078] 基于时间序列分析,采用移动平均法对S301中得到的信号突变与频率变化的时间点集合进行处理,设置时间窗口长度为1秒,步进长度为0.5秒,对每个时间窗口内的信号数据计算其平均强度和主导频率,主导频率计算采用频率加权平均的方法,即每个频率分量的振幅作为权重,计算加权平均后得到的频率值作为主导频率,根据时间窗口内的平均强度和主导频率,利用k‑means聚类算法,预设聚类数为3,根据特征差异将时间点分为差异化区间,生成特征变化区间集合。
[0079] 本实施例中,移动平均法按照以下公式执行:
[0080]
[0081] 其中,MA′为移动平均值,N为时间窗口长度,表示考虑的数据点数量,Xi为时间窗口内的信号强度值,表示在指定时间窗内收集到的信号强度,Wi为时间窗口内每个点的权重系数,用于调整每个点在平均值计算中的影响力,C为常数偏移量,用于调整整个信号强度的基线。
[0082] 频率加权平均法按照以下公式执行:
[0083]
[0084] 其中,FWA′为频率加权平均值,fi为频率分量,表示信号中各个频率的值,Ai为对应的振幅,表示各个频率分量的强度,Wi′为频率分量的权重系数,用于加强或减弱特定频率分量在计算中的作用,D为调整常数,用于微调计算出的主导频率值。
[0085] 执行过程如下;
[0086] 引入新的权重系数和常数调整项来提高计算的灵活性和准确性,对于Wi和Wi′的确定,可以采用基于时间窗口内信号变化幅度的策略,例如更大的变化幅度赋予更高的权重,这需要通过对历史数据的分析来设定合理的权重分配策略。C和D的设定可以基于对信号整体水平的预先知识,或者通过数据预处理阶段的统计分析得出,以确保算法对不同情境下的数据都有较好的适应性和准确性。这样的改进使得原始的计算方法更加灵活,能够更好地适应信号强度和频率在实际应用中的复杂变化。
[0087] S303:为所述特征变化区间集合中的区间分配标识符,记录起止时间点、平均信号强度和主导频率,建立从时间点到信号特征的映射关系,构建时间频率特征映射。
[0088] 时间频率特征映射包括信号突变点时间标记、频率变化点时间标记和信号强度变化特征。
[0089] 本实施例中,执行流程如下:
[0090] 采用标识符生成算法,为S302中的特征变化区间集合中的每个区间分配唯一标识符,记录每个区间的起止时间点、平均信号强度和主导频率,构建一个字典数据结构,键为时间点的标识符,值为一个子字典,子字典中包含起止时间点、平均信号强度和主导频率等信息,使用此数据结构建立从时间点到信号特征的映射关系,构建时间频率特征映射。
[0091] S4:通过时间频率特征映射,进行异常信号特征点标识,记录异常特征所在时间和频段,生成异常信号特征库。如图5所示,
[0092] S401:基于所述时间频率特征映射,收集电缆振动信号后,对其执行时间频率变换凸显异常部分的时间和频率特征,揭示信号内的潜在异常特性,生成时间频率映射图。
[0093] 基于时间频率特征映射,采用小波变换方法对电缆振动信号进行分析,利用Python的PyWavelets库执行cwt函数,输入参数包括振动信号数据和小波函数,具体小波函数选择Morlet小波,以此凸显异常部分的时间和频率特征,小波变换通过分解信号到不同频率带上,显著提高异常信号的可识别性,对于每个分解后的频带,使用numpy库计算其能量分布,通过对比能量分布的变化,揭示信号中的潜在异常特性,利用matplotlib库绘制时间‑频率映射图,将振动信号的时间和频率特征以图形形式展现,生成时间频率映射图。
[0094] S402:基于所述时间频率映射图,筛选异常的信号特征点,包括信号强度突变和频率偏离常态范围的点,记录点的时间和频率,形成异常点记录表。
[0095] 本实施例中,基于时间频率映射图,应用阈值分析技术筛选异常的信号特征点,使用Python脚本对映射图中的数据点进行遍历,设置阈值为信号强度的上四分位数和频率的偏离常态范围±20%以内,对于超过信号强度阈值或频率偏离设定范围的数据点,记录其时间和频率,采用pandas库创建DataFrame,列名设为时间、频率,对于每个符合条件的数据点,使用DataFrame的append方法添加记录,形成异常点记录表。
[0096] S403:根据所述异常点记录表,整理并汇总标识的异常特征点,包括时间戳、频率值和对应强度,为异常点赋予标识符,建立异常信号特征库。
[0097] 根据异常点记录表,使用聚类算法对异常特征点进行整理汇总,采用K‑means算法,利用Python的scikit‑learn库执行KMeans函数,输入参数包括异常点的时间戳、频率值和对应强度,设置聚类数量根据异常点分布自动确定,算法通过计算数据点间的欧氏距离,将具有相似时间戳、频率值和强度的异常点归为一类,为每个聚类赋予唯一标识符,使用UUID库生成标识符,将聚类结果及其标识符存入异常信号特征库,利用SQLite数据库执行INSERT INTO语句进行数据存储,建立异常信号特征库。
[0098] 异常信号特征库包括异常信号的时间戳、频段信息和异常信号的特征描述。
[0099] 本发明还提供一种电缆模式识别方法,包括如上所述的电缆振动信号特征提取方法,还包括以下步骤:
[0100] S5:将新采集信号与所述异常信号特征库进行匹配,标记匹配度优的信号为潜在异常,记录信号的特征,得到潜在异常信号记录。
[0101] 本步骤具体包括:
[0102] S501:基于所述异常信号特征库,对采集的电缆振动信号执行时间频率变换,与异常信号特征库进行初步对比,筛选与异常信号特征库中特征关联信号,生成匹配信号集;
[0103] 基于异常信号特征库,采用快速傅里叶变换(FFT)算法对采集的电缆振动信号执行时间频率变换,设置FFT变换点数为1024,采用窗函数为汉宁窗以减少边缘效应,通过FFT算法转换得到信号的频率域表示,利用余弦相似度计算方法,对每个变换后的信号频谱与异常信号特征库中的频谱进行对比,设置相似度阈值为0.8,对于每个信号,计算其与特征库中所有信号的相似度,筛选相似度大于等于阈值的信号,生成匹配信号集。
[0104] S502:分析所述匹配信号集中的信号,对比其时间戳、频率和强度细节,确定其为潜在的异常信号,记录信号的特征,得到潜在异常信号细节表。
[0105] 本步骤的具体实施方式为:对匹配信号集中的每个信号,采用细节对比算法,该算法分析信号的时间戳、频率和强度细节,时间戳对比采用绝对时间差异计算,频率和强度对比基于标准差分析法,设置频率对比标准差阈值为0.2Hz,强度对比标准差阈值为5dB,通过算法对比每个信号的时间戳、频率和强度细节,确定符合所有阈值条件的信号作为潜在的异常信号,记录信号的时间戳、频率和强度信息,得到潜在异常信号细节表。
[0106] S503:基于所述潜在异常信号细节表中的信息,汇总信号匹配度、特征参数和时间频率信息,进行迭代分析和处理并提供决策依据,生成潜在异常信号记录。
[0107] 具体执行时,基于潜在异常信号细节表中的信息,采用迭代分析法,该法利用线性回归模型分析信号匹配度、特征参数和时间频率信息之间的关系,设置迭代次数为10,每次迭代调整回归模型的系数,优化模型对信号特征参数的解释力,迭代分析过程中,使用决策树算法,树深度设置为5,作为判断信号是否为异常的决策依据,利用迭代分析和处理后的数据,生成潜在异常信号记录。
[0108] 潜在异常信号记录包括信号特征匹配度信息、信号的时间戳和信号的频段范围。
[0109] S6:分析所述潜在异常信号记录,比对历史数据,识别异常类型和原因,生成异常信号分析结果,从而完成电缆震动模式识别。
[0110] 具体执行时包括以下步骤:
[0111] S601:遍历所述潜在异常信号记录,比较信号的时间序列与历史异常模式的时间序列,标记与历史模式相匹配的信号,根据匹配结果将信号分类至异常类型,得到异常类型识别集。
[0112] 遍历潜在异常信号记录,采用时间序列相似性分析方法,具体应用动态时间弯曲(DTW)算法比较信号的时间序列与历史异常模式的时间序列,使用Python的tslearn库执行dtw函数,输入参数为当前信号时间序列和历史异常时间序列,DTW算法通过计算最小累积距离,找出时间序列间的最佳对齐,从而识别相似模式,对于每个信号,根据其与历史模式的DTW距离,使用if‑else逻辑判断距离是否低于预设阈值,预设阈值根据历史数据平均距离确定,低于阈值的信号标记为与该历史模式相匹配,将匹配结果存入数据库中,使用SQL语句INSERT INTO进行数据插入,得到异常类型识别集。
[0113] S602:对所述异常类型识别集内的信号,分析信号的特征参数,通过比对参数与历史故障案例的相似性,识别信号异常的潜在原因,生成异常原因分析集。
[0114] 执行时,对异常类型识别集内的信号,应用特征参数分析方法,包括利用主成分分析(PCA)方法,分析信号的特征参数,使用Python的sklearn库执行PCA函数,输入参数包括信号数据集,PCA通过降维处理,提取最重要的特征参数,将参数与历史故障案例数据库中的特征参数进行比对,比对方法采用欧氏距离计算,对于每个信号特征参数集,计算其与历史故障案例特征参数集的欧氏距离,根据距离的大小,使用if‑else逻辑判断哪些信号的特征参数与历史故障案例相似,相似性高的信号归为对应的故障类型,生成异常原因分析集。
[0115] S603:基于所述异常原因分析集,采用决策树算法,针对每种原因制定针对性处理措施,评估措施的可行性和潜在效果,构建异常信号分析结果。
[0116] 基于异常原因分析集,采用决策树方法制定针对性处理措施,利用Python的sklearn.tree库执行DecisionTreeClassifier函数,输入参数包括异常原因分析集的特征参数和对应的故障类型,决策树通过训练数据学习,为每种原因制定特定的处理措施,处理措施的可行性和潜在效果通过决策树模型的评估指标,如准确率和召回率,来评估,为每种异常信号制定一套处理措施,包括必要的维修或调整建议,将处理措施详细记录在报告中,使用pandas库将报告存入CSV文件中,构建异常信号分析结果。
[0117] 决策树算法按照公式:
[0118]
[0119] 其中,IG′(D,f)为信息增益度量,D为整个数据集,f为选择进行分割的特征,Dv为在特征f的值为v时的数据集子集,Entropy(D)为数据集D的熵,w1和w2为权重系数,用于调整熵和子集熵的贡献比重,α和β为新增的权重系数,SD(D)为数据集D的标准差,用于衡量数据的分散程度,Var(f)为特征f的方差,用于衡量特征值的变异程度,Values(f)是特征f在数据集D中的值。
[0120] 执行过程如下;
[0121] 首先计算数据集D的熵和每个子集Dv的熵,这与原始公式一致,接下来引入两个新的参数:数据集D的标准差SD(D)和特征f的方差Var(f),标准差用于衡量数据集中的数据点相对于平均值的偏离程度,方差用于衡量特征值的变异程度,通过添加这两个参数,可以提高模型处理复杂数据时的准确度,权重系数w1和w2用于调整原有熵值和子集熵值的影响力,而新增的权重系数α和β则用于调整标准差和方差对信息增益的贡献,权重系数的确定通过交叉验证或模型选择技术在训练数据上进行优化,以找到最优的模型性能。
[0122] 异常信号分析结果包括异常类型标识、原因分析说明和历史数据比对结果。
[0123] 本发明还提供一种电缆维护方法,基于如上所述的电缆振动信号特征提取方法得到的结果进行电缆维护。依据异常信号分析结果,进行针对性措施的制定,调整工作参数并加强监控措施,得到维护预防措施方案。具体步骤如下:
[0124] S701:基于所述异常信号分析结果,分析异常信号的出现频率和分布,确定设备部件受到的影响,对异常信号强度和频率进行监控,识别关键设备影响部分,生成关键影响分析结果。
[0125] 具体可基于异常信号分析结果,采用统计分析法分析异常信号的出现频率和分布,通过Python的SciPy库执行Kurtosis和Skewness计算以确定信号分布的偏态和峰度,设置异常信号强度监控阈值为‑20dB至0dB,频率监控范围定为20Hz至2000Hz,利用信号处理技术,具体采用带通滤波器,设置滤波器下限频率为20Hz,上限频率为2000Hz,以剔除不在关注频率范围内的信号,对异常信号强度和频率进行实时监控,通过异常信号的频率分布分析,识别与设备性能下降相关联的关键部件,生成关键影响分析结果。
[0126] S702:基于所述关键影响分析结果,规划对应部件的调整措施和工作参数的修改方案,参照调整的可实施性和期望的改善效果,得到调整执行计划。
[0127] 基于关键影响分析结果,利用决策树算法,具体采用Python的Scikit‑learn库中的DecisionTreeClassifier,设置树深度为4,用于规划对应部件的调整措施和工作参数的修改方案,分析调整措施的可实施性通过成本‑效益分析,具体采用Net Present Value(NPV)和Internal Rate of Return(IRR)计算,期望的改善效果通过模拟调整后的工作参数对设备性能的影响进行预测,使用蒙特卡洛模拟法,设置模拟次数为1000次,以估算调整执行计划带来的潜在改进幅度,得到调整执行计划。
[0128] S703:综合所述调整执行计划,制定多维的维护和管理策略,通过定期维护、关键部件监控和参数优化,对设备的稳定性和性能进行优化,构建维护预防措施方案。
[0129] 维护预防措施方案包括调整的工作参数列表、加强的监控措施细节和设备维护管理计划。
[0130] 本实施例中,综合调整执行计划,采用项目管理算法,具体利用关键路径法(CPM)和项目评估与审查技术(PERT),通过定期维护周期设置为每季度一次,关键部件监控采用振动分析和温度监控技术,参数优化采用遗传算法,设置种群大小为50,迭代次数为20,用于对设备工作参数进行优化,通过多维的维护和管理策略,对设备的稳定性和性能进行系统性优化,构建维护预防措施方案。
[0131] 以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。