当前位置: 首页 > news >正文

MATLAB声发射信息熵值计算:滑动窗口法及参数调整

matlab声发射信息熵值采用滑动窗口方法计算 可根据需要自主调整窗口大小、滑动步距还有区间数目,可输出熵值和时间等,可读取txt和excel,自动保存图片,操作简单 带有简明扼要的注释,

伸手摸到实验台上沾着机油的声发射传感器,这玩意儿在工业检测里就像听诊器。今儿咱们要折腾的是声发射信号的信息熵计算,这指标能告诉你材料内部有多闹腾——熵值越高,裂纹扩展越欢实。

先搞个最带劲的:滑动窗口处理时序信号。这就像拿着放大镜在时间轴上溜达,窗口开合之间数据切片就出来了。上硬货——

% 滑动窗口参数设置 windowSize = 500; % 窗长,按采样点计 stepSize = 100; % 步长,越小越精细 numBins = 20; % 直方图分组数 rawData = xlsread('bearing_data.xlsx'); % 读Excel数据 % 或者用textscan(fopen('data.txt'),'%f')读txt

这段代码里藏着几个机关:windowSize别超过数据总长度,否则直接报错给你看。实际项目中我发现窗口太小容易引入噪声,太大又可能漏掉突变点,建议先取信号周期的1/3试试水。

核心算法在熵值计算这块儿,原理就是把数据切片扔进概率分布的绞肉机:

function entropy = calc_entropy(slice, numBins) [counts, ~] = histcounts(slice, numBins); % 把数据切块 prob = counts / sum(counts); % 算概率 prob = prob(prob > 0); % 剔除零值防NaN entropy = -sum(prob .* log2(prob)); % 香农熵公式 end

注意那个prob>0的过滤操作,这是被NaN坑过的人才懂的痛。曾经有个项目就因为这个细节,整个熵值曲线出现诡异缺口,排查到凌晨三点。

主循环才是重头戏,这里实现了窗口的滑动机制:

totalPoints = length(rawData); timeStamps = zeros(1, floor((totalPoints - windowSize)/stepSize)); entropyValues = zeros(size(timeStamps)); for i = 1:length(timeStamps) startIdx = (i-1)*stepSize + 1; endIdx = startIdx + windowSize - 1; currentSlice = rawData(startIdx:endIdx); entropyValues(i) = calc_entropy(currentSlice, numBins); timeStamps(i) = mean([startIdx, endIdx]) / 1000; % 换算成秒 end

循环里的索引计算容易踩坑,特别是endIdx超限的情况。建议加个保险:if endIdx > totalPoints, break; end

最后来个可视化暴击:

figure('Position', [100, 100, 800, 400]) plot(timeStamps, entropyValues, 'LineWidth', 1.5) xlabel('时间(s)') ylabel('信息熵(bit)') title(['滑动熵分析 window=',num2str(windowSize),' step=',num2str(stepSize)]) grid on saveas(gcf, ['entropy_plot_', datestr(now,'yyyymmddHHMM'), '.png']) % 自动存图

这个datestr时间戳小技巧能防止文件覆盖,实测在批量处理时巨好用。曾经有个师弟没加时间戳,一晚上跑的数据全被覆盖,那脸色比熵值曲线还精彩。

参数调优方面,拿滚动轴承故障数据试过水:正常状态下熵值在2.3-2.8之间波动,早期故障时会突然飙到3.5以上。不过要注意采样率的影响,别拿10kHz和50kHz的数据直接比绝对值。

http://www.jsqmd.com/news/134509/

相关文章:

  • cogagent与Open-AutoGLM协同实战:3个关键集成场景与性能优化技巧
  • 为什么顶尖团队都在抢装Open-AutoGLM?真相令人震惊
  • 京东商品价格历史信息API使用指南
  • 互联网大厂Java面试:严肃面试官与搞笑程序员的对决-new
  • 告别本地运行时代:Open-AutoGLM电脑版下架背后的云原生战略布局
  • 美团LongCat-Video:136亿参数视频生成新突破
  • 国外论文参考文献怎么找:实用查找方法与资源推荐
  • Open-AutoGLM × 梦幻西游:大模型介入游戏自动化的真实边界在哪里?
  • 如何在2小时内完成智谱Open-AutoGLM模型部署?资深架构师亲授秘诀
  • Open-AutoGLM为何拒绝微信接入?3个战略级技术考量曝光
  • 【Open-AutoGLM安全指南】:避开root陷阱,实现零特权稳定运行
  • Qwen-Image-Edit-Rapid-AIO:4步实现快速AI图文编辑
  • 智能体电脑操作全解析,手把手教你用Open-AutoGLM实现自动代码生成
  • H3C双WAN口策略路由配置技术教程
  • Open-AutoGLM与微信零集成的背后(深度技术拆解,99%的人不知道)
  • Python 内置 venv 虚拟环境工具完全指南
  • Open-AutoGLM改prompt到底怎么用?这6种高频场景你必须掌握
  • 视频融合平台EasyCVR赋能旅游景区构建全场景可视化监控新体系
  • Open-AutoGLM改prompt实战指南(99%工程师忽略的关键细节)
  • U-Linker小组第五次作业 - Alpha阶段冲刺总结:从0到1的跨越,十二人的协同与破局
  • Open-AutoGLM群控安全机制大揭秘(权限分级+审计追踪+防劫持设计)
  • 外文文献去哪里找?这几大渠道别再错过
  • 收藏必备:大模型进化史——从LLM到具身智能的AGI之路
  • 电机制造业数据采集物联网解决方案
  • Qwen3-VL-8B-Thinking:终极多模态AI助手来了!
  • 机载软件配置项综合测试与验证设备
  • 【国产大模型黑马突围】:Open-AutoGLM的7个关键突破点你必须知道
  • 中国版ChatGPT崛起之路(Open-AutoGLM火爆内幕首次曝光)
  • 如何查找国外期刊:实用方法与资源推荐
  • 震惊!我用AI让AI写代码,3小时搞定咖啡数据分析Agent,小白也能学会!