【肌电图信号分析】通道肌电图并查找收缩周期的数量、振幅、最大值和持续时间(Matlab代码实现)

news2024/11/24 11:40:20

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

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

该算法接受来自一块肌肉的肌电图信号,并根据用户输入的参数找到收缩期的数量、幅度、最大值和持续时间。输出保存为逗号分隔文本 (csv) 和图像(图 png)。该算法首先使用合成肌电图信号进行测试,然后使用在吃中等强硬食物和睡眠期间记录的咬肌肌的真实肌电图信号。
我们的算法是使用短时快速傅里叶变换的替代方法,以检测咀嚼频率。这是在程序中通过计算每个咀嚼周期周期的倒数获得的。

目前广泛用于苏黎世大学(瑞士)牙科医学中心,用于评估健康受试者和磨牙症咬肌的日常和夜间活动。该脚本还用于同一中心的一项试点研究,以调查佩戴夜间咬合器具对咬肌活动的影响。

要分析肌电图信号并查找收缩周期的数量、振幅、最大值和持续时间,按照以下步骤进行:

1. 采集肌电图信号:使用合适的电极将肌肉的电活动信号采集下来。确保信号采集设备与肌肉相连,并设置适当的采样率和增益。

2. 数据预处理:对采集到的肌电图信号进行预处理。这包括滤波、降噪和放大,以提高信号质量和可分析性。

3. 分析收缩周期数量:通过观察信号波形的周期性特征,可以估计收缩周期的数量。可以使用自相关函数或傅里叶变换等方法来检测信号的周期性。

4. 计算振幅和最大值:通过测量信号的幅值,可以计算振幅和最大值。振幅是信号波形的振幅大小,而最大值是信号中的最大幅值。

5. 计算持续时间:基于收缩周期的识别,可以计算每个收缩周期的持续时间。持续时间是指从一个收缩周期开始到下一个收缩周期开始的时间间隔。

通过上述步骤,你可以对肌电图信号进行分析,并获得收缩周期的数量、振幅、最大值和持续时间。这些分析结果可以用于评估肌肉活动和相关的生理特征。请注意,具体的信号处理和分析方法可能因具体应用而有所不同。

📚2 运行结果

 

 

 

 

 

 

 

 

 

 

部分代码:

% ---------- READ INPUT -----------------------------------------------
  Numeric = dlmread('Input.csv',';', 'b3..b10');
        % input file is of prescribed structure
        % can be opend using MO excel, OpenOffice Calc, or Notepad

    Threshold = Numeric(1,1);   % Threshold for the signal
    TimePause = Numeric(2,1);   % [s], what time devide the activites
    ChannelInfo = Numeric(3,1); % which channel is cosen (1-left,2-right)
    ActDur = Numeric(4,1);      % minimal duration of the activity [s]
    MVC = Numeric(5,1);         % [mV] for maximal voluntary contraction 
    StartTime = Numeric(6,1);   % from when to load the signal [s]
    StopTime = Numeric(7,1);    % when to stop reading the file [s]
    RectDecision = Numeric(8,1);% full-wave rectification (0-no, 1-yes)

% ----------------------------------------------------------------------     
% Pick the experimental wav file file  
 [fileName,expPathname] = uigetfile('*.wav','Pick an experimental file');
 disp('                                                               ')

% -----------------------------
% file informations 
[y, fs, nbits, opts]=wavread2(fileName);
disp('----------- Information about the whole file -------------- ')
fprintf('Information of the sound file "%s":\n', fileName);
TotalDuration  = length(y)/fs;
fprintf('Total duration of the file = %g seconds\n', TotalDuration );
fprintf('Sampling rate = %g samples/second\n', fs);
fprintf('Bit resolution = %g bits/sample\n', nbits);
dt = 1/fs;
disp(['dt =', num2str(dt)]) % disp('7) time between adjacent steps')
tot_samples = length(y); % length of the file
 disp(['Total length of the loaded file is ', num2str(tot_samples )])

 size(y)
 %pause
