ceibawx
2010-09-23, 12:18
我现在采集了一组手掌伸指/握拳的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的长度。
我搜到一个例程,但没看懂。
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的长度。