💥💥💥💥💥💥💞💞💞💞💞💞💞💞欢迎来到海神之光博客之家💞💞💞💞💞💞💞💞💥💥💥💥💥💥
✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进;
🍎个人主页:海神之光
🏆代码获取方式:
海神之光Matlab王者学习之路—代码获取方式
⛳️座右铭:行百里者,半于九十。
更多Matlab信号处理仿真内容点击👇
①Matlab信号处理 (进阶版)
②付费专栏Matlab信号处理(初级版)
⛳️关注优快云海神之光,更多资源等你来!!
⛄一、案例简介
表面肌电信号(Surface Electromyography)是众多生物电信号中的一种,也是相对来说最容易获取的一种电生理信号。将电极片放置在人体的皮肤表面,可以记录到皮肤表面因肌肉收缩而产生的微弱的电位差,而这个微弱的电位信号通过肌电采集电路的放大和转换就形成了可用作处理的表面肌电信号。sEMG是及其微弱的,下面是肌电与常见电源的电压值比较。
其实人体的各种运动的源头信号均来自于大脑,相当于一个指挥官在给身体的各个组织部分发送命令。当人体做出某个动作时,脊髓神经会产生一个控制信号并利用神经肌肉接头作为媒介传递到肌纤维,与每个神经元关联的肌纤维有很多条,这些部分合在一起就构成了所谓的运动单元。肌纤维细胞经过去极化和复极化操作,在神经肌肉接头处产生动作电位,这个动作电位会沿着神经元的轴突传导到末梢神经和肌肉接点,一旦运动神经接触到肌肉,那么它的轴突将会分支到多个肌纤维上,每个分支终止在肌纤维上形成运动突出的过程称为运动终板。传导到轴突末梢的动作电位使神经与肌肉的接点释放化学物质乙酸胆碱,它使得运动终板的离子通透性发生变化产生终板电位,而后,该终板电位使肌细胞膜达到去极化阈值电位,并产生肌纤维的动作电位,这个动作电位沿着肌纤维向两个肌腱端传播,引起了肌纤维内的一系列变化,导致肌纤维的收缩,大量肌纤维收缩产生肌肉力,并在其周围组织中产生细胞外电场。周围组织经过滤波操作,便可由表面电极或针电极检测到人体软组织中因电流场而表现出的电位差,记录这种肌肉动作电位的曲线称为肌电图(Electromyography, EMG),即所谓的肌电信号。
总结一句比较好理解的就是:你想抬胳膊的时候,这个想法从大脑给出,通过神经介质啥的传递到能执行抬胳膊的肌肉处,一系列的化学反应之后促使肌肉收缩从而在肌肉纤维上产生动作电位,形成电势差,恰好你把特殊装置(肌电贴片)贴合在皮肤表面就获取到了这个电势差的变化,产生的微弱的电位信号。加入我们在胳膊的前臂上贴了足够多的有效电极,那么手部的任何运动在各个电极上产生的电位信号的组合是不相同的,是可区分的。因此,我们可以通过肌电信号来把手势动作分割出来(对应到整个手臂动作、腿部动作、咽喉部动作、背部动作均可以区分)。
研究发现EMG信号随着人体疲劳程度的加深,其幅值会增大,频率会降低,因此
通过分析EMG信号来检测驾驶员的疲劳状态。通过对处理后的数据进行时域分析和频域分析,得到肌电信号的特征参数:积分肌电值(IEMG)、均方根值(RMS)、平均功率频率(MPF)、中位频率(MF)。
IEMG是指在一定时间内肌肉中参与活动的运动单位放电总量,通常其幅值随疲劳程度的加深而增加。RMS反映了运动单位数量的募集程度及其放电频率的同步化程度。
特征提取:面对表面肌电数据的高维性和弱可用性,五种类型的特征提取方法,包括时域方法(TM)、频域方法(F M)、时频方法(T F M)、基于模型的方法(MM)和非线性熵特征提取方法(NM),用于提取表面肌电信号的特征。每种类型的特征提取方法都侧重于不同观测视图中信号的特性。
时域方法:将表面肌电数据视为时间域中时间轴上的物理信号值,其变化特性通常用平均值、方差、最大值和最小值等统计特征来表示。时域方法用于提取上述特征,它将表面肌电信号看作随机信号,其平均值为零,其方差随信号强度的变化而变化。
频域方法:频域分析方法主要研究肌电信号在频域的变化特征,其特征可以表示为频域特征。本文利用傅立叶变换对表面肌电信号进行变换,提取了14个频域特征值。
时频域方法:与时域和频域方法不同,时频域方法同时关注时变特性和频率分布。与时域或频域中的特征不同,表面肌电能够由小波变换过程中产生的小波系数表示。本文首先采用著名的离散小波变换(DWT)方法对表面肌电信号进行5级分解。
基于模型的方法:对于基于模型的方法,我们重点研究了数据联合分布的特征。自回归(AR)模型是一种流行的特征提取方法,广泛应用于生理信号分析,通过将表面肌电信号表示为模型的系数,来表示表面肌电的联合分布。
非线性特征提取方法:由于表面肌电信号是通过跨肌肉膜的离子交换产生的,离子交换的状态由电极检测,状态的变化反映了肌肉活动的混乱程度。我们用熵来描述肌肉活动的混乱程度。具体而言,sEMG信号的每个值表示一个状态。
⛄二、部分源代码
clear all;
file_name = ‘Data1.txt’; % 文件名
fid =fopen(file_name,‘r’); %打开文件
h=fgets(fid); %去掉第一行;
C=textscan(fid,‘%*f%f%f%f%f’);%去掉第一列;并将其他行列写入C
fclose(fid); %关闭文件
Data=[C{1}‘;C{2}’;C{3}‘;C{4}’];%将C中的数据取出放入数组Data1
fid =fopen([‘new_’ file_name],‘w’); %打开新文件夹
fprintf(fid,‘%-.10e %-.10e %-.10e %-.10e\r\n ‘,Data); %将取出的数据放入新文件夹,纯数据
fclose(fid);%关闭新文件夹
%load ‘new_Data1.txt’;
t=[‘new_’ file_name];
[newData]=textread(t,’’,‘delimiter’,’ ');
s=newData(:,1);
sd=wden(s,‘rigrsure’,‘s’,‘mln’,10,‘db8’);
figure(1);
subplot(2,1,1), plot(s); %显示原始信号和去除了噪声的信号
axis([0 512 0.5 1.7]);grid on;
title(‘原始信号’);
subplot(2,1,2), plot(sd);
axis([0 512 0.9 1.4]);
grid on;
title(‘消噪后的信号’);
N=512;
figure(2);
fs=1000;
%数据点数
%时间序列
n=0:N-1;
f=n*fs/N; %频率序列
y=fft(s,N); %对信号进行快速Fourier变换
mag=abs(y); %求得Fourier变换后的振幅
subplot(2,1,1) ,plot(f(1:N/2),mag(1:N/2));
grid on;
axis([0 500 0 17]);
title(‘原始信号的频谱’);
⛄三、运行结果
⛄四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 沈再阳.精通MATLAB信号处理[M].清华大学出版社,2015.
[2]高宝建,彭进业,王琳,潘建寿.信号与系统——使用MATLAB分析与实现[M].清华大学出版社,2020.
[3]王文光,魏少明,任欣.信号处理与系统分析的MATLAB实现[M].电子工业出版社,2018.
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除
🍅 仿真咨询
1 各类智能优化算法改进及应用
生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化
2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
3 图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
4 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化
5 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配
6 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化
7 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化
8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置
9 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长
10 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合