马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
看了前边有关hht边际谱的讨论,收获很大,但仍有几个问题想请教下高手。
(1)边际谱线的高度表征该频率点在所有时刻对应的幅值总和,我们设置的频率点数NN,实际上是将整个频域划分为NN+1个区间,将落入某个区间的所有瞬时频率点对应的幅值求和,即得该区域对应的边际谱幅值。那么,当NN取值越大,则所划区域范围越大,结果应是求和的幅值越大。那么,这个NN的值的设置,有什么依据么?如原论坛贴中,有取信号长度的。
(2)既然是对各区域的瞬时频率点对应幅值求和,那程序中,为什么还要对幅值求和结果进行“/fs”处理呢?
以上问题对应的程序如下(之前论坛的程序):
clear;
fs=1000; %fs为采样频率;
t=1/fs:1/fs:1; N=length(t); %采样点数 y1=5*sin(2*pi*241*t);
y2=3*sin(2*pi*73*t);
y=[y1;y2;zeros(size(y1))]; %IMF集
%%%%%%%%%%%%%求边际谱
[A,fa,tt]=hhspectrum(y); NN=500;%设置频率点数,有什么依据么?
[E,tt1]=toimage(A,fa,tt,NN); E=flipud(E);%
for k=1:NN
bjp(k)=sum(E(k,:))*1/fs;为什么要将幅值求和结果都除fs?
end
f=(0:NN-1)/NN*(fs/2);
plot(f,bjp);
xlabel('频率 / Hz');
ylabel('幅值'); |