[問題] 有關hilbert spectrum已回收
因計劃緣故 必須寫一個Hilbert-Huang transform的程式出來做分析
而spectrum則是重點
可是我左畫出來的是一個時間只能得到一個頻率以及震幅
而其他人所繪的必須是一個時間必須要有N的振幅及頻率
請問有人會解決相關的問題嗎?? 感謝... 以下是我寫的程式 不過不包含EMD的部份
有需要的人也可以參考XD
clc
clear all
close all
t1=0:0.01:3.99;
y1=sin(2*pi*t1)*0;
t2=4:0.01:5;
y2=sin(2*pi*t2);
t3=5.01:0.01:9;
y3=sin(2*pi*t3)*0;
t=[t1 t2 t3];
y=[y1 y2 y3];
dt=0.01; % sampling rate
fs=1/dt; % sampling frequency
df=fs/(length(t)-1);
%---------------------以上為訊號
z=hilbert(y);
theta=unwrap(angle(z)); % 相位角
% theta=unwrap(atheta); % 相位角+2*pi
%---------------------角頻率
for i=1:length(t)-2
w(i)=(theta(2+i)-theta(i))/(t(2+i)-t(i));
end
ff=w./(2*pi);
%--------------------hilbert spectrum
h=zeros(length(t),length(t));
hf=(fix(ff./df)+1);
for u=1:length(t)-2
h(hf(u),u+1)=abs(z(u+1));
end
cf=0:df:fs;
contour(t,cf,h,50);
axis([3,6,0,2]);
xlabel('time(s)');
ylabel('frequency(Hz)')
title('Hilbert spectrum');
請會的人幫幫忙>.<" 第一次在這PO文若有不妥會自D的 謝謝大家QQ"
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.129.41.119
→
05/19 19:15, , 1F
05/19 19:15, 1F
→
05/20 10:40, , 2F
05/20 10:40, 2F
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章