频率时间的肌电图
15的观点(30天)
显示旧的评论
我试图用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(印第安纳州)
但是现在我如何构建之间的关系中值频率和时间吗?
0评论
接受的答案
更多的答案(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 (“中值频率(赫兹)”);
你会发现中间频率与时间有关
韦恩王
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 (“中值频率(赫兹)”);
以上对我来说很不错。当然,你需要确保为您的数据窗口的长度是有意义的。