Butterworth time-frequency distribution.
[TFR,T,F]=tfrbud(X) [TFR,T,F]=tfrbud(X,T) [TFR,T,F]=tfrbud(X,T,N) [TFR,T,F]=tfrbud(X,T,N,G) [TFR,T,F]=tfrbud(X,T,N,G,H) [TFR,T,F]=tfrbud(X,T,N,G,H,SIGMA) [TFR,T,F]=tfrbud(X,T,N,G,H,SIGMA,TRACE) [TFR,T,F]=tfrbud(...,'plot')
A Nx elements vector (auto-BUD) or a Nx by 2 array signal (cross-BUD).
a real Nt vector with elements in [1 Nx] : time instant(s) (default: 1:NX).
a positive integer: the number of frequency bins (default:NX). For faster computation N should be a power of 2.
a real vector with odd length: the time smoothing window, (default :Hamming(N/10)).
It will be normalized such as the middle point equals 1 to preserve signal energy.
real vector with odd length: the frequency smoothing window,(default: Hamming(N/4)).
It will be normalized such as the middle point equals 1 to preserve signal energy.
a positive scalar: the kernel width (default : 1).
A boolean (or a real scalar) if true (or nonzero),the progression of the algorithm is shown (default : %f).
if one input parameter is 'plot', tfrqview is called and the time-frequency representation will be plotted.
A real N by Nt array: the time-frequency representation.
A N vector of normalized frequencies.
tfrbud computes the Butterworth distribution of a discrete-time signal X, or the cross Butterworth representation between two signals.
Interactive use
N=128; sig=fmlin(N,0.05,0.3)+fmlin(N,0.15,0.4); g=window("kr",9,3*%pi); h=window("kr",27,3*%pi); t=1:N; tfrbud(sig,t,N,g,h,3.6,1,'plot'); | ![]() | ![]() |
Non interactive use
N=128; sig=fmlin(N,0.05,0.3)+fmlin(N,0.15,0.4); g=window("kr",9,3*%pi); h=window("kr",27,3*%pi); t=1:N; [TFR,T,F]=tfrbud(sig,t,N,g,h,3.6); clf;gcf().color_map= jetcolormap(128); grayplot(T,F,TFR'); | ![]() | ![]() |