[問題] 有關hilbert spectrum已回收

看板MATLAB作者 (我是芒果芒果是我)時間16年前 (2009/05/18 22:08), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/1
因計劃緣故 必須寫一個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
用filtfilt將各IMF的時頻信號smooth,就有各頻率分量
05/19 19:15, 1F

05/20 10:40, , 2F
謝謝你^^~~雖然不太明白但是我試試看 感謝~
05/20 10:40, 2F
文章代碼(AID): #1A4Mlnbd (MATLAB)
文章代碼(AID): #1A4Mlnbd (MATLAB)