在MATLAB处理肌电图数据吗?

305(30天)
汤姆Nickolay
汤姆Nickolay 2020年2月25日
评论道: 大卫2022年9月4日在7:28
你好,
MATLAB我很新,所以请原谅我的无知,如果这是一个新手的问题。我分析EMG信号,我从数据已经导入xlsx随着时间(X)和电压(y)。
后提取数据;
集(0,“defaultFigureToolbar”,“没有”)
% RAW_DATA_EXTRACTION
% % BACK_SQUAT
% % % VISIT_ONE
T1_10rm_BS_1 = xlsread (“T1_70%_10rm_BS_1.xlsx”,“Sheet3”,“A5: E77494”);
时间= T1_10rm_BS_1 (: 1);
BS_RF_1 = T1_10rm_BS_1 (: 4);
BS_BF_1 = T1_10rm_BS_1 (: 5);
T1_10rm_BS_2 = xlsread (“T1_70%_10rm_BS_2.xlsx”,“Sheet4”,“A5: E78394”);
时间= T1_10rm_BS_2 (: 1);
BS_RF_2 = T1_10rm_BS_2 (: 4);
BS_BF_2 = T1_10rm_BS_2 (: 5);
运行过滤器;
%过滤器
%低通滤波器500 hz
频率= 1500;
NyqFreq =频率/ 2;
低通滤波器= 500;
Wn =低通/ NyqFreq;
[B] =黄油(4 Wn“低”);
%运行过滤器
BS_RF_1_low_filtered = filtfilt (B, A, BS_RF_1);
BS_BF_1_low_filtered = filtfilt (B, A, BS_BF_1);
BS_RF_2_low_filtered = filtfilt (B, A, BS_RF_2);
BS_BF_2_low_filtered = filtfilt (B, A, BS_BF_2);
% 10 hz高通滤波器
高通滤波= 10;
我们=高通滤波/ NyqFreq;
(D C) =黄油(4我们“高”);
%运行过滤器
high_pass_BS_RF_1_filtdata = filtfilt (D C BS_RF_1_low_filtered);
high_pass_BS_BF_1_filtdata = filtfilt (D C BS_BF_1_low_filtered);
high_pass_BS_RF_2_filtdata = filtfilt (D C BS_RF_2_low_filtered);
high_pass_BS_BF_2_filtdata = filtfilt (D C BS_BF_2_low_filtered);
%全波整流的肌电图
filtered_BS_RF_1 = abs (high_pass_BS_RF_1_filtdata);
filtered_BS_BF_1 = abs (high_pass_BS_BF_1_filtdata);
filtered_BS_RF_2 = abs (high_pass_BS_RF_2_filtdata);
filtered_BS_BF_2 = abs (high_pass_BS_BF_2_filtdata);
%线性包络(2赫兹低通)
LP = 2;
Wp = LP / NyqFreq;
[F E] =黄油(4 Wp“低”);
linear_BS_RF_1 = filtfilt (F, E, filtered_BS_RF_1);
linear_BS_BF_1 = filtfilt (F, E, filtered_BS_BF_1);
linear_BS_RF_2 = filtfilt (F, E, filtered_BS_RF_2);
linear_BS_BF_2 = filtfilt (F, E, filtered_BS_BF_2);
并生成我的阴谋(BS_RF_1);
我现在在努力试着找到曲线下的面积为我设置10个重复。
我想定义意味着激活和峰值激活。
欢迎所有建设性帮助,
欢呼。
3评论
大卫
大卫 2022年9月4日在7:28
@Tom Nickolay 你好,
我也困在同一个EMG信号赋值。你完成作业了吗?
如果你做,你能请分享这里的代码。这将是非常有用的。

登录置评。

接受的答案

Aquatris
Aquatris 2020年2月25日
编辑:Aquatris 2020年2月25日
我认为你正在寻找函数cumtrapz, 这是链接。

更多的答案(0)

s manbetx 845


释放

R2019b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!