資源簡介
具有更好的時頻分辨率,是分析非平穩信號的重要工具,

代碼片段和文件信息
function?[tfrtf]?=?tfrwv(xtNtrace)
if?(nargin?==?0)
?error(‘At?least?one?parameter?required‘);
end;
[xrowxcol]?=?size(x);
?
if?(nargin?==?1)
?t=1:xrow;?N=xrow?;?trace=0;
elseif?(nargin?==?2)
?N=xrow?;?trace=0;
elseif?(nargin?==?3)
?trace?=?0;
end;
?
if?(N<0)
?error(‘N?must?be?greater?than?zero‘);
end;
?
[trowtcol]?=?size(t);
if?(xcol==0)||(xcol>2)
?error(‘X?must?have?one?or?two?columns‘);
elseif?(trow~=1)
?error(‘T?must?only?have?one?row‘);?
elseif?(2^nextpow2(N)~=N)
?fprintf(‘For?a?faster?computation?N?should?be?a?power?of?two\n‘);
end;?
?
tfr=?zeros?(Ntcol);??
if?trace?disp(‘Wigner-Ville?distribution‘);?end;
for?icol=1:tcol
?ti=?t(icol);?taumax=min([ti-1xrow-tiround(N/2)-1]);
?tau=-taumax:taumax;?indices=?rem(N+tauN)+1;
?tfr(indicesicol)?=?x(ti+tau1)?.*?conj(x(ti-tauxcol));
?tau=round(N/2);?
?if?(ti<=xrow-tau)&&(ti>=tau+1)
??tfr(tau+1icol)?=?0.5?*?(x(ti+tau1)?*?conj(x(ti-tauxcol))??+?...
???????????????????????????x(ti-tau1)?*?conj(x(ti+tauxcol)))?;
?end;
?if?trace?disprog(icoltcol10);?end;
end;?
tfr=?fft(tfr);?
if?(xcol==1)?tfr=real(tfr);?end?;
?
if?(nargout==0)
?tfrqview(tfrxt‘tfrwv‘);
elseif?(nargout==3)
?f=(0.5*(0:N-1)/N)‘;
end;
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1241??2013-07-22?14:27??tfrwv.m
-----------?---------??----------?-----??----
?????????????????1241????????????????????1
評論
共有 條評論