边际谱 问题求助
clear;fs=1200; %fs为采样频率;
N=1200; %采样点数
t=1/fs:1/fs:N/fs;
y1=1*sin(800*pi*t+900);
%%%%%%%%%%%%%求边际谱
=hhspectrum(y1);
=toimage(A,fa,tt,length(tt));
for k=1:size(E,1)
bjp(k)=sum(E(k,:))*1/fs;
end
f=(1:N-2)/N*fs;
plot(f,bjp);
xlabel('频率 / Hz');
ylabel('幅值');
其中信号明明频率应该是400的,为何图形得到是800呢?
[ 本帖最后由 zhlong 于 2007-6-13 17:46 编辑 ]
回复 #1 dengbangfei 的帖子
哥们 请问这个信号频率是多少?你真的知道吗?应该是400回复 #2 zhangnan3509 的帖子
对啊,就是400,可是图形出来的是800,不是有问题吗?回复 #3 dengbangfei 的帖子
你看清楚了 这个正弦的频率是多少?回复 #4 zhangnan3509 的帖子
我先问你sin(2*pi*t)这个正弦信号频率应该是多少呢?难道不是1吗?回复 #5 dengbangfei 的帖子
800*pi=2*pi*f,这个频率是多少 f=(1:N-2)/N*fs;不是fs吧,应该是fs/2
回复 #7 zhlong 的帖子
这没错!求边际谱的频率序列,如果除以2就对应不上了。这出自破皇的边际谱[ 本帖最后由 zhangnan3509 于 2007-6-11 23:30 编辑 ]
回复 #6 zhangnan3509 的帖子
我们的意思是一样的,难道是程序有问题?请指教回复 #9 dengbangfei 的帖子
我们的意思是不一样的!你连频率都算错了。回复 #6 zhangnan3509 的帖子
难道这个频率不是400?回复 #11 dengbangfei 的帖子
你不是说800吗回复 #12 zhangnan3509 的帖子
看来是你一直搞错我的意思了,我就是认为应该是400,而程序运行出来的图形显示的是800.回复 #13 dengbangfei 的帖子
不会吧!我这电脑上没有MATLAB,没:@L 办法试验回复 #14 zhangnan3509 的帖子
真的啊,我郁闷了好几天那!
页:
[1]
2