在MATLAB处理肌电图数据吗?
305(30天)
显示旧的评论
你好,
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);
![](http://www.tianjin-qmedu.com/matlabcentral/answers/uploaded_files/273552/image.png)
我现在在努力试着找到曲线下的面积为我设置10个重复。
我想定义意味着激活和峰值激活。
欢迎所有建设性帮助,
欢呼。