disp('------------ Aditional informations -----------------------')
opts.fmt
disp('Output')
disp('1) format tag of the wave file')
disp('2) number of channels')
disp('3) number of samples per second (sampling rate)')
disp('4) number of bytes per second')
disp('5) ratio between nAveBytesPerSec and nSamplePerSec')
disp('6) bit resolution')

🎉3 参考文献

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

[1]成莹,马元超,陈震宇.运动想象辅助干预对脑卒中肢体功能障碍及肌电图信号的影响[J].检验医学与临床,2023,20(01):112-115.

[2]游淼,邹国栋,林婉华等.基于肌动图与肌电图信号的假肢控制系统的研究[J].北京生物医学工程,2011,30(06):574-577.

[3]罗琦琨,张庆陵,向明等.WIN98环境下肌电图信号高速采样的实现[J].上海生物医学工程,2002(01):49-53.

🌈4 Matlab代码实现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/850069.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

财报解读:上半年仍在亏损,百济神州烧钱狂飙还能坚持多久?

2023年上半年对于创新药新秀百济神州而言,显然是喜忧参半的。 年初1月份,凭借在与美国本土巨头药品PK中的优秀表现,百济神州拳头产品获得了美国药监局批准,得以覆盖更多的适应症,由此引爆销售增长;而年中6…

【MATLAB第67期】# 源码分享 | 基于MATLAB的morris全局敏感性分析

【MATLAB第67期】# 源码分享 | 基于MATLAB的morris全局敏感性分析 一、代码展示 clear all npoint100;%在分位数超空间中要采样的点数(计算次数iternpoint*(nfac1) nfac20;%研究函数的不确定因素数量 [mu, order] morris_sa1((x)test_function(x), nfac, npoint)for t1:size…

剑指offer56-I.数组中数字出现的次数

这道题我知道要用位运算,想了一下没头绪就直接看题解了,就是所有元素进行异或操作,对于两个操作数的每一位,相同结果为0,不同结果为1,在计算过程中,成对出现的数字的所有位会凉凉抵消为0&#x…

备份容灾哪家好怎么样

数字化时代,数据安全是我们不容忽视的问题。云呐容灾备份系统不仅提供了强大的数据保护功能,而且操作简单,使用方便。无论你是企业管理员,还是个人用户,都可以轻松上手。它还提供了丰富的报告和监控功能,让…

尚品汇总结九:RabbitMQ在项目的应用(面试专用)

项目中的问题 1.搜索与商品服务的问题 商品服务修改了 商品的上架状态,商品就可以被搜索到.采用消息通知,商品服务修改完商品上架状态,发送消息 给 搜索服务,搜索服务消费消息,进行商品数据ES保存.下架也是一样. 2.订单服务取消订单问题 延迟队里 保存订单之后 开始计时,…

每日一题——最小花费爬楼梯

题目 给定一个整数数组 cost ,其中 cost[i] 是从楼梯第i 个台阶向上爬需要支付的费用,下标从0开始。一旦你支付此费用,即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。 请你计算并返回达到楼梯顶部的…

【Matlab】RBF神经网络遗传算法(RBF-GA)函数极值寻优——非线性函数求极值

上一篇博客介绍了GRNN-GA:GRNN神经网络遗传算法(GRNN-GA)函数极值寻优——非线性函数求极值,神经网络用的是RBF神经网络,RBF神经网络和GRNN神经网络有相似之处。本篇博客将GRNN神经网络替换成RBF神经网络,希望能帮助大家快速入门R…

推荐5本软件测试人员必读经典书籍

学会选择对的学习方法 俗话说:“选择大于努力”。 初学软件测试也如此。很多刚入行测试的同学最容易陷入一个误区,那就是优先买一堆视频来学习。结果时间过去了,视频仅以形式主义存在电脑的硬盘里,从此走上了入门到放弃之路。 …

第1章:绪论

科学、技术、工程、应用 科学:是什么、为什么技术:怎么做工程:怎样做的多快好省应用:怎么使用 定义 机器学习:利用经验改善系统自身的性能。 研究 智能数据分析(数据分析算法) 典型的机器…

