注册 登录
编程论坛 Matlab

三维频谱图的画法 

aixiaoxin810 发布于 2013-04-08 15:57, 1134 次点击
程序代码:
N=size(B1);
   y=B1(1,1);
   H=[];
    H=[H;y];
for i=2:1:N(1)
    if(B1(i,1)~=B1(i-1,1))
           y= B1(i,1);
           H=[H;y];
    end
end

M=length(H);
for  k=1:1:M
   G=[];x=[];y=[];
   H(k)
    for  j=1:1:N(1)
     
        if(H(k)==B1(j,1))
            G=[G;B1(j,:)];
        end
    end
B=G(:,2);
Fs=length(B);
nfft=1024;
X=fft(B,nfft);
Pxx=abs(X).^2/(Fs+1);
t=0:round(nfft/2-1);
f=t*Fs/nfft;
P=10*log10(Pxx(t+1));
plot3(f-f+H(k),f,P);hold on
end
这是利用采集的信号,TXT保存,然后matlab调用的傅里叶变换matlab程序,但是Y轴的频率比和Z轴的幅值不是我想要的形式,求大神指点怎样更改程序。左边是程序运行的结果,右面是我想要的,频率比变化范围是0到3,Z轴幅值最大是1.
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
这是采集的信号

[ 本帖最后由 aixiaoxin810 于 2013-4-8 19:57 编辑 ]
0 回复
1