|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
大家请帮忙看看我的这个程序,对这样的一个混合正弦信号,怎样提取频率为2HZ的幅值特征,我自己写的程序如下,大家看看有什么问题?
% 正弦信号实示例
clear;
N=128;fs=10;f1=4;f2=2;f3=1;n=0:N-1;
xn=sin(2*pi*f1*n/fs)+sin(2*pi*f2*n/fs)+sin(2*pi*f3*n/fs);
xk=fft(xn,N);
mxk=abs(xk(1:N/2));
f=(0:N/2-1)*fs/N;
plot(f,mxk); % 傅立叶变换后的频谱图
%求指定频率范围内的瞬时幅值时程变化
fb=[1.9 2.1]; % 用小波分析的方法提取2HZ的信号特征
mina=2;maxa=fs;deta=1;
a=mina:deta:maxa;
wname='cmor2-1';
f0=centfrq(wname); % 小波中心频率
a2=fs*f0/fb(1,1);a1=fs*f0/fb(1,2);
inda1=round((a1-mina)/deta); % 将频率范围转化为尺度范围
inda2=round((a2-mina)/deta);
figure(2);
c=cwt(xn,a,wname);
ci=c(inda1:inda2,:);
h=mean(abs(ci).^2,1); % 均方幅值
plot(n,h);
xlabel('t(s)');
这样的程序画出来的2HZ的幅值近似为一条直线,应该不对吧?可是该怎么做啊?
[ 本帖最后由 zhangnan3509 于 2007-6-4 22:03 编辑 ] |
|