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

【数字化处理】仿生假体控制中肌电信号的数字化处理研究(Matlab代码实现)

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码及文献


💥1 概述

文献来源:

只要对生理信号进行适当的数字处理,就可以从生理系统控制生物机器人系统,例如假肢,用户通过这种数字处理在一定程度上控制生理信号,就像肌电图信号一样。生物信号以滤波技术为条件,也可以通过适当的数学技术(例如IAV)提取信号的特征,这可以实现所述目标,此外,还允许应用控制方法,例如生物信号大小的分类,以便它为生物机器人系统提供特定的响应。
应该注意的是,EMG信号包络的计算是一个至关重要的过程,因为可以设置控制阈值,从而可以更轻松,更精确地控制机电系统。允许以这种方式利用生物身体的电生理信号,在机械系统中执行定义的运动,以实现用户所需的功能。
这项工作表明,有可能使用“不可用”的生物信号,因为它们在获得时包含的噪声量。一旦完成适当的处理,就会在允许以所需方式控制的设备中使用最佳信号。此外,这种发展适用于截肢者的日常生活,这使得启用丢失的功能,例如,执行机械臂的运动,它可以完成特定任务以实现个人目标,例如将食物送到嘴里或写信。

利用Live Script的特性,本文档将展示如何执行数字信号处理(DSP)的复杂数学计算,例如傅里叶变换或MATLAB提供的强大工具的数字滤波器的设计和应用,从而从生物信号(生物信号)作为肌电图(EMG)信号的相关性中推断信息,肌电图信号是由传感器获取的生物肌肉的电位。

这些信息将用于控制作为假体的生物机器人系统,通过使用激活阈值分类使用表征和控制技术。

📚2 运行结果

 

 

 

 

 

 

部分代码:

figure
plot(t,EMGf1,'k')
title('Filtered EMG signal (4Hz a 500Hz)')
xlabel('Time(s)'),ylabel('Magnitude(mV)'),grid on
xlim([0 time])
EMGF1=fft(EMGf1);
figure
plot(f0*(0:N-1),abs(EMGF1),'g')
title('Frequency spectrum of the filtered EMG signal (4Hz a 500Hz)')
xlabel('Frequency(Hz)'),ylabel('Energy'),grid on
xlim([0 1500])

cb=57;
ca=63;
[b,a]=butter(3,[cb*2/fm ca*2/fm],'stop');
EMGf2=filter(b,a,EMGf1);
EMGF2=fft(EMGf2);

figure
plot(t,EMGf2,'k')
title('Filtered EMG signal (4 a 500Hz - 60Hz)')
xlabel('Time(s)'),ylabel('Magnitude(mV)'),grid on
xlim([0 time])
figure
plot(f0*(0:N-1),abs(EMGF2),'g')
title('Frequency spectrum filtered EMG signal (4 a 500Hz - 60Hz)')
xlabel('Frequency(Hz)'),ylabel('Magnitude'),grid on
xlim([20 100])

figure
plot(t,EMGR,'r')
hold on
plot(t,EMGf2,'k')
title('Comparison between Raw EMG and EMG Filtered Signal in time')
xlabel('Time(s)'),ylabel('Magnitude(mV)'),grid on
xlim([0 time])
legend('Raw EMG','Processed EMG')

figure
plot(f0*(0:N-1),abs(EMGF),'r')
hold on
plot(f0*(0:N-1),abs(EMGF2),'k')
title('Comparison between Raw EMG and EMG Filtered Signal in frequency')
xlabel('Frequency(Hz)'),ylabel('Magnitude'),grid on
xlim([0 1000])

figure
T=linspace(0,time,W);
plot(T,EMGE_MAV,'-g*')
hold on
plot(T,EMGE_RMS,'-mo')
plot(T,EMGE_IAV,'-k')
title('MAV vs RMS vs IAV')
xlabel('Time(s)'),ylabel('Normalized Magnitude'),grid on
xlim([0 time])
legend('MAV','RMS','IAV')

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

🌈4 Matlab代码及文献

http://www.lryc.cn/news/115737.html

相关文章:

  • 谷歌推出Flax:JAX的神经网络库
  • PDF换行的难度,谁能解决?
  • 山东布谷科技直播程序源码使用Redis进行服务器横向扩展
  • symfony3.4中根据角色不同跳转不同页面
  • Dockerfile部署golang,docker-compose
  • 什么是Linux,如何在Windows操作系统下搭建Linux环境,远程连接Linux系统
  • Ubuntu下RabbitMQ安装与简单使用
  • 力扣62.不同路径(动态规划)
  • TypeScript 泛型的概念和基本使用
  • redis的事务和watch机制
  • objectMapper.getTypeFactory().constructParametricType 方法的作用和使用
  • 【websocket - Tornado】简易聊天应用
  • TCP 三次握手,四次挥手
  • Nginx之Rewrite重定向
  • uni-app微信小程序开发自定义select下拉多选内容篇
  • VUE+view table.exportCsv()导出.csv文档时如何防止数据格式为科学计数
  • Java基础练习六(排序)
  • 【Go】Go数据操作 - 处理JSON文件
  • 服务器之LNMP
  • 恒运资本:定向增发一般多久完成?
  • mysql进阶篇(二)
  • 考研C语言进阶题库——更新31-32题
  • 机动车号牌正则表达式(兼容新能源车牌)
  • idea如何上传项目到github(超详细)
  • 护网专题简单介绍
  • GO学习之 网络通信(Net/Http)
  • <dependency> idea中为什么这个变黄色
  • SA8000 社会责任要求之健康安全准则
  • SpringMVC的架构有什么优势?——控制器(三)
  • AI和ChatGPT:人工智能的奇迹