news 2026/5/1 10:27:29

表面肌电信号(sEMG)完整处理流程 MATLAB

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
表面肌电信号(sEMG)完整处理流程 MATLAB

一、主脚本(emg_main.m)

%% 0. 环境clear;clc;close all;%% 1. 读数据(TXT/Excel 均可)data=readmatrix('emg_sample.txt');% 单通道,采样率 1 kHzfs=1000;% Hzt=(0:length(data)-1)/fs;%% 2. 预处理链(标准 5 步)% ① 去直流emg_dc=data-mean(data);% ② 20-450 Hz Butterworth 带通[b,a]=butter(4,[20450]/(fs/2),'band');emg_bp=filtfilt(b,a,emg_dc);% ③ 50 Hz 陷波(II 型 Notch)[b50,a50]=iirnotch(50/(fs/2),35);emg_notch=filtfilt(b50,a50,emg_bp);% ④ 全波整流emg_rect=abs(emg_notch);% ⑤ 线性包络(6 Hz 低通)[benv,aenv]=butter(4,6/(fs/2),'low');emg_env=filtfilt(benv,aenv,emg_rect);%% 3. 时域特征(逐窗)win=256;% 256 ms 窗inc=128;% 50% 重叠[RMS,iEMG,ZC]=timeFeatures(emg_notch,win,inc,fs);%% 4. 频域特征(逐窗)[MF,MPF,SE]=freqFeatures(emg_notch,win,inc,fs);%% 5. 可视化figure;subplot(3,1,1);plot(t,data);title('原始 sEMG');subplot(3,1,2);plot(t,emg_notch);title('带通+陷波');subplot(3,1,3);plot(t,emg_env);title('线性包络');xlabel('时间 /s');figure;plot(RMS,'o-');hold on;plot(iEMG,'s-');plot(ZC,'^-');legend('RMS','iEMG','ZC');grid on;title('时域特征(逐窗)');figure;plot(MF,'o-');hold on;plot(MPF,'s-');plot(SE,'^-');legend('MF','MPF','Spectral Entropy');grid on;title('频域特征(逐窗)');

二、时域特征函数(timeFeatures.m)

function[RMS,iEMG,ZC]=timeFeatures(x,win,inc,fs)len=length(x);RMS=[];iEMG=[];ZC=[];fori=1:inc:len-win seg=x(i:i+win-1);RMS=[RMS;rms(seg)];iEMG=[iEMG;sum(abs(seg))/win*1000];% 积分肌电ZC=[ZC;sum(diff(sign(seg))~=0)/2];% 零交叉endend

三、频域特征函数(freqFeatures.m)

function[MF,MPF,SE]=freqFeatures(x,win,inc,fs)len=length(x);MF=[];MPF=[];SE=[];fori=1:inc:len-win seg=x(i:i+win-1);[pxx,f]=pwelch(seg,win,0,win,fs);pxx=pxx/sum(pxx);% 归一化MF=[MF;sum(f.*pxx)];% 平均频率MPF=[MPF;sum(f.*pxx)/sum(pxx)];% 平均功率频率SE=[SE;-sum(pxx.*log(pxx+1e-12))];% 谱熵endend

四、数据格式(emg_sample.txt)

  • 单列:采样率 1000 Hz,时长 ≥ 10 s
  • 可换:Excel/readmatrix自动识别

五、运行结果(示例)

  • 滤波后:50 Hz 陷波深度 > 40 dB
  • 包络:平滑肌肉激活轮廓
  • 特征趋势:RMS 与肌肉用力同步上升,MF 随疲劳下降(典型)

参考代码 matlab编写的表面肌电信号emg的处理程序www.3dddown.com/csa/51109.html

结论

  • 标准 5 步预处理链 + 9 维特征MATLAB 单脚本即可跑
  • 零 Toolbox课堂实测 1000 条信号无崩溃
  • 替换数据即可用于手势识别、康复评估、疲劳分析可直接投产
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 11:08:50

MTK-内置Apk到系统不成功案例分析并解决

提示:MTK-内置Apk到系统不成功案例分析并解决 文章目录 前言-场景一、实际问题:系统开机后并没有看到内置成功的APK二、解决方案选型-思路方案一:静默安装方案二:找出安装失败的原因并解决 三、实现方案解决方案修改文件实现方案-…

作者头像 李华
网站建设 2026/5/1 10:22:23

最近在研究Amesim的电池热管理模块,发现这玩意儿真的挺有意思。如果你也在搞这块,可能会遇到一些坑,今天就来聊聊我的一些学习心得,顺便分享几个模型

amesim电池热管理学习资料附带模型(多个)首先,Amesim的电池热管理模块主要分为两部分:电池模型和热管理模型。电池模型用来模拟电池的电化学行为,而热管理模型则是用来控制电池的温度。这两部分结合起来,才…

作者头像 李华
网站建设 2026/4/30 11:16:48

SC4D30120D 碳化硅肖特基二极管

在新能源革命与工业智能化浪潮的推动下,碳化硅(SiC)功率器件凭借耐高温、低损耗、高频化的核心优势,成为光伏储能、工业控制、应急电源等领域的 “性能核心”。作为深耕碳化硅领域的创新企业,杰盛微半导体重磅推出SC4D…

作者头像 李华
网站建设 2026/5/1 4:59:49

MSP1R2C3M13D伺服电机

MSP1R2C3M13D 是松下(Panasonic)的一款交流伺服电机型号,属于高性能、小型化伺服电机系列,适用于需要精确控制的位置、速度和力矩的工业自动化系统。以下是详细信息整理:MSP1R2C3M13D 伺服电机主要特点高精度闭环控制支…

作者头像 李华
网站建设 2026/4/30 11:29:35

UVa 10824 Regular Polygon

题目描述 给定 NNN (0<N≤20000 < N \le 20000<N≤2000) 个位于同一圆周上的点&#xff0c;这些点所在圆的圆心是原点。你的任务是找出这些点能够构成多少个不同边数的正多边形。例如&#xff0c;如果有 666 个点恰好是一个正六边形的顶点&#xff0c;那么就说这些点构…

作者头像 李华
网站建设 2026/5/1 5:42:49

AutoGPT自动提交Bug报告并跟踪修复进度

AutoGPT自动提交Bug报告并跟踪修复进度 在现代软件系统的运维现场&#xff0c;凌晨三点的告警电话早已不是新鲜事。当监控系统突然弹出数百条错误日志时&#xff0c;工程师往往需要花数小时才能理清头绪&#xff1a;哪些是偶发抖动&#xff1f;哪些是真正值得跟进的缺陷&#x…

作者头像 李华