声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1006|回复: 1

[HHT] 哪位大神有plot_hht_3d的程序

[复制链接]
发表于 2014-6-2 18:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我已经把信号用EMD分解,但是因为没有plot_hht_3d的程序做不出Hilbert谱,希望有程序的大神帮帮忙
回复
分享到:

使用道具 举报

发表于 2014-6-6 10:04 | 显示全部楼层
%参见帖子绘制HHT三维谱图例子
%numfreq:划分的频率个数,fs:采样频率,ANGLE:视图角度
function plot_hht_3d(imf,numfreq,fs,ANGLE)
if nargin<3
    fs=1;
    ANGLE=[-37.5,30];
end
if nargin<4
    if size(fs,2)>1
        ANGLE=fs;
        fs=1;
    else
        ANGLE=[-37.5,30];
    end   
end
N=size(imf,2);
[A,f,tt]=hhspectrum(imf);
[m,n]=size(f);
MaxFreq=max(max(f));
MaxFreq=ceil(MaxFreq/0.5)*0.5;
if nargin<2
    numfreq=512;
end
df=linspace(0,MaxFreq,numfreq);
Spectrum=zeros(numfreq,n);
Temp=f;
Temp=min(round((Temp/MaxFreq)*numfreq)+1,numfreq);
for k=1:m
    for u=1:n
        Spectrum(Temp(k,u),u)=Spectrum(Temp(k,u),u)+A(k,u);
    end
end
df=df*fs;
figure
clf
mesh(tt,df,Spectrum);
set(gca,'XLim',[0,N]);
xlabel('采样点数/n');
if fs==1
    ylabel('归一化频率');
else
    ylabel('频率/Hz');
end
zlabel('幅值');
title('三维联合时频图');
colormap jet;
shading interp;
view(ANGLE(1),ANGLE(2));
set(gca,'YLim',[0,fs/2]);
end
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-11 01:48 , Processed in 0.069314 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表