频率时间的肌电图

15的观点(30天)
李
2013年6月28日
回答: CHOW KHUEN陈2017年7月3日
我试图用Matlab来寻找中值频率对时间的EMG信号。
B = xlsread (“C: /用户/ /桌面/ fatigue_20.xlsx ');
铁= 800;
A = B (0.1 e4:8.2e5:);
N =长度(一个);
t = 0:1 / Fe: (N / Fe) 1 /铁;
psd = psd (spectrum.periodogram A_si,“Fs”,800,“NFFT”N);
normcumsumpsd = cumsum (psdest.Data)。/笔(psdest.Data);
印第安纳州=找到(normcumsumpsd < = 0.5, 1“最后一次”);
中位数频率= psdest.Frequencies(印第安纳州)
但是现在我如何构建之间的关系中值频率和时间吗?

接受的答案

韦恩王
韦恩王 2013年6月28日
如果你想找到中值频率对时间,你必须使用短时傅里叶变换(或其他时频分析技术)
利用周期图,你将失去所有时间信息。
您可以使用光谱图()来获得一个PSD的矩阵估计随着时间一定程度的本地化这取决于多长时间窗口(段)。你可以计算的中间部分。
1评论
李
2013年6月28日
你能帮我一个忙,给我一个例子吗?非常感谢

登录置评。

更多的答案(3)

韦恩王
韦恩王 2013年6月28日
编辑:韦恩王 2013年6月28日
给你:
Fs = 1000;
t = 0:1 / Fs: 5;
x = 2 * cos(2 *π* 100 * t) * (t < 1) + 3 * cos(2 *π* 200 * t)。* (t > 1 & t < 2) + 1.5 * cos(2 *π* 150 * t)。* (t > 2 & t < 3) + 2 *罪(2 *π* 50 * t-pi / 4)。* (t > 4) + randn(大小(t));
窗口= 100;
(S、F T, P) =光谱图(/ 2 x,窗口,窗口,窗口中,Fs);
nn = 1:尺寸(P, 2)
normcumsumpsd = cumsum (P (:, nn))。/笔(P (:, nn));
印第安纳州=找到(normcumsumpsd < = 0.5, 1“最后一次”);
medianfreqs (nn) = F(印第安纳州);
结束
情节(T, medianfreqs);
包含(的时间(秒));
ylabel (“中值频率(赫兹)”);
你会发现中间频率与时间有关
3评论
李
2013年6月28日
> >谁x的名字大小字节类属性
x841700 x16733600

登录置评。


韦恩王
韦恩王 2013年6月28日
如果我用一个向量随机噪声的大小与输入相同
Fs = 800;
x = randn (841700 1);
窗口= 100;
(S、F T, P) =光谱图(/ 2 x,窗口,窗口,窗口中,Fs);
nn = 1:尺寸(P, 2)
normcumsumpsd = cumsum (P (:, nn))。/笔(P (:, nn));
印第安纳州=找到(normcumsumpsd < = 0.5, 1“最后一次”);
medianfreqs (nn) = F(印第安纳州);
结束
情节(T, medianfreqs);
包含(的时间(秒));
ylabel (“中值频率(赫兹)”);
以上对我来说很不错。当然,你需要确保为您的数据窗口的长度是有意义的。
1评论
李
2013年6月28日
你是对的,但我尚未成功,它仍然给了下面的错误消息
> > Untitled666不当分配与矩形空矩阵。
错误在Untitled666(第8行)medianfreqs (nn) = F(印第安纳州);
矩阵的样子:0.2250 0.3220 0.2250 0.0150 -0.0490 0.0730 0.0830 0.0340 0.0200 -0.0340 0.0630 0.0490 0.0340 -0.0630 -0.0590 0.0490 0.2050 0.2690 0.3120 0.0830 -0.0590 -0.0440这有点神秘。

登录置评。


CHOW KHUEN陈
CHOW KHUEN陈 2017年7月3日
嗨,你知道如何编辑和计算值的部分。任何想法?

标签

社区寻宝

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

开始狩猎!