MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [MATLAB基础] 如何求信号的中值频率 (https://www.labfans.com/bbs/showthread.php?t=12098)

ceibawx 2010-09-23 12:18

如何求信号的中值频率
 
1 个附件
我现在采集了一组手掌伸指/握拳的sEMG信号,需要求出该伸指/握拳信号的中值频率。需要用matlab来写代码。请问谁可以教教我吗?
我搜到一个例程,但没看懂。
1)为什么f1=(0:length(fc)-1)'*fs/length(fc);中要转置?
2)当把傅里叶变换后的频谱图(见附件图)画出来后,如何准确确定中值频率的数值?



% median frequency
[cory,lag]=xcorr(f,'unbiased');%求自相关函数,并做图。
plot(lag/fs,cory); %自相关函数(无偏差的),其中,f为原函数,cory为要求的自相关函数,lag为自相关函数的长度。fs为地函数的取样频率。
fc=fft(cory);
cm=abs(fc);%自相关函数的傅里叶变换:即功率谱密度。cm是cory付里叶变换后的幅值。
fl=(0:length(fc)-1)'*fs/length(fc);
plot(fl,cm);%fl为fc的长度。


所有时间均为北京时间。现在的时间是 03:22

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.