Q-Tester 3.8:适用于开发、生产和售后的诊断测试软件

Q-Tester是一款简易使用的诊断测试软件,同时也是一款基于ODX(ASAM MCD-2D/ISO 22901-1)国际标准的工程诊断仪,通过该诊断仪可实现与ECU控制之间的数据交互。这一方案的优势是,在功能方面确定并完成相关开发工作后&…

【MATLAB第65期】基于LSTM长短期记忆网络的多输入单输出数据预测未来思路介绍(短期预测)

【MATLAB第65期】基于LSTM长短期记忆网络的多输入单输出数据预测未来思路介绍(短期预测) 往期第13期已实现多输入单输出滑动窗口回归预测 多输入单输出滑动窗口回归预测 往期第54期已实现多输入多输出滑动窗口回归预测 多输入多输出滑动窗口回归预测 一…

基于gpt4all的企业内部知识问答服务应用搭建

文章目录 痛点项目缘起技术选型fine-tuningfew shot prompt engineering选定方案的特征描述 模型赛马gpt4all调优部署时踩坑python3.9 header缺失 -- 安装下缺失的就行运行时参数调优 代码分析项目代码库代码 效果展示例子1例子2 附录:所用的公司内部API文档例子&am…

【SpringBoot】日志是什么+基于lombok的日志输出

博主简介:想进大厂的打工人博主主页:xyk:所属专栏: JavaEE进阶 在我们日常的程序开发中,日志是程序的重要组成部分,想象⼀下,如果程序报错了,不让你打开控制台看⽇志,那么你能找到报错的原因吗…

datax-web登陆时出现账号密码错误

在查找问题时,在admin里面查看日志时: 目录的位置:datax-web-2.1.2/modules/datax-admin/bin/console.out 发现了java程序没有跑起来,解决对应的bug问题即可,一般都是数据库连接的问题,可能和使用的数据库版…

华为OD机试之报文重排序(Java源码)

题目描述 对报文进行重传和重排序是常用的可靠性机制,重传缓中区内有一定数量的子报文,每个子报文在原始报文中的顺序已知,现在需要恢复出原始报文。 输入描述 输入第一行为N,表示子报文的个数,0 <N ≤ 100…

文章采集伪原创发布工具-147采集

在当今信息爆炸的时代,企业和个人都意识到了获取高质量、原创的内容的重要性。然而,手动撰写大量的原创内容是一项耗时费力的任务。为了解决这个问题,我向您介绍一款颠覆性的数据采集工具——147采集。 147采集是一款专业且高效的数据采集软件…

3D二次元背景的引导页,带六个按钮可作导航源码下载

二、下载:引导页.zip - 蓝奏云文件大小:615.5 K|https://wwwf.lanzout.com/iruSu14t6e6b 三、用途: 可作为画师和企业介绍页,记得把背景换成自己的作品和企业产品展示 可修改打赏页面,每个按钮设一个二维码 可替换…

WebRTC | 音视频实时通信的本质

目录 一、音视频实时通信的两种指标 1. 实时通信延迟指标 2. 视频相关的基本概念 3. 音视频服务质量指标 二、解决实时通信的主要矛盾 1. 增加带宽 A. 提供更优质的接入服务 B. 保证云端网络的带宽和质量 C. 更合理的路由调度策略 2. 减少数据量 A. 采用更好的压缩算…

HBase API

我们之后的实际开发中不可能在服务器那边直接使用shell命令一直敲的&#xff0c;一般都是通过API进行操作的。 环境准备 新建Maven项目&#xff0c;导入Maven依赖 <dependencies><dependency><groupId>org.apache.hbase</groupId><artifactId>…

计算机网络性能指标

比特&#xff1a;数据量的单位 KB 2^10B 2^13 bit 比特率&#xff1a;连接在计算机网络上的主机在数字通道上传送比特的速率 kb/s 10^3b/s 带宽&#xff1a;信号所包含的各种频率不同的成分所占据的频率范围 Hz 表示在网络中的通信线路所能传送数据的能力&#xff08…